Радио-86РК/Радио 06-89/Контроллер последовательного интерфейса/Таблица 5
Данный материал защищён авторскими правами!
Использование материала заявлено как добросовестное, исключительно для образовательных некоммерческих целей. Автор: А. ДОЛГИЙ |
;*** ПОДПРОГРАММА ПЕРЕДАЧИ *** ;ПЕРЕДАВАЕМЫЙ СИМВОЛ (В КОДЕ КОИ-7> ;ЗАДАЕТСЯ В РЕГИСТРЕ С. ВМЕСТО СИМВОЛОВ, ;ОТСУТСТВУЮЩИХ В МТК-2, ПЕРЕДАЕТСЯ ТОЧКА. TTYOUT: PUSH PSW PUSH Н PUSH В MOV А, С ANI 7FH MOV С, А CPI 0AH JZ LF ;ПЕРЕВОД СТРОКИ CPI 00Н JZ CR ;ВОЗВРАТ КАРЕТКИ CPI '.' JZ BL ;ПРОБЕЛ ; СИМВОЛЫ С КОДОМ МЕНЫЕ 20Н ;НЕ ПЕРЕДАЮТСЯ JM RTRN ;ПЕРЕВОДИМ КОИ-7 В МТК-2 LXI H, ASCITC-20H MVI В,0 DAD В ;ВЫДЕЛЯЕМ ПРИЗНАК РЕГИСТРА MVI A, 0E0H ANA M MOV В, А ;ЕСЛИ РЕГИСТР НЕ СОВПАДАЕТ С УСТАНОВЛЕННЫМ, ;ПЕРЕДАЕМ КОД СМЕНЫ РЕГИСТРА LDA REG CMP B JZ XMT MOV А, В STA REG RLC JC SETFIG RLC JC SETRUS MVI C, 1FH SETREG: CALL TX ;ПЕРЕДАЕМ СИМВОЛ В MTK-2 ХМТ: MOV С, М ХMТ1: CALL TX RTRN: POP В POP Н POP PSW RET ;ПЕРЕВОД СТРОКИ LF: MVI С, 2 JMP XMT1 ;ПРОБЕЛ BL: MVI С, 4 JMP XMT1 ;ВОЗВРАТ КАРЕТКИ CR: MVI С,8 JMP XMT1 ;ЦИФРОВОЙ РЕГИСТР SETFIG: MVI C, 1BH JMP SETREG ;РУССКИЙ РЕГИСТР SETRUS: MVI C, 0 JMP SETREG ;*** ПОДПРОГРАММА ПРИЕМА *** ;ЖДЕМ ОЧЕРЕДНОЙ СИМВОЛ TTYIN: CALL RX JC TTYIN ANI 1FH ;ОБРАБАТЫВАЕМ ВК, ПРОБЕЛ И ПС CPI 2 JNZ TI1 MVI А, 0АН RET TI1: CPI 4 JNZ TI2 MVI А, 20H RET TI2: CPI 8 JNZ TI3 MVI А, 00Н RET ;ОБРАЕАТЫВАЕН КОДЫ СМЕНЫ РЕГИСТРОВ TI3: PUSH Н LXI H, REG CPI 1FH JNZ TI4 MVI M, 20H ;ЛАТИНСКИЙ TI4: CPI 0 JNZ TI5 MVI Н, 40Н ;РУССКИЙ TI5: CPI 1ВН JNZ TI6 MVI Н, 80Н ;ЦИФРА TI6: ANA M ;ОБРАБАТЫВАЕМ КОД ТОЧКИ CPI 9CH JNZ TI7 MVI А, '.' POP Н RET ;ПЕРЕВОДИМ MTK-2 8 КОИ-7 TI7: PUSH В MVI C, 5FH LXI H, ASCITC TI8: CMP М JZ TI9 INX Н DCR С JNZ TI8 TI9: MOV А,С XRI 7FH POP B POP H RET ;** ТАБЛИЦА ПЕРЕВОДА КОИ-7 В МТК-2 *** ASCITC: DB 84H,9CH,85H,9CH,9CH,9CH,9CH,85H DB 8FН,92Н,89Н,91Н,82Н,83Н,9СН,9DН DB 96H,97H,93H,81H,8AH,90H,95H,87H DB 86H,98H,8EH,9CH,9CH,9EH,9CH,99H DB 9CH,23H,39H,2EH,29H,21H,2DH,ЗАH DB 34H,26H,2BH,2FH,32H,3CH,2CH,38H DB 36H,37H,2AH,25H,30H,27H,3EH,33H DB 30Н,35Н,31Н,9CH,9CH,9CH,9CH,9CH DB 8BH,43H,59H,4EH,49H,41H,40H,5AH DB 54H,46H,4BH,4FH,52H,SCH,4CH,58H DB 56H,57H,4AH,45H,50H,47H,5EH,53H DB 50H,55H,51H,9AH,80H,94H,8AH,9CH END