|
Главная -> Появление первого микропроцессора 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 [85] 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 Инициализация УС Ввод символа с телетайпа Вьшод символа на телетайп Перекодировка МТК-2 - КОИ-7 Перекодировка КОИ-7 - МТК-2 Рис. 6.4. Структура драйвера телетайпа принимаемого и передаваемого регистра. Драйвер обмена с телетайпом состоит из пяти подпрограмм и имеет структуру, показанную на рис. 6.4. Как вводимые, так и выводимые симюлы подлежат перекодировке, которая выполняется соответствующими программами. Перекодировку символов из системы МТК-2 в систему КОИ-7 выполняет программа MTKKOI: MTKKOl! ! П0ДПР0ГРА№1А ПЕРЕКОДИРОВКИ СИМВОЛОВ ИЗ КОДА МТК~2 В ; код КОИ-7. } ВХОДНЫЕ ПАРАМЕТРЫ: (С)-кол йТК-2, <Г),Е>-АДРЕС ТЕКУЩЕГО ! РЕГИСТРА КОДА НТК-2. ! ВЫХОДНЫЕ ПАРАМЕТРЫ: <А)- КОД КОИ-7. <А) = OFFH. ЕСЛИ г несу1цествувшии код МТК-2, (А) = о, ЕСЛИ ПЕРЕКОДИРУЕМЫЙ ! СИМВОЛ-КОЛ РЕГИСТРА МТК-2. ; ПРОВЕРКА КОДА ТЕКУЩЕГО РЕГИСТРА
! ВОЗВРАТ ПРИ ОШИБКЕ КОДА РЕГИСТРА ИЛИ ПРИ ОШАРУХЕНИИ ; СИМВОЛА,НЕ ПРИНАДЛЕЖАЩЕГО КОДУ МТК-2 F638 3EFF ПЕР15: MVI A.OFFH Fi3A С9 RET ; ПРОВЕРКА ПРИНАДЛЕЖНОСТИ КОДА СИМВОЛА К НТК-2 F63B 79 nEPli: MOV A.C Fi3C FE20 CPI 32 F63E D23BFi JNC ПЕР15 ; ЕСЛИ HE ПРИНАДЛЕЖИТ j ВЫБОР АНАЛОГА ИЗ ТАБЛИИЫ F641 0600 MVI В.О F643 09 ПАВ В F644 7Е MOV А.М J ПР(ЗВЕРКА ha КОД РЕГИСТРА FM5 FEIB CPI 27 Fi47 CA52F6 JZ ПЕР17 S ЕСЛИ КОЛ "ЦИФ" F64A FEIF CPI 31 F64C CA52Fi JZ ПЕР17 t ЕСЛИ КОД "ДАТ" F64F FEOO CPI 00 F651 CO RNZ ; ЕСЛИ HE КОД "РУС" ; ВОЗВРАТт ЕСЛИ ПЕРЕКОДИРУЕМЫЙ СИМВОЛ ЯВЛЯЕТСЯ ; КОДОМ РЕГИСТРА МТК-2 F652 12 ИЕР17В STAX В F653 97 SUB А F654 С9 RET Вторым входным параметром программы является адрес ячейки памяти, в которой хранится код последнего принятого регистра. В начале программы по значению этого кода устанавливается в регистровой паре (Н, L) адрес соответствующей таблицы перекодировки (если задается некорректное исходное значение кода регистра или кода перекодируемого символа, то выполняется возврат из программы с установкой выходного параметра (А) = = OFFH). После этого значение кода перекодируемого символа добавляется командой DAD В к адресу начала таблицы в регистровой паре (Н, L). Полученная сумма является адресом ячейки памяти, где хранится код КОИ-7 перекодируемого символа. Если выбранное из таблицы значение кода является кодом управляющего регистра, оно записывается по адресу текущего регистра (второй входной параметр), и вьшолняется возврат из программы со значением выходного параметра (А) = 00. В противном случае в выходной параметр записывается код КОИ-7 перекодируемого символа. При перекодировке из системы КОИ-7 в систему МТК-2 для выбора таблицы перекодировки используется следующее правило: коды символов КОИ-7, значения которых лежат в диапазоне 41Н - 5АН, принадлежат таблице латинского регистра МТК-2, коды в диапазоне 61Н - 4АН - русского, коды в диапазоне 20Н - 39Н - цифрового. Исключение составляют управляющие символы ПС, ВК и пробела, которые присутствуют во всех таблицах, а также особые символы «Ю», «Э», «Ш», «Щ». На рис. 6.3 элементы, содержащие эти символы, отмечены звездочкой. Перекодировку из системы КОИ-7 в систему МТК-2 выполняет программа KOIMTK: KOIMTK; ! ПОДПРОГРАММА ПЕРЕКОДИРОВК-И СИМВОЛОВ ИЗ КОДА КОИ-7 В ; КОД КТК~2. t ВХОДНЬЕ nfiPAHETPU: (С)-КОД КОИ-7» (В,Е>-ЙДРЕС УСТАНАВ- ; ДИВАЕИОГО РЕГИСТРА КОЛА МТК-2. ; ВИХОДИЫЕ ПАРАНЕТРЫ! (А)- КОП НТК-2» (A)=OpFH» ЕСЛИ НЕ- ; СУЩЕСТВУЮЩИЙ код.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 [85] 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 0.012 |
|