00B0 D3 F9 OUT F9H
00B2 23 M8: INX H ;Чтение константы а1
00B3 46 MOV B,M ;
00B4 3E 02 MVI A,02h ;Коммутация V3
00B6 D3 EE OUT EEh ;
00B8 3E 07 MVI A,00000111b ;Запуск АЦП
00BA D3 EF OUT EFh ;
00BC DB EE M9: IN EEh ;Ожидание готовности АЦП
00BE 07 RLC ;
00BF D2 BC 00 JNC M9 ;
00C2 3E 06 MVI A,00000110b ;Снятие сигнала запуска
00C4 D3 EF OUT EFh ;
00C6 DB EC IN ECh ;Чтение N3
00C8 4F MOV C,A ;
00C9 CD 40 01 CALL 0140h ;a1 * N3
00CC 3A FF 03 LDA 03FFh ;Чтение из ПЗУ a0
00CF 84 ADD H ;Y4 = a0 + a1 * N3
00D0 32 01 04 STA 0401h ;
00D3 D3 ED OUT EDh ;Вывод Y4
00D5 C3 3D 00 JMP M1
;
;Обработка прерывания INT0
;Отказ источника питания
00D8 CD 32 01 CALL WAIT ;Вывод признака прерывания
00DB DB FD IN FDh ;Проверка готовности передатчика
00DD 1F RAR ;TxRDY=1 ?
00DE D2 E5 00 JNC M10 ;
00E1 3E 21 MVI A,21h ;Посылка символа "!"
00E3 D3 FC OUT FCh ;в канал эвм
00E5 3E 78 M10: MVI A,78h ;Вывод сигнала Y5
00E7 D3 F9 OUT F9h ;
00E9 06 0A MVI B,0Ah ;Задержка 100 мкс
00EB 05 M11: DCR B ;
00EC C2 EB 00 JNZ M11 ;
00EF 3E 5E MVI A,01011110b ;Снятие аварийного сигнала
00F1 D3 FB OUT FBh ;путем переинициализации таймера
00F3 76 HLT ;Останов
;
;Обработка прерывания INT1
;Сигнал аварийного датчика
00F4 F3 DI ;Запрет прерываний
00F5 CD 32 01 CALL WAIT ;Вывод признака прерывания
00F8 3E 24 MVI A,24h ;Запуск аварийной сигнализации
00FA D3 FA OUT FAh ;2 Гц
00FC 3E F4 MVI A,F4h ;
00FE D3 FA OUT FAh ;
0100 FB EI ;
0101 76 HLT ;Останов
;
;Обработка прерывания INT2
;От терминала внешней ЭВМ
0102 CD 32 01 CALL WAIT ;Вывод признака прерывания
0105 E5 PUSH H ;Сохранение содержимого всех
0106 C5 PUSH B ;регистров и слова состояния
0107 D5 PUSH D ;в стеке
0108 F5 PUSH PSW ;
0109 DB FC IN FCh ;Определение типа запрашиваемой
010B E6 1F ANI 1Fh ;информации:
010D FE 41 CPI 41h ;Символ А?
010F C2 1C 01 JNZ M12 ;
0112 3A 00 04 LDA 0400h ;Чтение и вывод Y1
0115 E6 01 ANI 01h ;
0117 D3 FC OUT FCh ;
0119 C3 26 01 JMP M13 ;
011C FE 44 M12: CPI 44h ;Символ D?
011E C2 26 01 JNZ M13 ;
0121 3A 01 04 LDA 0401h ;Вывод Y4
0124 D3 FC OUT FCh ;
0126 3E 10 M13: MVI A,10h ;Обнуление разряда регистра
0128 D3 F0 OUT F0h ;обслуженных запросов ПКП
012A F1 POP PSW ;восстановление значений
012B D1 POP D ;всех регистров и слова
012C C1 POP B ;состояния
012D E1 POP H ;
012E CD 37 01 CALL UNWAIT ;Снятие признака прерывания
0131 C9 RET ;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.