Цитата Сообщение от 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