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

в заключительном фрагменте программы на основании информации, записанной в области сохранения, производится восстановление точек разрыва. Это осуществляется с помощью цикла, тело которого вьшолняется дважды (для каждой точки разрыва). Нулевое значение элемента области сохранения означает, что соответствующая точка разрыва не была установлена и восстановление содержимого этой точки не производится. Одновременно выполняется обнуление соответствующего элемента области сохранения. После завершения работы программы управление передается в диспетчер монитора.

6.6.10. ДИРЕКТИВА ДОКУМЕНТИРОВАНИЯ

Директива Н позволяет установить или отменить режим копирования консольного вывода на печатающее устройство:

КИИ:

i ПОДПРОГГЙННА ОБРАБОТКИ ДИРЕКТИБЫ Н.

(H»L) - АДРЕС ФЛАГА ПЕЧАТИ

FA60 2А0300

LHLD

FA63 2ЕЕ4

L»0E4H

FA65 7Е

l-iOV

FA66 2F

FA67 77

Ну А

FA68 С9

Г(ЕТ

Работа программы сводится к инвертированию флага печати, расположенного в рабочей области монитора. При его установке программа ВЫВС обеспечивает дублирование каждого выводимого на консоль символа выводом его на печатающее устройство.

6.6.11. ДИСПЕТЧЕР ДИРЕКТИВ

Программа диспетчера обеспечивает инициализацию рабочей области, обработку ошибок пользователя, допущенных при вводе директив, ввод символа мнемонического обозначения директивы и вызов соответствующей подпрограммы обработки директивы. Программа диспетчера имеет вид:



F800 C303F8

F803 210000 F806 25 F807 46

F808 ЗЕОО Е80Й 77 F80B В6

F80C 2F F80D 77 F80E 2F FBOF Й6 F810 C206F8 F813 70

F814 220200

F817 2ЕЕ4 F819 F9

F81A СВ4ГЕ4 F81D CD7AF4

F820 AF F821 77 F822 2С F823 C221F8

F826 2EED FB28 1159F8 F82II 060С FB2D 1А F82E 77 F82F 13 F830 23 F831 05 F832 C22DF8

F835 F837 F83A F83D F840 F843 F846

ЗЕСЗ

320000

2102FA

220100

2149F8

CD9£iFA

C372F8

ИНМОН:

;«)(KXKKXK»KK»KKK«KKK«KKK)(StKKXXStStXStKSt)l«StStStStXStXKXStSt«KStStKX»

; ПОДПРОГРАММА ИНИЦИАЛИЗАЦИИ МОНИТОРА.

;ХХХК*ХХХХКХКХХХХКХК»ХХ»Х*КХХХХХКХЙХХХХХХХ»Х«Х»КХХХХХХХХ

JMP ИНМОН+3 ; УСТАНОВКА СЧЕТЧИКА КОМАНД ; ОПРЕДЕЛЕНИЕ ВЕРХНЕЙ ГРАНИЦЫ ОЗУ ГРОЗУ: LXI Н»ОО00Н

ЦИКЛ1: DCR Н 5 (H»L)-АДРЕС ПРОВЕРЯЕМОЙ ЯЧЕЙКИ

MOV В.Н ; ПРОВЕРКА ЗАПИСИ НУЛЕЙ

MVI А.О

MOV М.А

ORA М ; ПРОВЕРКА ЗАПИСИ ЕДИНИЦ

F849 ODOA F84B 6B206F20 F84F 6Е206920

MOV СМА ANA JNZ MOV

ЕСЛИ ЗАПИСЬ НЕВОЗМОЖНА ВОССТАНОВЛЕНИЕ СОДЕРЖИМОГО

ЦИКЛ1 М.В

; ЗАПИСЬ АДРЕСА ВЕРХНЕЙ ГРАНИЦЫ ОЗУ

SHLD 3 ; УСТАНОВКА СТЕКА

MVI L.0E4H

BPHL

; ИНИЦИАЛИЗАЦИЯ МОДУЛЕЙ СОПРЯЖЕНИЯ CALL ИИРПР ; ДЛЯ ИРПР CALL ИИРПС i ДЛЯ ИПРС

J ОБНУЛЕНИЕ РАБОЧЕЙ ОЕЛАСТИ XRA А

ЦИКЛ2: MOV М.А INR L JNZ ЦИКЛ2

; ЗАПОЛНЕНИЕ СТАРТОВОЙ ПОСЛЕДОВАТЕЛЬНОСТИ

