jnz reti ; пока d<>0, цикл продолжается, но если кнопка 4 нажата в это время
;
;
dvigai: call sec ; вызов подпрограммы задержки на 1 секунду
mvi a,0ch
out porta ; вывод на индикацию левого положения дворника
call sec
mvi a,60h ; вывод на индикацию правого положения дворника
out porta
dcr d ; уменьшение счетчика количества движений
jnz reti ; пока d<>0, цикл продолжается
;
;
jmp set ; бесконечное выполнение алгоритма "включение со скоростью 30 движений в минуту"
;
;!!!----------------------------------Мойка---------------------------------!!!
;
moika: mov a,d ; 60h в аккумулятор
xri 01 ; мойка
mov d,a ; теперь с точкой или без нее в d
out porta ; выводим
jmp tuki ; на начало
;
;!!!---------------------подпрограмма задержки на 1 секунды----------------!!!
;
sec: lxi b,time ; 10 тактов - Запись в пару b значения, определяющего задержку на 1 сек.
ani 0 ; пустая команда на 7 тактов
umen: in portc ; 10 тактов - опрос клавиатуры.
mov e,a ; 5 тактов - сохранение кода нажатой клавиши в аккумуляторе
dcx b ; 5 тактов - декрементирование пары b
mov a,c ; 5 тактов - Запись в аккумулятор младшего регистра для сравнения со старшим
ora b ; 4 такта - Сравнение с=b=0?
jz exit ; 10 тактов - Если да, то конец задержки
mov a,e ; 5 тактов - Если нет,то восстановление кода, полученного с клавиатуры
ani kodkl0 ; 7 тактов - нажато 0?
jz umen ; 10 тактов - если нет, то выполнение подпрограммы задержки в обычном режиме
;
mvi c,povdr ; *7 тактов - загрузка количества повторов при защите от дребезга
povt3: in portc ; *10 тактов - опрос клавиатуры
ani kodkl0 ; *7 тактов - нажата клавиша 0?
jz umen ; *10 тактов - ничего не нажато
; защита от дребезга при нажатии
dcr c ; *10 тактов - да, нажато, уменьшение счетчика повторов при защите от дребезга
jnz povt3 ; *10 тактов - дребезг еще не окончен
; дребезг при нажатии окончен
; сохранение кода нажатой клавиши
in portc ; *10 тактов - чтение кода нажатой клавиши
mov e,a ; *5 тактов - сохранение аккумулятора
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.