Доставка цветов в Севастополе: 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

FA8B CI FASC C9

FABD CD79FA FA90 OD FA91 CETVFA FA94 OA FA95 C9

FA96 0E20 FA98 C369FA

POP Ь RET

KOHC:

; ПОЛПРОГРАЖА УСТАНОВКИ НОВОЙ СТРОКИ НА КОНСОЛИ.

;КХХН№Н№НК№КХ»Н№КНН»НХККХКХККНХ»»Х»ХККККККХК«№ХХ«.«Х«%КХК

CALL

CALL

ЕЫЕС1 OEM ЕЫЕС1 OAH

ЕЫЕОЯ BK

ЕЫЕОЛ ПС

ЕЫЕПг

;кк»х«к«и«хмхк»кк«м«х«««мкк««х»х»«кххкхххккк««*«хх««х«*х i ПОЙПРОГРАЖА ЕЫЕОПА ПРОБЕЛА НА КОНСОЛЬ.

;»lK*«K«KXXX»KXX«K«XX«X«*K«KXXX*K»KKK«-)(KX«K«XKXXXXXXXX»XX

MUI с JMP ЕЫЕС

FA9E 7Е FA9C Е7 FA9D СЗ FA9E 4F FA9F CD69FA FAA2 23 FAA3 C39EFA

TBsCTi

;XX««»KXK»XXKXX»X»K««««»SXXX»XXXXK«XXXXKXX«X««XXXX««KXXX

5 ПОДПРОГРАММА ВИВОДА НА КОИСО.* ЦЕПОЧКИ СИМВОЛОВ. ; ПАРАМЕТР: (H,L) - АДРЕС НАЧАЛА ЦЕПОЧКИ СИМВОЛОВ.

;КХХ№К№Х««»«ХКХКХХХ«Х«ХКХ«ХККК%К»К№№К№К»КК«ККХХХККККК«КК

ORA RZ

CALL

А.М А

С>А

ЕЫВС Н

ТЕКСТ

ЕСЛИ ОЧЕРЕДНОИ КОЛ РАВЕН О

ВЫВОД СИМВОЛА

Программы ВЫВС и ВЫВС1 реализуют вывод на консоль одного символа. Программа ВЫВС после вывода символа на консоль драйвером ИРПР проверяет состояние флага печати. Если он установлен, вывод символа дублируется на печатающее устройство через драйвер ИРПС. Программа ВЫВС1 выводит на консоль символ, код которого расположен непосредственно за командой вызова данной программы, а возврат осуществляется по адресу, следующему за символом. Такой механизм передачи параметра позволяет вызывающей программе организовать вызов в четырех байтах вместо пяти при использовании программы ВЫВС. Ввод символа с консоли выполняется программой КВВЫ. Эта программа осуществляет также вывод введенного символа - «эхо» - на устройство отображения консоли (после нажатия клавищи). Программы КОНС и ВЫВП предназначены для вывода на консоль наиболее часто встречающихся символов. Первая выполняет переход на новую строку устройства отображения посредством выдачи ко-



дов ВК и ПС, вторая - кода пробела. Программа ТЕКСТ выводит последовательность символов, коды которых расположены в памяти по заданному адресу. Последний байт этой последовательности должен содержать признак конца текста - код ООН.

ОД оперирует только с шестадцатеричными числами. Необходимые операции по преобразованию шестнадцатеричных цифр из символьного представления в двоичное и обратно выполняют программы 2-й группы:

ПРК16:

; ПОИПРОГРАММА ПРЕОБРАЗОВАНИЯ ШЕСТНАДЦАТЕРИЧНОЙ ЦИФРЫ

J ИЗ СИМЕО.ЯЬНОГО ПРЕДСТАВЛЕНИЯ Б ДВОИЧНОЕ.

! ВХОДНЫЕ ПАРАМЕТРЫ; (А) - КОД СИМВОЛА Б КОИ-7.

; ВЫХОДНЫЕ ПАРАМЕТРЫ: (А) - ЗНАЧЕНИЕ ЦИФРЫ ( Б МЛАДШЕМ

; ПОЛУБАЙТЕ)! (CY)=1» ЕСЛИ ВВЕДЕННЫЙ СИМВОЛ НЕ ЯВЛЯЕТСЯ

! ШЕСТНАДЦАТЕРИЧНОЙ ЦИФРОЙ.

;кххкхкккккккххкхкххххкххкхкхкхххкхххххкхххххккххххххххх

FAA6 D630

FAA8 D8

ЕСЛИ КОД

<

FAA9 С6Е9

0E9H

ГААБ D8

ЕСЛИ КОД

FAAC С606

FAAE F2E4FA

ПЕР14

ЕСЛИ КОД

FAB1 С607

FAE3 D8

ЕСЛИ КОД

FAE4 С60А

ПЕР14: ADI

FAE6 Е7

(CY) = 0

FAE7 С9

FAE8 E60F FABA С690 FABC 27 FAED СЕ40 FAEF 27 FACO 4F FAC1 С9

ПР16К:

;кххкхккхкхххккхххххххкхкхххххххххкккххххкххххххкхкхххкх ! ПОДПРОГРАММА ПРЕОБРАЗОВАНИЯ ЦИФРЫ ИЗ ДВОИЧНОГО ПРЕД,-; СТАЕЛЕНИЯ в СИМВОЛЬНОЕ.

; ВХОДНОЙ ПАРАМЕТР! (А) - ЧИСЛО (В МЛАДШЕМ ПОЛУБАЙТЕ). ; ВЫХОДНОЙ ПАРАМЕТР: <С) - КОД ШЕСТНАДЦАТЕРИЧНОЙ ЦИФРЫ В ; КОДЕ КОИ-7.