; в РАБОЧЕЙ ОЕЛАСТИ

MVI LXI MVI

ЦИКЛЗ: LDAX MOV INX INX DCR JNZ

L.OEDH D.nyC Б.ОСН D

M.A D H В

ЦИКЛЗ

УСТАНОВКА ПЕРЕХОДА НА

MVI А.ОСЗН

STA О

LXI H.HRSTO

SHLD 1

LXI H.TT

CALL ТЕКСТ

JMP MOH TT:

; ТЕКСТ ПРЕДСТАВЛЕНИЯ:

DB ODH.ОАН

DB МОНИТОР.О

(H.L)-НАЧАЛО ПОСЛЕДОВАТЕЛЬНОСТИ

(В.Е)-АДРЕС ШАБЛОНА

(В) - КОЛИЧЕСТВО БАЙТОВ

! ЕСЛИ НЕ ВСЕ БАЙТЫ ПЕРЕПИСАНЫ "ЛОВУШКУ" ТОЧЕК РАЗРЫВА 5 (А)-КОД КОМАНДЫ JMP

; БЫБОД ПРЕДСТАВЛЕННИЯ ! ПЕРЕХОД НА ДИСПЕТЧЕР МОНИТОРА



F853 74206F20 F857 7200

ПУС:

5 ШАБЛОН ПУСКОВОЙ ПОСЛЕЯОБАТЕЛЬНОСТИ

F859 F3 Ы

F85A С1 POP В

F85B В1 POP Б

F85C Fi POP PSW

FSGD El OP H

F85E F9 F85F 210000 F862 FB F863 C30000

SFHL LXI EI JHP

H>0

ВОП:

i ДИСПЕТЧЕР НОНИТОРА.

;ХХХХЙХКХК«ХХХКХН*»»ХХХХХКХХКККХКХХХХХХХХКХХХКХХКХММХКХХ

i УСТАНОВКА УКАЗАТЕЛЯ СТЕКА

F866 2А0300

LHLD

3 ? (HyL) - ВЕРХНЯЯ ГРАНИЦА ОЗУ

F869 2ЕЕ4

L,0E4H j

F86B F9

SPHL

s ВЫВОД ПРИЗНАКА ОШИБКИ

F86C CD8DFA

CALL

KOHC

F86F CD79FA

CALL

ВЫВС1

F872 3F

HOH:

s ВЫВОД ИНИЦИИРУЮЩЕГО СИНВОЛА

F873 CD8DFA

CALL

KOHC i ВК.ПС

F876 CD79FA

CALL

Bl№Cl ; вывод "K~

F879 24

к»

F87A CB80FA

CALL

КВВЫ 5 ввод ДИРЕКТИВЫ

F87D FEOD

F87F CA73F8

нон s ЕСЛИ ВВЕДЕНО ВК

i ОПРЕДЕЛЕНИЕ АДРЕСА ПОДПРОГРАННЫ ОБРАБОТКИ

; ВВЕДЕННОЙ ДИРЕКТИВЫ с ИСПОЛЬЗОБАНИЕИ ТАБЛИЦЫ

F882 219FF8

Н.ТАБК ; <Н,Е)-АДРЕС ТАБЛИЦЫ

F885 0607

В,(КТАЕ-ТАВК+1)/3

F887 BE

ЦИКЛ4! СНР

F888 CA95F8

ПЕР1 5 ЕСЛИ ДИРЕКТИВА ОБНАРУЖЕНА

F88B 23

F88C 23

F88B 23

Н s (H»L)-АДРЕС СЛЕДУЮЩЕГО ЗЛЕНЕНТА

F88E 05

F88F C287F8

ЦИКЛ4 ЕСЛИ ПРОСНОТР НЕ ОКОНЧЕН

F892 C366F8

ВОП : ЕСЛИ КОД ЯИГЕКТИВЫ НЕ НАЙДЕН -

; ЗАГРУЗКА В

<H»L> АДРЕСА ПЕРЕХОДА НА ПОЛПРОГРАННУ

5 ОБРАБОТКИ ВВЕДЕННОЙ ДИРЕКТИВЫ

F895 23

ПЕР1! INX

Н ,

F896 7Е

F897 23

F898 66

F899 6F

L»A

! ПОДГОТОВКА АДРЕСА ВОЗВРАТА И ВЫЗОВ ПОДПРОГРАННЫ

F89A 1173F8

В.НОН

F89D В5

PUSH

F89E Е9

PCHL



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