
Сообщение от
Titus
Заморозка происходит в фазе CLK_KBD_0D, когда линии X неактивны. Поэтому на них ничего не останется.
Увы, на практике это не наблюдается. Набил в ОЗУ ПП маленькую программку, которая при установке бита готовности клавиатуры прочитывает сначала с регистра 0177704 состояние линий Y, а потом с регистра 0177702 код клавиши. Так вот, при "замороженном" счетчике активна линия Y нажатой клавиши.
Программка набивается с адреса 024000, результаты пишет, начиная с адреса 025000. Запускать с адреса 024000 нажатием пробела (особенность пультового отладчика ПП). Выход - отжатие СТОП, если начнется автоповтор, то ещё раз нажать СТОП.
Код:
MTPS #200 24000: 106427 000200
MOV #25000,R3 24004: 012703 025000
1$: TSTB @#177700 24010: 105737 177700
BPL 1$ 24014: 100375
MOV @#177704,R0 24016: 013700 177704
MOV @#177702,R1 24022: 013701 177702
CMP R1,#204 24026: 020127 000204
BEQ 2$ 24032: 001405
TSTB R1 24034: 105701
BMI 1$ 24036: 100764
MOV R0,(R3)+ 24040: 010023
MOV R1,(R3)+ 24042: 010123
BR 1$ 24044: 000761
2$: HALT 24046: 000000