Световая реклама (курсовая по ассемблеру), страница 5

;защита от дребезга при отпускании клавиши

              DCR        C          ;уменьшаем счетчик повторов для защ. от дребезга

              JNZ        QWE        ;дребезг еще не окончен

;проверка нажата клавиша пуск или смена режима

              LXI        H,KLAV     ;занесение в пару h адреса ячейки памяти

              MOV        A,M        ;пересылка кода нажатой клавиши из ячейки памяти

              CPI        1          ;число 1 соответствует нажатой клавише “0”

              JZ         PUSK       ;нажат пуск

                                    ;нажата клавиша установки режима

              MOV        A,M        ;пересылка кода нажатой клавиши из ячейки памяти

REG:          CPI        8          ;число 8 соответствует нажатой клавише “3”

              JZ         NADO       ;переходим к выполнению режима 3

;выполнение режима 4

DRNADO:       LXI        H,REJIM    ;установка режима 4

              MVI        M,0       

              MVI        A,32       ;пересылка в аккумулятор данных

              OUT        PORTA      ;вывод на индикацию

              MVI        A,8        ;пересылка в аккумулятор данных

              OUT        PORTB      ;вывод на индикацию

              CALL       ZADER      ;вызов подпрограммы задержки

              MVI        A,64

              OUT        PORTA

              MVI        A,4

              OUT        PORTB

              CALL       ZADER

              MVI        A,128

              OUT        PORTA

              MVI        A,128

              OUT        PORTB

              CALL       ZADER

              MVI        A,4

              OUT        PORTA

              MVI        A,64

              OUT        PORTB

              CALL       ZADER

              MVI        A,8

              OUT        PORTA

              MVI        A,32 

              OUT        PORTB

              CALL       ZADER

              MVI        A,16

              OUT        PORTA

              MVI        A,16

              OUT        PORTB

              CALL       ZADER

ASD:          IN         PORTC      ;опрос клавиатуры

              ANI        KODKL1     ;проверка нажата остановка или установка режима

              JZ         DRNADO     ;нажато что-то др., продолжаем выполнять режим 4

;нажата остановка или установка режима, выполняем защиту от дребезга                                         

              MVI        C,PVSD     ;загрузка кол. повторов при защите от дребезга

              JMP        ZXC        ;переходим к защите от дребезга

;выполнение режима 3

NADO:         LXI        H,REJIM    ;установка режима 3

              MVI        M,1       

              MVI        A,32       ;пересылка в аккумулятор данных

              OUT        PORTA      ;вывод на индикацию

              MVI        A,4        ;пересылка в аккумулятор данных

              OUT        PORTB      ;вывод на индикацию

              CALL       ZADER      ;вызов подпрограммы задержки

              MVI        A,64

              OUT        PORTA

              MVI        A,8

              OUT        PORTB

              CALL       ZADER

              MVI        A,128

              OUT        PORTA

              MVI        A,16

              OUT        PORTB

              CALL       ZADER

              MVI        A,4

              OUT        PORTA

              MVI        A,32

              OUT        PORTB

              CALL       ZADER