Устройство управления системой очистки лобового стекла автомобиля, страница 7

;флаг С

            jc         vstart               ; 4.19 нажато «выключено» переход на ожидание включения одного

;из режимов

            rrc                               ; двойной сдвиг А вправо, перенос третьего разряда

;содержимого А во флаг С

            rrc

            jc         twosec             ; 4.20 нажато «включение со скоростью 30 движений в минуту» -

                                               ;переход на соответствующую часть программы

; нажато «включение со скоростью 1 движение в минуту»

            jmp      minute             ; переход на соответствующую часть программы

zader2:            pop      h                      ; 4.12 ++загрузка из стека оставшегося времени задержки

            dcx      h                      ; 4.13++декремент оставшегося времени задержки

            mov     a,h                   ; ++пересылка регистра в аккумулятор

            ora       l                       ; 4.14 ++логическое ИЛИ аккумулятора и регистра

            jnz       zader1             ; 4.15++в паре h 0 ?, нет переход на продолжение отработки

;временной задержки

; да, временная задержка отработана

            mvi      c,3                   ; 4.16 цикл и команды, необходимые для корректировки

;постоянной времени

timkil:  dcr       c

            jnz       timkil

            ret                               ; + выход из подпрограммы

;*******************************

klav:    db        0                      ; ячейка памяти, в которой хранится код нажатой клавиши

rejim:   db        0                      ; ячейка памяти, в которой хранится код включённого режима

zadmas:db       0                      ; ячейка памяти, в которой хранится маска накладываемая на

                                               ;нажимающиеся клавиши, зависящая от включённого режима

            end

     Кросс-ассемблер 80/85 ### Файл листинга kurs.lst

Входной файл   > kurs.asm

Объектный файл > kurs.obj

1 проход

2 проход

  1                     ; курсовая работа

  2                     ; программа управления системой очистки лобового стекла автомобиля

  3                     ; выполняемые функции:

  4                     ;                     нажатие на клавишу *0*- выключено

  5                     ;                                                        *2*- включение со скоростью 30 движений в минуту      

  6                     ;                                                                    *3*- включение со скоростью 1 движение в минуту.

  7                     ; исходное положение щёток очистки - справа.

  8                     ; при выключении щётки возвращаются в исходное состояние.

  9                     ; при включении режима 1 движение в минуту движение совершается в начале минутного ;цикла по схеме:

 10                     ; при включении одного из режимов на повторное нажатие соответствующей этому ;режиму кнопки программ

 11                     ; rejim - ячейка памяти, в которой хранится код включённого режима: 1(00000001) - 30 движений в мину

 12                     ; распределение регистров микропроцессора:

 13                     ; B- содержит счетчик времени оставшегося до след перемещения, С- содержит ;постоянную защиты от дре