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

146  08AD   0E FA       reset2:                 mvi   c,povdr               ;          *7 тактов - ожидание отпускания клавиши   

147  08AF   DB 82       povt4:                 in        portc           ;        *10 тактов - опрос клавиатуры

148  08B1   A7                       ana    a                 ;        *4 такта - ни одна клавиша не нажата ?

149  08B2   C2 AD 08                     jnz     reset2                 ;          *10 тактов - нет, что-то нажато

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

151  08B5   0D                       dcr    c                 ;        *10 тактов - ничего не нажато, уменьшение счетчика при защ. от дребезга

152  08B6   C2 AF 08                     jnz     povt4                   ;        *10 тактов - дребезг еще не окончен                                 

153  08B9   7B                       mov  a,e              ;        *5 тактов - сохранение аккумулятора

154  08BA   E1                      pop   h                 ; *если да, то коррекция стека перед аврийным выходом из подпрограммы

155  08BB   C3 07 08                      jmp   circl            ; *переход в начало программы

156  08BE   C9          exit:               ret                        ; 10 тактов - Выход из подрограммы

157                     ;

158                     ;!!!-----------------РАССЧЁТ ВРЕМЕННОЙ ЗАДЕРЖКИ----------------------!!!

159                     ;                  

160                     ;          Длительность в тактах подпрограммы задержки на 1 секунду (* не считается):

161                     ;          10+time*[10+5+5+5+4+10+5+7+10]+10=2,22*10exp6

162                     ;          20+time*61=2,22*10exp6

163                     ;          time*61=2219980

164                     ;          time=36393

165                     ;          остаток=2219980-61*36393=7 обеспечивается выполнением одной пустой команды (ani)

166                     ;------------------------------------------------------------------------------------

167                     ;

168                                end                       ; директива ассемблера, означающая конец текста программы

Ассемблировано строк - 168

Всего байт           - 191

Обнаружено ошибок    - 0

                              Таблица символов

              PORTA       0080                PORTB       0081

              PORTC       0082                PORCRL      0083

              POVDR       00FA                KODKL       0015

              KODKL0      0001                KODKL4      0010

              KODKL2      0004                TIME        8E29

              CIRCL       0807                TUKI        080D

              POVT        080F                RESET1      081D

              POVT1       081F                DALEE       0832

              SET         083A                RETI        083C

              POVT7       0845                RESET7      084C

              POVT8       084E                DVIGAI      086B

              MOIKA       0880                SEC         0889

              UMEN        088E                POVT3       089F

              RESET2      08AD                POVT4       08AF

              EXIT        08BE               

Кросс-ассемблер 80/85  ***  Объектный файл v1.obj

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

Файл листинга  > v1.lst

0800  31 00 09 3E 89 D3 83 3E 60 D3 80 16 60 0E FA DB

0810  82 E6 15 CA 0D 08 0D C2 0F 08 DB 82 5F 0E FA DB

0820  82 A7 C2 1D 08 0D C2 1F 08 7B FE 10 C2 32 08 C3

0830  80 08 FE 01 C2 3A 08 C3 07 08 16 1E DB 82 E6 10

0840  CA 6B 08 0E FA 0D C2 45 08 DB 82 5F 0E FA DB 82