112 0894 21 C5 08 lxi h,zadmas ; занесение в пару h адреса ячейки памяти, в которой хранится ;маска
113 0897 0E FE zader4: mvi c,posdr ; защита от дребезга при отпускании клавиши
114 0899 DB 82 zader5: in portc
115 089B A6 ana m
116 089C C2 97 08 jnz zader4
117 089F 0D dcr c
118 08A0 C2 99 08 jnz zader5
119 08A3 E1 pop h ; двойная коррекция указателя стека перед экстренным выходом из ;подпрограммы, т.к. было сох
120 08A4 E1 pop h
121 08A5 21 C3 08 lxi h,klav ; занесение в пару h адреса ячейки памяти в которой был ;сохранён код клавиши
122 08A8 7E mov a,m ; перемещение в А
123 08A9 0F rrc ; сдвиг А вправо, перенос первого разряда содержимого А во ;флаг С
124 08AA DA 07 08 jc vstart ; нажато "выключено" переход на ожидание включения одного ;из режимов
125 08AD 0F rrc ; двойной сдвиг А вправо, перенос третьего разряда ;содержимого А во флаг С
126 08AE 0F rrc
127 08AF DA 3F 08 jc twosec ; нажато "включение со скоростью 30 движений в минуту" - ;переход на соответствующую час
128 ; нажато "включение со скоростью 1 движение в минуту"
129 08B2 C3 35 08 jmp minute ; переход на соответствующую часть программы
130 08B5 E1 zader2: pop h ; ++загрузка из стека оставшегося времени задержки
131 08B6 2B dcx h ; ++декремент оставшегося времени задержки
132 08B7 7C mov a,h ; ++пересылка регистра в аккумулятор
133 08B8 B5 ora l ; ++логическое ИЛИ аккумулятора и регистра
134 08B9 C2 66 08 jnz zader1 ; ++в паре h 0 ?, нет переход на продолжение отработки ;временной задержки
135 ; да, временная задержка отработана
136 08BC 0E 03 mvi c,3 ; цикл и команды, необходимые для корректировки ;постоянной времени
137 08BE 0D timkil: dcr c
138 08BF C2 BE 08 jnz timkil
139 08C2 C9 ret ; + выход из подпрограммы
140 ;*******************************
141 08C3 00 klav: db 0 ; ячейка памяти, в которой хранится код нажатой клавиши
142 08C4 00 rejim: db 0 ; ячейка памяти, в которой хранится код включённого режима
143 08C5 00 zadmas: db 0 ; ячейка памяти, в которой хранится маска накладываемая на ;нажимающиеся клавиши, зави
144 end
Ассемблировано строк - 144
Всего байт - 198
Обнаружено ошибок - 0
Таблица символов
PORTA 0080 PORTC 0082
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.