Разработка микропроцессорной централизации малой станции. Разработка структурной схемы МПС. Блок центрального процессора, страница 28

0AF9  CA 11 0B             JZ    EXIT_V   ;если есть - не выключаться

0AFC  7D                   MOV   A,L      ;

0AFD  FE 00                CPI   00H      ;

0AFF  C2 40 05             JNZ   MVV1     ;

0B02  3E FF                MVI   A,FFH    ;

0B04  D3 C4                OUT   PORT1    ;

0B06  D3 C5                OUT   PORT2    ;

0B08  3E 01                MVI   A,01H    ;

0B0A  D3 C7                OUT   PPI1MS   ; TST.RD=1

0B0C  3E FF                MVI   A,FFH    ;

0B0E  32 00 2B             STA   2B00H    ;

0B11  C3 4F 02   EXIT_V:   JMP   BASE     ;

;следит за процессом установки маршрутов

0B14  21 00 20   TEST_M:    LXI  H,2000H  ;

0B17  7E         TMM3:      MOV  A,M      ;

0B18  FE 02                 CPI  02H      ; "устанавливается"?

0B1A  CA 26 0B              JZ   TST_MD   ; нашли

0B1D  23                    INX  H        ;

0B1E  57                    MOV  D,A      ;

0B1F  3D                    DCR  A        ;

0B20  C2 17 0B              JNZ  TMM3     ; цикл

0B23  C3 51 0B              JMP  EXIT_TM  ; выход

0B26  3A 53 20   TST_MD:    LDA  OUT_MODE ;

0B29  FE 04                 CPI  04H      ; "установлен"?

0B2B  C2 51 0B              JNZ  EXIT_TM  ; еще нет - выход

0B2E  3E 00                 MVI  A,00H    ;

0B30  32 53 20              STA  OUT_MODE ; принято!

0B33  36 01                 MVI  M,01H    ;

0B35  3E 0E                 MVI  A,0EH    ;

0B37  D3 E7                 OUT  PPI3MS   ; выкл лампочка "идет установка"

0B39  3A 40 20              LDA  MDM_OUTB1;

0B3C  E6 0F                 ANI  0FH      ; обновляем инфу для ПСА

0B3E  FE 00                 CPI  00H      ;

0B40  C2 46 0B              JNZ  2BT      ;

0B43  C3 4D 0B              JMP  STABT    ;

0B46  3A 40 20   2BT:       LDA  MDM_OUTB1;если это 2 маршрут - сдигаем инфу в байте для ПСА

0B49  07                    RLC           ;

0B4A  07                    RLC           ;

0B4B  07                    RLC           ;

0B4C  07                    RLC           ;

0B4D  85         STABT:     ADD  L        ;

0B4E  32 40 20              STA  MDM_OUTB1;

0B51  C9         EXIT_TM:   RET           ; выход

0B52  DB B1      MDMOUT:   IN    PCIC     ; читаем слово состояния ПСА

0B54  1F                   RAR            ; ждем готовности передатчика

0B55  D2 52 0B             JNC   MDMOUT   ;

0B58  3A 40 20             LDA   MDM_OUTB1 ;

0B5B  D3 B0                OUT   PCID     ; посылаем первый байт

0B5D  DB B1      TXRD3:    IN    PCIC     ; читаем слово состояния ПСА

0B5F  1F                   RAR            ; ждем готовности передатчика

0B60  D2 52 0B             JNC   MDMOUT   ;

0B63  3A 41 20             LDA   MDM_OUTB2 ;

0B66  D3 B0                OUT   PCID     ; посылаем второй байт

0B68  C9                   RET            ; возврат


0B69  3E 02      TESTER:   MVI   A,02H    ;

0B6B  32 50 20             STA   ERR_CNT  ; счетчик сбоев

0B6E  26 00                MVI   H,TEST_TBL; таблица тестовых значений

0B70  7E                   MOV   A,M      ;

0B71  D3 C4                OUT   PORT1    ;выставляем на контрольные регистры

0B73  D3 C5                OUT   PORT2    ;

0B75  3E 01                MVI   A,01H    ;

0B77  D3 C7                OUT   PPI1MS   ; TST.RD=1

0B79  23         CYCLE:    INX   H        ;

0B7A  7D                   MOV   A,L      ;

0B7B  FE 09                CPI   09H      ;

0B7D  CA 88 0B             JZ    END1     ; выдаем на линии все тестовые значения

0B80  7E                   MOV   A,M      ;

0B81  D3 C4                OUT   PORT1    ;

0B83  D3 C5                OUT   PORT2    ;

0B85  C3 79 0B             JMP   CYCLE    ;

0B88  3E 00      END1:     MVI   A,00H    ;

0B8A  D3 C7                OUT   PPI1MS   ; TST.RD=0

0B8C  C9                   RET            ; возврат

Lines                 :  1552

Size compiling code   :  2724

Size all code         :  2957

CRC add               :  8E3C

CRC xor               :    DA