;ххкхккххххккххх«кхххккхкхкхкккк«хккккхкхххххххххххххххх AMI OFH ADI 90Н

DAA ? УСТАНОВКА (CY)=1 ДЛЯ ЧИСЕЛ ) 9

ACI 40Н

MOV CrA

Программа ПРК16 преобразует цифру в системе КОИ-7 в двоичное число (шестандцатеричную цифру). Шестнадцатеричным цифрам О, 1, 9, А, F в системе КОИ-7 соответствуют коды ЗОН, 31Н, .... 39Н. 41Н, 46Н. Следовательно, для получения двоичных кодов цифр 0.....9 достаточно вычесть из кода символа константу ЗОН,



а для кодов шестнадцатеричных цифр А,..., F - константу 37Н. Программа, кроме преобразования, производит проверку принадлежности значения входного параметра к множеству шестнадцатеричных цифр. В начале программы проверяется принадлежность кода символа к диапазону 30Н...46Н путем вычитания и сложения с соответствующими константами. При этом в аккумуляторе получается значение, соответствующее двоичному числу со смещением: ЮН - для шестнадцатеричных цифр А, F и 17Н -для цифр О, 9. Для селекции этих двух типов цифр к содержимому аккумулятора добавляется 6. При этом для цифр 1-го типа возникает переполнение, и флаг S устанавливается в нуль. Для цифр 2-го типа выполняется дополнительная проверка превышения числа 39Н, после чего производится дополнительная коррекция для получения двоичного числа.

Обратное преобразование выполняет программа ПР16К.. Для получения кода символа преобразуемой шестнадцатеричной цифры к ее значению добавляется константа ЗОН, но по правилам десятичной арифметики. При этом для шестнадцатеричных цифр А, F необходимо к полученной сумме добавить еще единицу. В программе указанное преобразование выполняется по-иному: к двоичным числам добавляется константа 90Н, что позволяет для данных цифр установить флаг CY в единицу, а затем с помощью команды ACI - константа 40Н.

Программы 3-й группы предназначены для ввода-вывода двух- и четырехразрядных шестнадцатеричных чисел:

ПРЕВ:

; ПОЯПРОГРАМНА ВВОДА СИМВОЛА С КОНСОЛИ С СЕЛЕКЦИЕЙ ТЕР-5 НИНАТОРА.

; ВЫХОДНЫЕ ПАРАНЕТРЫ: (А)~ВВЕЯЕННЫЙ СИНВОЛ; (Z)---lr (CY)=Oj i ЕСЛИ ВВЕДЕН ПРОБЕЛ ИЛИ (Z)=l,(СУ)=1.ЕСЛИ ВВЕДЕН ВК;

? (Z)=O»(CY)=0 В ПРОТИВНОЙ СЛУЧАЕ.

FAC2 CD80FA

CALL

КЕЕЫ

; ввод СИНВОЛА

FAC5 FE20 ПРА:

t 9

FAC7 СВ

; ЕСЛИ ВВЕДЕН ПРОБЕЛ

FACB FE2C

РАСА СВ

5 ЕСЛИ ВВЕДЕНА

FACB FEOD

FACD 37

FACE СВ

! ЕСЛИ ВВЕДЕН ВК

FACF 3F

FADO С9



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