Программа таймера реального времени для УМПК80, страница 2

0106   0870 E6 0F                        ANI    0FH

0107   0872 C6 0F                        ADI    (SEG_CODE&255)

0108   0874 55                           MOV    D,L

0109   0875 6F                           MOV    L,A

0110   0876 7E                           MOV    A,M

0111   0877 02                           STAX   B

0112   0878 6A                           MOV    L,D

0113   0879 0B                           DCX    B

0114   087A            

0115   087A 7E                           MOV    A,M

0116   087B E6 F0                        ANI    0F0H

0117   087D 0F                           RRC

0118   087E 0F                           RRC

0119   087F 0F                           RRC

0120   0880 0F                           RRC

0121   0881 C6 0F                        ADI    (SEG_CODE&255)

0122   0883 55                           MOV    D,L

0123   0884 6F                           MOV    L,A

0124   0885 7E                           MOV    A,M

0125   0886 02                           STAX   B

0126   0887 6A                           MOV    L,D

0127   0888 23                           INX    H

0128   0889 0B                           DCX    B

0129   088A 1D                           DCR    E

0130   088B C2 6F 08                     JNZ    TO7SEG_L1

0131   088E             ;УСТАНАВЛИВАЕМ ЗАПЯТУЮ

0132   088E 3A 06 0B                     LDA    IND_BUF+5

0133   0891 C6 80                        ADI    80H

0134   0893 32 06 0B                     STA    IND_BUF+5

0135   0896            

0136   0896 D1                           POP    D

0137   0897 C9                           RET

0138   0898            

0139   0898             ;=========================================

0140   0898             ;ПРОГРАММА СКАНИРОВАНИЯ КЛАВИАТУРЫ

0141   0898             ;ИСПОЛЬЗУЕТ  РЕГИСТРЫ (H,L)

0142   0898             ;УСТАНАВЛИВАЕТ ФЛАГ И ВЫЧИСЛЯЕТ СМЕЩЕНИЕ В БУФЕРЕ

0143   0898             ;=========================================

0144   0898            

0145   0898 21 1B 0B    KEYB:             LXI   H,SHIFT   ;ЗАНОСИМ СМЕЩЕНИЕ

0146   089B 3E F7                         MVI   A,0F7H

0147   089D D3 28                         OUT   28H

0148   089F DB 18                         IN    18H

0149   08A1 1F                            RAR

0150   08A2 DA A7 08                      JC    M1

0151   08A5 36 01                         MVI   M,1

0152   08A7            

0153   08A7             M1:

0154   08A7 1F                            RAR

0155   08A8 DA AD 08                      JC    M2

0156   08AB 36 02                         MVI   M,2

0157   08AD            

0158   08AD 1F          M2:               RAR

0159   08AE DA B3 08                      JC    M3

0160   08B1 36 03                         MVI   M,3

0161   08B3            

0162   08B3 3E EF       M3:               MVI   A,0EFH

0163   08B5 D3 28                         OUT   28H

0164   08B7 DB 18                         IN    18H

0165   08B9 1F                            RAR

0166   08BA DA BF 08                      JC    M4

0167   08BD 36 04                         MVI   M,4

0168   08BF            

0169   08BF             M4: