Доставка цветов в Севастополе: SevCvety.ru
Главная -> Появление первого микропроцессора

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.

; ПРОВЕРКА КОДА ТЕКУЩЕГО РЕГИСТРА

FilF 1а

lbax

5 текущий регистр йтк-2

Fi20 2155F6

и.цтае

F623 FEIB

; код цифрового регистра

F625 CA3BF6

пер16

Fi2B 2175F6

и.дтае

F62B FEIF

; коя латинского регистра

Fi2D ca3bf6

HEPli

F630 21?5f6

h.ptab

Fi33 FEOO

; код русского регистра

F635 CA3BFi

пер16

! ВОЗВРАТ ПРИ ОШИБКЕ КОДА РЕГИСТРА ИЛИ ПРИ ОШАРУХЕНИИ ; СИМВОЛА,НЕ ПРИНАДЛЕЖАЩЕГО КОДУ МТК-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» ЕСЛИ НЕ-

; СУЩЕСТВУЮЩИЙ код.

F5A8 79

А»С

? ПЕРЕКОДИРУЕМЫЙ СИМВОЛ

t СЕЛЕКЦИЯ БЕЗРЕГИСТРОЕЫХ СИМВОЛОВ

F5A9 0Е02

С,02

F5AB FEOA

F5AD CADDF5

ПЕРВ

! ЕСЛИ (ПС)

F5B0 ОЕОЛ

С. 04

F5B2 FE20

» »

F5B4 CABBF5

ПЕР8-

; ЕСЛИ ПРОБЕЛ

F5B7 ОЕОО

С»08

F5B9 FEOD

F5BB CADBF5

ПЕРО

; ЕСЛИ (ЕЮ

; СЕЛЕКЦИЯ "ОСОБЫХ" СИМВОЛОВ "

FtiBE OEOB

С»11

FCO FEiO

FC2 CADAF5

ПЕР7

; ЕСЛИ "В"

F5C5 OEOB

С, 13

F5C7 FE7C

F5C9 CAEAF5

ПЕР7

? ЕСЛИ "Э~

FSCC 0E14

С»20

F5CE FE7D

,щ»

F5D0 CADAF5

ПЕР7

; ЕСЛИ "Щ"

F5D3 OEIA

С»26

F5D5 FE7B

F5tl7 C2DFF5

ПЕР9

! ЕСЛИ НЕ "Ш"

; ВОЗВРАТ ПРИ ВЫЯВЛЕНИИ БЕЗРЕГИСТРОЕЫХ

; или "ОСОБЫХ"

СИМВОЛОВ

F5DA 3E1B

ПЕР7! HVI

А» 27

; КОЛ РЕГИСТРА "ЦИФР"

F5PC 12

STAX

? УСТАНОВКА РЕГИСТРА

F5DD 79

ПЕРВ: MOV

А»С

; УСТАНОВКА СИМВОЛА

FSriE C9

F(ET

S ПРОВЕРКА ПРИНАДЛЕЖНОСТИ К ТАБЛИЦАМ ПЕРЕКОДИРОВКИ

FSriF 0600

ПЕР9! MVI

В»0

F5E1 4F

; пыЬКодируЕМыи символ

F5E2 FE41

F5E4 ri2EFFG

ПЕРЮ

J ЕСЛИ НЕ НА "ЦИФ"

F5E7 3E1B

А» 27

; кол РЕГИСТРА "ЦИФ"

F5E9 2155F6

И.ЦТАБ

; ТАБЛИЦА РЕГИСТРА "ЦИФ"

F5EC C30CF6

ПЕР13

l-bEi- FE61

HEPlOs CPI

F5F1 B2FCF5

ПЕРИ

; ЕСЛИ IE НА "ЛАТ-

F5F4 3E1F

А»31

; код РЕГИСТРА "ЛАТ" ,

F5F6 2175F6

НуЛТАБ

i ТАБЛИЦА РЕГИСТРА "ЛАТ"

FDF9 C30CF6

ПЕР 13

F5FC FE7B

ПЕР11: CPI

F5FE rG09F6

ПЕР12

; ЕСЛИ НЕ НА "РУС"

F601 3E00

А.00

i код РЕГИСТРА "РУС"

FU03 2195F6

Н.РТАБ

5 ТАБЛИЦА РЕГИСТРА "РУС"

F606 C30CF6

ПЕР13

5 ВОЗВРАТ ПРИ ОТСУТСТВИИ АНАЛОГА В КОЛЕ МТК-2

F609 3EFF

ПЕР12: MVI

АуOFFH

F60B C9

5 ВЫБОР АНА.ЧОГА ИЗ СООТВЕТСТВУЮЩЕЙ ТАБЛИЦЫ

r,-.OC 12

ПЕР135 STAX

; УСТАНОВКА РЕГИСТРА



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
Яндекс.Метрика