4. МОНИТОР NONS3
----------------
4.1. ЗАГРУЗКА МОНИТОРА
МОДУЛЬ MONS3 ЯВЛЯЕТСЯ ПЕРЕМЕЩАЕМЫМ: ВЫ МОЖЕТЕ ЗАГРУЗИТЬ
ЕГО ПО ЛЮБОМУ АДРЕСУ, И ЗАТЕМ СТАРТОВАТЬ ЕГО ПО ЭТОМУ АДРЕСУ.
ЕСЛИ ВЫ ПОВТОРНО ХОТИТЕ ВОЙТИ В МОНИТОР MONS3 ИЗ BASIC, ТО
ДОЛЖНЫ ПРИ СТАРТЕ УКАЗАТЬ АДРЕС НА 29 (ДЕСЯТИЧНОЕ) БОЛЬШЕ, ЧЕМ
АДРЕС ЗАГРУЗКИ.
ПРИМЕР: ВАМ НАДО ЗАГРУЗИТЬ МОНИТОР ПО АДРЕСУ 9000 (49152).
LOAD "MONS3" CODE 49152
RANDOMIZE USR 49152
ДЛЯ ПОВТОРНОГО ВВОДА ИЗ BASIC НАДО УКАЗАТЬ АДРЕС 49181.
РАЗМЕР MONS3 СОСТАВЛЯЕТ 5К, НО НАДО РАССЧИТЫВАТЬ ДЛЯ ЗАГ-
РУЗКИ ОКОЛО 6К, ТАК КАК МОНИТОР СТРОИТ В ПАМЯТИ СВОИ АДРЕСНЫЕ
ТАБЛИЦЫ И СВОЙ ВНУТРЕННИЙ СТЕК. ТАК ЧТО MONS3 ДОСТАТОЧНО АВТО-
НОМНЫЙ МОДУЛЬ.
ПОСЛЕ ЗАГРУЗКИ ПОЯВИТСЯ СООБЩЕНИЕ:
"* MOBS3 COPYRIGHT HISOFT 1983 *", А ЧЕРЕЗ НЕСКОЛЬКО СЕ-
КУНД ОНО СМЕНИТСЯ ЭКРАНОМ (СМ. ПРИЛОЖЕНИЕ D), KOTOРЫЙ ОТОБРАЖА-
ЕТ СОДЕРЖИМОЕ РЕГИСТРОВ И ФЛАГОВ Z80 ПЛЮС 24Х БАЙТОВУЮ ОБЛАСТЬ
ПАМЯТИ, В ЦЕНТРЕ КОТОРОЙ ОТМЕЧАЕТСЯ ЗНАКАМИ "<" И ">"БАЙТ АДРЕ-
СУЕМЫЙ ТЕКУЩИМ ЗНАЧЕНИЕМ УКАЗАТЕЛЯ ПАМЯТИ (НАЧАЛЬНОЕ ЗНАЧЕНИЕ
АДРЕСА НОЛЬ), ВЕРХНЯЯ СТРОКА СОДЕРЖИТ ДИСАССЕМБЛИРОВАННЫЙ КОД
ПО АДРЕСУ УКАЗАТЕЛЯ ПАМЯТИ.
ПРИ ВХОДЕ В MONS3ВСЕ АДРЕСА, ПО УМОЛЧАНИЮ, ОТОБРАЖАЮТСЯ В
ШЕСТНАДЦАТИРИЧНОМ ВИДЕ, НО МОЖНО ИХ ОТОБРАЗИТЬ И В ДЕСЯТИЧНОМ
ФОРМАТЕ, ИСПОЛЬЗУЯ КОМАНДУ "SYMBOL SHIFT И 3", ОДНАКО ВВОДИТСЯ
АДРЕСА ДОЛЖНЫ ТОЛЬКО В ШЕСТНАДЦАТИРИЧНОМ ФОРМАТЕ.
КОМАНДЫ ВВОДЯТСЯ С КЛАВИАТУРЫ ПОСЛЕ УКАЗАТЕЛЯ ">". НЕКОТО-
РЫЕ КОМАНДЫ ВВОДЯТСЯ СОВМЕСТНО С "SIMBOL SHIFT". В ЭТОМ ОПИСА-
НИИ ДАЛЕЕ ВЕЗДЕ НАЖАТИЕ КЛАВИШИ "SIMBOL SHIFT" БУДЕТ ОБОЗНА-
ЧАТЬСЯ ЗНАКОМ "", НАПРИМЕР, ЗАПИСЬ "Z" ОЗНАЧАЕТ "SIMBOL SHIFT"
И "Z" НАЖАТЫЕ ВМЕСТЕ.
КОМАНДЫ ВЫПОЛНЯЮТСЯ НЕПОСРЕДСТВЕННО И НЕ ТРЕБУЮТ ДОПОЛНИ-
ТЕЛЬНОГО НАЖАТИЯ КЛАВИШИ "ЕNTER", ОШИБОЧНЫЕ КОМАНДЫ ПРОСТО ИГ-
НОРИРУЮТСЯ, ОСНОВНОЙ ЭКРАН ОБНОВЛЯЕТСЯ ПОСЛЕ КАЖДОГО ВЫПОЛНЕНИЯ
КОМАНДЫ.
МНОГИЕ КОМАНДЫ ТРЕБУЮТ ВВОДА ШЕСТНАДЦАТИРИЧНЫХ ЧИСЕЛ, ПРИ
ЭТОМ НАБОР ЦИФР АВТОМАТИЧЕСКИ ПРЕКРАЩАЕТСЯ ПРИ ВВОДЕ ПЕРВОГО НЕ
ШЕСТНАДЦАТИРИЧНОГО СИМВОЛА (Т.Е.КРОМЕ 0..9,А..F) ТАКИМ ОБРАЗОМ
МОЖНО ЗАВЕРШИТЬ НАБОР ЧИСЛА,НЕОБХОДИМО ПОМНИТЬ ЧТО СИМВОЛ
""(ПОДЧЕРКИВАНИЕ) СЛУЖИТ ДЛЯ ОТОБРАЖЕНИЯ ПРОБЕЛА,ГДЕ ЭТО НЕОБ-
ХОДИМО,ЕСЛИ ПРИМЕНЯТЬ ЗНАК "-"(МИНУС),ТО ЧИСЛО ЗАПИШЕТСЯ В ПА-
МЯТЬ В ДОПОЛНИТЕЛЬНОМ ФОРМАТЕ , Т.Е.1800 ДАЕТ Е800 ,ЕСЛИ БУДЕТ
НАБРАНО БОЛЬШЕ 4Х ЦИФР,ТО ВОЗЬМУТСЯ ТОЛЬКО СТАРШИЕ 4 ЦИФРЫ.
ЕСЛИ ВЫ ЖЕЛАЕТЕ ВЕРНУТЬСЯ В BASIC ИЗ МОНИТОРА MONS3 НАДО
ПРОСТО НАЖАТЬ "CAPS SHIFT" И "1".
ВАЖНО ПОМНИТЬ ,ЧТО MONS3 ЗАПРЕЩАЕТ (МАСКИРУЕТ)ПРЕРЫВАНИ-
Я,ЧТО НЕОБХОДИМО ДЛЯ КОРРЕКТНОГО ВЫПОЛНЕНИЯ ИМИ СВОИХ ФУНКЦИЙ,И
ИХ НЕЛЬЗЯ РАЗРЕШАТЬ В ТЕЧЕНИЕ РАБОТЫ MONS3.
4.2.ДОСТУПНЫЕ КОМАНДЫ.
SIMBOL SHIFT И 3 - ИЗМЕНЯЕТ ОСНОВАНИЕ СИСТЕМЫ СЧИСЛЕНИЯ С
ШЕСТНАДЦАТИРИЧНОЙ НА ДЕСЯТИЧНУЮ И НАОБОРОТ,ПРИ ОТОБРАЖЕНИИ АД-
РЕСОВ.
SIMBOL SHIFT И 4 - ОТОБРАЗИТ СТРАНИЦУ ДИСАССЕМБЛИРОВАНИЯ
НАЧИНАЯ С АДРЕСА СОДЕРЖАЩЕГОСЯ В УКАЗАТЕЛЕ.ПОВТОРНОЕ НАЖАТИЕ
"4" ВОЗВРАЩАЕТ К ОСНОВНОМУ ЭКРАНУ.НАЖАТИЕ ДРУГОЙ КЛАВИШИ ВЫДАЕТ
СЛЕДУЮЩУЮ СТРАНИЦУ.
CAPS SHIFT И 7 - УМЕНЬШЕНИЕ УКАЗАТЕЛЯ ПАМЯТИ НА ЕДИНИЦУ.
CAPS SHIFT И 5 - УМЕНЬШЕНИЕ УКАЗАТЕЛЯ ПАМЯТИ НА 8 .ИСПОЛЬ-
ЗУЕТСЯ ДЛЯ БЫСТРОГО ВОЗВРАТА НАЗАД.
CAPS SHIFT И 8 - УВЕЛИЧЕНИЕ УКАЗАТЕЛЯ ПАМЯТИ НА 8.
","(ЗАПЯТАЯ) - ЗАМЕНЯЕТ ЗНАЧЕНИЕ УКАЗАТЕЛЯ ПАМЯТИ ТАК,ЧТО
ОН СОДЕРЖИТ АДРЕС СОДЕРЖАЩИЙСЯ В СТЕКЕ (ОТОБРАЖЕННЫЙ В SP).ЭТО
ИСПОЛЬЗУЕТСЯ ДЛЯ ПРОСМОТРА СОДЕРЖИМОГО ПО АДРЕСУ ВОЗВРАТА ИЗ
ВЫЗЫВАЕМОЙ ПРОГРАММЫ.
"G" - ПОИСК ОБЛАСТИ ПАМЯТИ ПО ОБРАЗЦУ,УКАЗАННОМУ В СТРОКЕ.
ПОСЛЕ СИМВОЛА ":"ВЫ ВВОДИТЕ ЗНАЧЕНИЕ БАЙТА,КОТОРЫЙ НУЖНО НАЙТИ
И НАЖИМАЙТЕ "ENTER",ИЩЕТСЯ ПЕРВОЕ ВХОЖДЕНИЕ В УКАЗАННЫЙ
БАЙТ,НАЧИНАЯ С АДРЕСА,ЗАДАННОГО УКАЗАТЕЛЕМ ПАМЯТИ.
НАПРИМЕР:НАДО НАЙТИ ПЕРВОЕ ВХОЖДЕНИЕ В СТРОКУ 3FFF(2 БАЙ-
ТА),НАЧИНАЯ С АДРЕСА 8000.ДЕЛАЕТЕ СЛЕДУЮЩЕЕ:
М:8000 "ENTER" - УСТАНОВИТЬ УКАЗАТЕЛЬ ПАМЯТИ НА 8000.
G:3F "ENTER" - УСТАНОВИТЬ ЗНАЧЕНИЕ ПЕРВОГО БАЙТА ИСКОМОЙ
СТРОКИ.
FF "ENTER" - УСТАНОВИТЬ ЗНАЧЕНИЕ ВТОРОГО БАЙТА ИСКОМОЙ
СТРОКИ.
"ENTER" - ЗАВЕРШИТЬ НАБОР СТРОКИ.
ПОСЛЕ ПОСЛЕДНЕГО "ENTER"ИЛИ ЛЮБОГО НЕ ШЕСТНАДЦАТИРИЧНОГО
СИМВОЛА ВЫПОЛНЯЕТСЯ КОМАНДА "G".
"Н" - ПРЕОБРАЗОВАТЬ ДЕСЯТИЧНОЕ ЧИСЛО В ШЕСТНАДЦАТИРИЧНО-
Е.ДЛЯ ВОЗВРАТА В КОМАНДНЫЙ РЕЖИМ ЛЮБУЮ КЛАВИШУ.
НАПРИМЕР:
Н:41472 = 420 (ЗДЕСЬ ПРОБЕЛ ИСПОЛЬЗУЕТСЯ КАК ТЕРМИНАТОР)
"I" - "РАЗУМНОЕ" КОПИРОВАНИЕ ИСПОЛЬЗУЕТСЯ ДЛЯ КОПИРОВАНИЯ
УЧАСТКА ПАМЯТИ В ДРУГОЕ МЕСТО ПАМЯТИ."РАЗУМНОСТЬ" ЗАКЛЮЧАЕТСЯ В
ТОМ,ЧТО КОПИРОВАНИЕ НЕ ВЫПОЛНЯЕТСЯ ,ЕСЛИ НОВЫЙ УЧАСТОК ПЕРЕКРЫ-
ВАЕТСЯ СТАРЫМ.ПО КОМАНДЕ "I"ВЫВОДЯТСЯ ПОДСКАЗКИ
"FIRST:","LAST:",НАЧАЛЬНЫЙ И КОНЕЧНЫЙ АДРЕСА КОПИРУЕМОГО УЧАС-
ТКА, А ЗАТЕМ "ТО:" - АДРЕС ОБЛАСТИ КУДА ОСУЩЕСТВЛЯЕТСЯ КОПИРО-
ВАНИЕ,ЕСЛИ "FIRST" БОЛЬШЕ "LAST",ТО ВЫПОЛНЕНИЕ КОМАНДЫ ПРЕКРА-
ЩАЕТСЯ.
"J" - ВЫПОЛНЕНИЕ ПРОГРАММЫ В МАШИННЫХ КОДАХ С УКАЗАННОГО
АДРЕСА ПОСЛЕ СИМВОЛА ":" ВВОДИТСЯ ШЕСТНАДЦАТИРИЧНЫЙ АДРЕС,КОТО-
РЫЙ ВВОДИТСЯ ВО ВНУТРЕННИЙ СТЕК,ЭКРАН ОЧИЩАЕТСЯ И НАЧИНАЕТСЯ
ВЫПОЛНЕНИЕ КОДОВ С УКАЗАННОГО АДРЕСА.ЕСЛИ ПОСЛЕ ВЫПОЛНЕНИЯ ЭТОЙ
ПРОГРАММЫ ВЫ ХОТИТЕ ВЕРНУТЬСЯ В MONS3, TO ДОЛЖНЫ УСТАНОВИТЬ
ТОЧКУ ПРЕРЫВАНИЯ (СМ.КОМАНДУ "W"),ИЗ КОТОРОЙ БУДЕТ ВОЗВРАТ НА
ЭКРАН.ЭТУ ПРОГРАММУ МОЖНО ПРЕРВАТЬ И РАНЬШЕ,ИСПОЛЬЗУЯ "CAPS
SHIFT И 5" ПОМНИТЕ,ЧТО КОМАНДА "J" ИЗМЕНЯЕТ СОДЕРЖИМОЕ РЕГИС-
ТРОВ ПРОЦЕССОРА,ПОЭТОМУ,ЕСЛИ ВЫ ХОТИТЕ ИСПОЛЬЗОВАТЬ РЕГИСТРЫ
ПРОЦЕССОРА,ТО ПОЛЬЗУЙТЕСЬ КОМАНДОЙ "SIMBOL SHIFT K".
"SIMBOL SHIFT И К" - ПРОДОЛЖИТ ВЫПОЛНЕНИЕ КОМАНДЫ С АДРЕ-
СА, СОДЕРЖАЩЕГОСЯ В ПРОГРАММНОМ СЧЕТЧИКЕ (РС).ЭТА КОМАНДА ИС-
ПОЛЬЗУЕТСЯ СОВМЕСТНО С "W".
НАПРИМЕР,ВЫ ВЫПОЛНЯЕТЕ ПО ШАГАМ ("Z") ПРОГРАММУ ПРИВЕДЕН-
НУЮ НИЖЕ,И ОСТАНОВИЛИ НА АДРЕСЕ 892D .ВАС ИНТЕРЕСУЕТ ВХОД В
ПРОГРАММУ ПО АДРЕСУ 9000.НО ВАМ НАДО ПРОСМОТРЕТЬ КАК УСТАНОВЯТ-
СЯ ФЛАГИ ПОСЛЕ ВЫЗОВА ПОДПРОГРАММЫ ПО АДРЕСУ 8800.
891Е 3FFF LD A,-1
8920 CD0090 CALL 9000
8923 2A0080 LD HL,(8000)
8936 7E LD A,(HL)
8927 111488 LD DE,8814
892A CD0088 CALL 8800
892D 2003 CR NZ,LAB1
892F 320280 LD (8002),A
8932 211488 LAB1 LD HL,8814
ДЛЯ ЭТОГО СЛУЧАЯ СДЕЛАЕМ СЛЕДУЮЩЕЕ:УСТАНОВИМ ТОЧКУ ПРЕРЫ-
ВАНИЯ , ИСПОЛЬЗУЯ КОМАНДУ "W" ПО АДРЕСУ 892D (ВСПОМНИМ,ЧТО "M"
ИСПОЛЬЗУЕТСЯ ДЛЯ УСТАНОВКИ УКАЗАТЕЛЯ ПАМЯТИ ),ЗАТЕМ ИСПОЛЬЗУЮ
КОМАНДУ "К" ,ПРОДОЛЖИМ ВЫПОЛНЕНИЕ С АДРЕСА СОДЕРЖАЩЕГОСЯ В РС
,КОТОРЫЙ В НАШЕМ СЛУЧАЕ БУДЕТ 8920.ВЫПОЛНЕНИЕ ПРОДОЛЖИТСЯ ДО
АДРЕСА УСТАНОВЛЕННОГО В ТОЧКЕ ВОЗВРАТА (892В).В ЭТОЙ ТОЧКЕ ЭКРАН
БУДЕТ ЗАМЕНЕН И МОЖНО ИЗМЕНИТЬ ЗНАЧЕНИЕ ФЛАГОВ И Т.Д. ЗАТЕМ ВЫ
МОЖЕТЕ ПРОДОЛЖИТЬ ПОШАГОВОЕ ВЫПОЛНЕНИЕ ПРОГРАММЫ,Т.Е."К" ИС-
ПОЛЬЗУЕТСЯ ДЛЯ ВЫПОЛНЕНИЯ ПРОГРАММЫ В КОДАХ БЕЗ ПРЕДВАРИТЕЛЬНОЙ
УСТАНОВКИ СТЕКА И ИЗМЕНЕНИЯ СОДЕРЖИМОГО РЕГИСТРОВ ПРОЦЕССОРА
КАК В КОМАНДЕ "J".
"L" - ЛИСТИНГ ДАМПА УЧАСТКА ПАМЯТИ,НАЧИНАЯ С АДРЕСА СОДЕР-
ЖАЩЕГОСЯ В УКАЗАТЕЛЕ ПАМЯТИ.ПО КОМАНДЕ "L" ОЧИЩАЕТСЯ ЭКРАН И
ОТОБРАЖАЕТСЯ В ШЕСТНАДЦАТИРИЧНОМ И СИМВОЛЬНОМ ВИДЕ 80 БАЙТ ПА-
МЯТИ,НАЧИНАЯ С ТЕКУЩЕГО ЗНАЧЕНИЯ В УКАЗАТЕЛЕ ПАМЯТИ.АДРЕС МОЖЕТ
ОТОБРАЖАТЬСЯ В ШЕСТНАДЦАТИРИЧНОМ И ДЕСЯТИЧНОМ ВИДЕ (СМ."3").ЭК-
РАН СОДЕРЖИТ 20 СТРОК ПО 4 БАЙТА В КАЖДОЙ,КОДЫ НЕ ИМЕЮЩИЕ СИМ-
ВОЛЬНОГО ЭКВИВАЛЕНТА (0..31) ОТОБРАЖАЮТСЯ В ВИДЕ ТОЧКИ.НАЖАТИЕМ
ЛЮБОЙ КЛАВИШИ (КРОМЕ "CAPS SHIFT И 1")ВЫДАЕТСЯ СЛЕДУЮЩАЯ СТРА-
НИЦА,"CAPS SHIFT И 5" ВОЗВРАЩАЕТ К ОСНОВНОМУ ЭКРАНУ.
"М" - УСТАНАВЛИВАЕТ УКАЗАТЕЛЬ ПАМЯТИ В ТРЕБУЕМОЕ СОСТОЯНИ-
Е.ПОСЛЕ УКАЗАТЕЛЯ ":" НАБИРАЕТСЯ ШЕСТНАДЦАТИРИЧНЫЙ АДРЕС,КОТО-
РЫЙ ЗАМЕНИТ ТЕКУЩИЙ. ОСНОВНОЙ ЭКРАН ОБНОВЛЯЕТСЯ АВТОМАТИЧЕСКИ.
"N" - НАЙТИ СЛЕДУЮЩЕЕ ВХОЖДЕНИЕ В ШЕСТНАДЦАТИРИЧНУЮ СТРО-
КУ, УКАЗАННУЮ В КОМАНДЕ "G".
"O" - СЛУЖИТ ДЛЯ УСТАНОВКИ УКАЗАТЕЛЯ ПАМЯТИ НА АДРЕС, ПО-
ЛУЧЕННЫЙ ИЗ КОМАНДЫ ПЕРЕХОДА. НАПРИМЕР, УКАЗАТЕЛЬ СОДЕРЖИТ АДРЕС
6800, ПО КОТОРОМУ РАЗМЕЩЕНЫ ДАННЫЕ 16, А ПО АДРЕСУ НА ЕДИНИЦУ
МЕНЬШЕ (67FF) СОДЕРЖИТСЯ 20, ЧТО ИНТЕРПРЕТИРУЕТСЯ КАК КОМАНДА
"JR NZ,+24, ДЛЯ НАХОЖДЕНИЯ АДРЕСА ПЕРЕХОДА ПО НЕНУЛЕВОМУ УСЛО-
ВИЮ ДОСТАТОЧНО НАЖАТЬ "О" И СООТВЕТСТВЕННО ИЗМЕНИТСЯ СОДЕРЖИМОЕ
ЭКРАНА, ЧТО И ТРЕБОВАЛОСЬ ПО ПЕРЕХОДУ.
ПОМНИТЕ, ЧТО СМЕЩЕНИЕ БОЛЬШЕ 7F (127) ИНТЕРПРЕТИРУЕТСЯ
МИКРОПРОЦЕССОРОМ КАК ОТРИЦАТЕЛЬНОЕ ЧИСЛО.(СМ. КОМАНДУ "U").
"P" - ЗАПОЛНЯЕТ ПАМЯТЬ В УКАЗАННЫХ ГРАНИЦАХ ЗАДАННЫМ БАЙ-
ТОМ. ЗАПРАШИВАЕТСЯ "FIRST:","LAST:","WISH:".
НАПРИМЕР:
FIRST: 7000 "ENTER"
LAST: 77FF "ENTER"
WISH: 55 "ENTER"
ПАМЯТЬ ОТ 7000 ДО 77FF БУДЕТ ЗАПОЛНЕНА БАЙТОМ 55 ("U").
ЕСЛИ НАЧАЛЬНЫЙ АДРЕС БОЛЬШЕ КОНЕЧНОГО, ТО ВЫПОЛНЕНИЕ КО-
МАНДЫ ПРЕКРАЩАЕТСЯ.
"Q" - ПЕРЕКЛЮЧЕНИЕ НА АЛЬТЕРНАТИВНЫЕ РЕГИСТРЫ.
ВНАЧАЛЕ НА ЭКРАНЕ ОТОБРАЖАЕТСЯ СОДЕРЖИМОЕ СТАНДАРТНЫХ РЕ-
ГИСТРОВ (AF,HL, DE,BC)< ПО КОМАНДЕ "Q" ПРОИСХОДИТ ЗАМЕНА НА СО-
ДЕРЖИМОЕ АЛЬТЕРНАТИВНЫХ РЕГИСТРОВ (AF',HL',DE',BC'). ПОВТОРНОЕ
НАЖАТИЕ "Q" ВОЗВРАЩАЕТ К СТАНДАРТНЫМ РЕГИСТРАМ.
SIMBOL SHIFT И Т - УСТАНАВЛИВАЕТ ТОЧКУ ПРЕРЫВАНИЯ ПОСЛЕ
ТЕКУЩЕЙ КОМАНДЫ И ПРОДОЛЖАЕТ ВЫПОЛНЕНИЕ. НАПРИМЕР:
9000 87 ОR А
9001 С20098 COLL NZ, 9800
: : : :
9800 21FFFF LD HL,-1
ВЫ ВЫПОЛНЯЕТЕ ПО ШАГАМ ЭТУ ПРОГРАММУ И ПРИШЛИ В ТОЧКУ С
АДРЕСОМ 9001 С НУЛЕВЫМ СОДЕРЖАНИЕМ РЕГИСТРА А. ЕСЛИ ВЫ ПРИМЕНИ-
ТЕ "Z" ДЛЯ ПРОДОЛЖЕНИЯ ПО ШАГОВОГО ВЫПОЛНЕНИЯ, ТО ВЫ ПЕРЕЙДЕТЕ
К АДРЕСУ 9800. ЕСЛИ ВЫ НЕ ХОТИТЕ ПЕРЕХОДИТЬ К ПРОГРАММЕ ПО АД-
РЕСУ 9800 ИСПОЛЬЗУЙТЕ КОМАНДУ "T", УПРАВЛЕНИЕ ПЕРЕЙДЕТ НА СЛЕ-
ДУЮЩУЮ КОМАНДУ ПО АДРЕСУ 9004. ПОМНИТЕ "Т" ВВОДИТ ПРЕРЫВАНИЕ
ПОСЛЕ ТЕКУЩЕЙ ИНСТРУКЦИИ И ЗАТЕМ ВЫХОДИТ НА КОМАНДУ "K" (СМ.
КОМАНДУ "K").
"Т" - ДИСАССЕМБЛИРОВАНИЕ БЛОКА ДАННЫХ С ВОЗМОЖНОСТЬЮ ВЫВОД
НА ПРИНТЕР. КОМАНДА ЗАПРАШИВАЕТ "FIRST" И "LAST" ДЛЯ ЗАДАНИЯ
АДРЕСОВ. ПОСЛЕ ЭТОГО ЗАПРАШИВАЕТСЯ "PRINTER?", ОТВЕТ "Y" (ТОЛЬ-
КО ЗАГЛАВНАЯ БУКВА "Y") ВЫЗОВЕТ ВЫВОД НА ПРИНТЕР, ЛЮБОЙ ДРУГОЙ
ОТВЕТ ВЫЗЫВАЕТ ВЫВОД НА ЭКРАН. СЛЕДУЮЩИЙ ВОПРОС "TEXT:", ЗАПРА-
ШИВАЕТ ШЕСТНАДЦАТИРИЧНЫЙ АДРЕС НАЧАЛА ТЕКСТОВОГО ФАЙЛА, ПОЛУ-
ЧЕННОГО В РЕЗУЛЬТАТЕ ДИСАССЕМБЛИРОВАНИЯ. ЕСЛИ ВЫ НЕ ХОТИТЕ ЭТО
ДЕЛАТЬ, ПРОСТО НАЖМИТЕ КЛАВИШУ "ENTER" ПОСЛЕ ЗАПРОСА. В ПРО-
ТИВНОМ СЛУЧАЕ БУДЕТ СТРОИТСЯ ФАЙЛ ДИСАССЕМБЛИРОВАНИЯ В ФОРМАТЕ
ТРЕБУЕМОМ ДЛЯ GENS3. АДРЕС ВЫДАННЫЙ РЕДАКТОРОМ GENS3, ПО КОМАН-
ДЕ "X", ЕСТЬ АДРЕС НАЧАЛА ТЕКСТОВОГО ФАЙЛА. ЕСЛИ НА НЕКОТОРОЙ
СТАДИИ ДИСАССЕМБЛИРОВАНИЯ MONS3 ПРЕРЫВАЕТСЯ, ТО НАЖМИТЕ ЛЮБУЮ
КЛАВИШУ ДЛЯ ВОЗВРАТА К ОСНОВНОМУ ЭКРАНУ. ЕСЛИ ВЫ ЗАДАЛИ АДРЕС
ТЕКСТОВОГО ФАЙЛА, ТО ДОЛЖНЫ ОТВЕТИТЬ НА ВОПРОС "WORK SPACE:",
НАЧАЛО РАБОЧЕЙ ОБЛАСТИ ДЛЯ ПОСТРОЕНИЯ ПРОСТЕЙШЕЙ ТАБЛИЦЫ СИМВО-
ЛОВ ДЛЯ МЕТОК СОЗДАВАЕМЫХ ДИСАССЕМБЛЕРОМ, ПРИБЛИЗИТЕЛЬНО ТРЕБУ-
ЕТСЯ 2 БАЙТА НА КАЖДУЮ МЕТКУ. ПО УМОЛЧАНИЮ БЕРЕТСЯ АДРЕС 6000.
ПОСЛЕ ЭТОГО ВЫ ОТВЕЧАЕТЕ НА ВОПРОСЫ "FIRST:" И "LAST:" (ВКЛЮЧИ-
ТЕЛЬНО), ДЛЯ ЗНАЧЕНИЯ НЕКОТОРОЙ ОБЛАСТИ ДАННЫХ, КОТОРАЯ ИСКЛЮ-
ЧАЕТСЯ ИЗ ДИСАССЕМБЛИРОВАННОГО БЛОКА. ЭТО МОГУТ БЫТЬ НЕКОТОРЫЕ
ДАННЫЕ, КОТОРЫЕ НЕ МОГУТ БЫТЬ ИНТЕРПРЕТИРОВАНЫ КАК ИНСТРУКЦИЯ
Z80. ОНИ ДИСАССЕМБЛИРУЮТСЯ КАК ИНСТРУКЦИЯ КАК "DFB", ЕСЛИ ЗНА-
ЧЕНИЕ БАЙТА ЛЕЖАТ В ДИАПАЗОНЕ ОТ 32 ДО 127 ( 20 ДО 7F) ЭТО ИН-
ТЕРПРЕТИРУЕТСЯ КАК КОД ASCII. ЕСЛИ ВЫ ЖЕЛАЕТЕ СПЕЦИФИЦИРОВАТЬ
ЭТУ ОБЛАСТЬ, ПРОСО НАЖМИТЕ "ENTER" НА ОБА ЗАПРОСА. КОМАНДА "Т"
ИСПОЛЬЗУЕТ ОБЛАСТЬ В КОНЦЕ MONS3 ДЛЯ ХРАНЕНИЯ АДРЕСОВ ОБЛАСТЕЙ
ДАННЫХ, ТАК ЧТО МОЖНО УСТАНОВИТЬ НЕСКОЛЬКО ОБЛАСТЕЙ ДАННЫХ (ПО
4 БАЙТА НА ОБЛАСТЬ). ПОМНИТЕ, ЧТО "Т" УНИЧТОЖАЕТ РАННЕЕ УСТА-
НОВЛЕННУЮ СТРОЧКУ ПРЕРЫВАНИЯ (СМ. КОМАНДУ "W").
ЭКРАН ОЧИЩАЕТСЯ (ЕСЛИ УСТАНОВЛЕН ТЕКСТОВЫЙ ФАЙЛ, ТО С НЕ-
КОТОРОЙ ЗАДЕРЖКОЙ) И НАЧИНАЕТСЯ ВЫВОД ЛИСТИНГА НА ЭКРАН ИЛИ
ПРИНТЕР. ВЫ МОЖЕТЕ ПРИОСТАНОВИТЬ ВЫВОД НАЖАВ В КОНЦЕ СТРОКИ
"ENTER" ИЛИ "SPARCE". НАЖАТИЕ "CAPS SHIFT И 5" ВОЗВРАЩАЕТ К ОС-
НОВНОМУ ЭКРАНУ. НАЖАТИЕ ЛЮБОЙ ДРУГОЙ КЛАВИШИ (КРОМЕ "CAPS SHIFT
И 1") ПРОДОЛЖАЕТ ДИСАССЕМБЛИРОВАНИЕ. ЕСЛИ ВСТРЕЧАЕТСЯ НЕ ДОПУС-
ТИМЫЙ КОД, ТО ДИСАССЕМБЛЕР ВСТАВЛЯЕТ ИНСТРУКЦИЮ "NOP", ОТМЕЧЕН-
НУЮ ЗВЕЗДОЧКОЙ ("*"), ПОСЛЕ КОДА ОПЕРАЦИИ.
ПО ЗАВЕРШЕНИИ ДИСАССЕМБЛИРОВАНИЯ ВЫВОД ОСТАНАВЛИВАЕТСЯ И,
ЕСЛИ БЫЛ УСТАНОВЛЕН ТЕКСТОВЫЙ ФАЙЛ, ВЫДАЕТСЯ СООБЩЕНИЕ: "END"
OF TEXT XXXXX", ГДЕ "XXXXX" - ДЕСЯТИЧНЫЙ ИЛИ ШЕСТНАДЦАТИРИЧНЫ
АДРЕС, КОТОРЫЙ ДОЛЖЕН БЫТЬ ВВЕДЕН В GENS3 КАК КОНЕЦ ИСХОДНОГО
ТЕКСТА. ПО ЗАВЕРШЕНИЮ ДИСАССЕМБЛИРОВАНИЯ НАЖМИТЕ ЛЮБУЮ КЛАВИШУ
ДЛЯ ПЕРЕХОДА К ОСНОВНОМУ ЭКРАНУ ИЛИ "CAPS SHIFT И 1" ДЛЯ ВОЗ-
ВРАТА В BASIC.
ДИСАССЕМБЛЕР ГЕНЕРИРУЕТ МЕТКИ В ФОРМЕ LXXXX, ГДЕ XXXX -
АБСОЛЮТНЫЙ ШЕСТНАДЦАТИРИЧНЫЙ АДРЕС. МЕТКА ЛЕЖИТ ЗА ПРЕДЕЛАМИ
ДИСАССЕМБЛИРУЕМОГО БЛОКА, ТО МЕТКА НЕ ГЕНЕРИРУЕТСЯ, А ДИСАССЕМ-
БЛИРУЕТСЯ КАК АБСОЛЮТНЫЙ АДРЕС.
Т
FIRST: 88 "ENTER"
LAST : 9E "ENTER"
PRINTER? Y
TEXT "ENTER"
FIRST: 95
LAST : 9E "ENTER"
FIRST: "ENTER"
LAST : "ENTER"
008B FE16 CP 16
008D 3801 JP C,L0090
008F 23 INC HL
0090 27 SCE
0091 225DSC LD ( SC5D),HL
0094 C9 RET
0095 BFS24E DEF8 BF,"R","N"
0098 S4494E DEFB C4,"I","N"
009B 4B4559 DEFB "K","E","Y"
009E A4 DEFB F4
"U" - ИСПОЛЬЗУЕТСЯ С КОМАНДОЙ "О". ВСПОМНИМ, ЧТО КОМАНДА
"О" ЗАМЕНЯЕТ ОТОБРАЖАЕМУЮ ПАМЯТЬ ПО АДРЕСУ ИЗ КОМАНД ПЕРЕХОДОВ
JR ИЛИ DJNZ, "U" ИСПОЛЬЗУЕТСЯ ДЛЯ ВОЗВРАТА НАЗАД ПО АДРЕСУ ИЗ
КОТОРОГО БЫЛ ВЫХОД ПО "О".
ПРИМЕР: 7200 47 71F3
7201 20 714F
<7202 F2> <71FS F5
7203 06 71F6
ЭКРАН 1 ЭКРАН 2
ВЫ НА ЭКРАНЕ 1 И ЖЕЛАЕТЕ ПЕРЕЙТИ ПО КОМАНДЕ 20А2, И ТАК ВЫ
НАЖИМАЕТЕ "О" И ПЕРЕХОДИТЕ К ЭКРАНУ 2, ИССЛЕДОВАВ КОМАНДУ ПО АД-
РЕСУ 71F5, ВЫ ЖЕЛАЕТЕ ВЕРНУТСЯ В ИСХОДНУЮ ТОЧКУ, НАЖИМАЕТЕ В
"U" И ПОЛУЧАЕТЕ ЭКРАН 1. ПОМНИТЕ, ЧТО КОМАНДУ "U" МОЖНО ПРИМЕ-
НЯТЬ ТОЛЬКО ДЛЯ ВОЗВРАТА ПОСЛЕ КОМАНДЫ "O".
"W" - УСТАНАВЛИВАЕТ ТОЧКУ ПРЕРЫВАНИЯ ПО АДРЕСУ УКАЗАТЕЛЯ
ПАМЯТИ. ТОЧКА ПРЕРЫВАНИЯ ЭТО ПРОСТО ИНСТРУКЦИЯ "CALL" ДЛЯ ВХОДА
В ПРОГРАММУ MONS3, ОТОБРАЖАЮЩУЮ ОСНОВНОЙ ЭКРАН. ЭТО ПОЗВОЛЯЕТ
ПРОГРАММИСТУ УСТАНОВИТЬ ВЫПОЛНЕНИЕ ПРОГРАММЫ И ИЗМЕНИТЬ СОДЕРЖИМОЕ
РЕГИСТРОВ, ФЛАГОВ И ИЛИ ОБЛАСТЕЙ ПАМЯТИ.
НАПРИМЕР ВЫ ЖЕЛАЕТЕ ОСТАНОВИТЬ ПРОГРАММУ В ТОЧКЕ С АДРЕСОМ
9876. ДЛЯ ЧЕГО, ИСПОЛЬЗУЯ КОМАНДУ "М", УСТАНОВИТЕ УКАЗАТЕЛЬ ПА-
МЯТИ НА АДРЕС 9876, А ЗАТЕМ, ИСПОЛЬЗУЮ "W" УСТАНОВИТЕ ТОЧКУ
ПРЕРЫВАНИЯ ПО АДРЕСУ. ТРИ БАЙТА ПРОГРАММЫ ПО ЭТОМУ АДРЕСУ ЗАПО-
МИНАЮТСЯ, И НА ИХ МЕСТО ЗАПИСЫВАЕТСЯ ИНСТРУКЦИЯ "CALL", КОТОРАЯ
ОСТАНОВИТ ВЫПОЛНЕНИЕ В ЭТОЙ ТОЧКЕ И ВЫДАЕТ ОСНОВНОЙ ЭКРАН
MONS3.
ПРИМЕЧАНИЕ: MONS3 ИСПОЛЬЗУЕТ ОБЛАСТЬ В КОНЦЕ СВОЕГО РАЗМЕ-
ЩЕНИЯ, ГДЕ ХРАНЯТСЯ АДРЕСА В ПОРЯДКЕ ЗАПОМИНАНИЯ ИНФОРМАЦИИ О
ТОЧКАХ ПРЕРЫВАНИЯ, ВЫ МОЖЕТЕ УСТАНОВИТЬ СТОЛЬКО ТОЧЕК ПРЕРЫВА-
НИЯ СКОЛЬКО ДОСТУПНО ПАМЯТИ. НА КАЖДУЮ ТОЧКУ ПРЕРЫВАНИЯ ТРЕБУ-
ЕТСЯ 5 БАЙТ. ПОСЛЕ ВЫПОЛНЕНИЯ ПРЕРЫВАНИЯ MONS3 АВТОМАТИЧЕСКИ
ВОССТАНАВЛИВАЕТ В ЭТОЙ ТОЧКЕ ПРЕЖНЕЕ СОДЕРЖАНИЕ ПАМЯТИ. КОМАНДА
"Т" ТАКЖЕ ПОЛЬЗУЕТСЯ ЭТОЙ ОБЛАСТЬЮ ПАМЯТИ. САМА ТОЧКА ПРЕРЫВА-
НИЯ СОДЕРЖИТ 3 БАЙТА ИНСТРУКЦИИ "CALL".
РАССМОТРИМ ПРОГРАММУ:
8000 3Е 8008 00
8001 01 8009 00
8002 18 800А 06
8003 06 800B 02
>8004 AF 800C 18
8005 0Е 800D F7
8006 FF 800Е 06
8007 01 800F 44
ЕСЛИ ВЫ УСТАНОВИТЕ ТОЧКУ ПРЕРЫВАНИЯ ПО АДРЕСУ 8004 И НАЧ-
НЕТЕ ВЫПОЛНЕНИЕ С АДРЕСА 8000, ТО РЕГИСТР "A" У ВАС БУДЕТ ЗАГ-
РУЖЕН ЗНАЧЕНИЕ 1 И ВЫПОЛНЕНИЕ ПЕРЕЙДЕТ В ТОЧКУ 800А, РЕГИСТР
"B" ЗАГРУЗИТСЯ ЗНАЧЕНИЕМ 2 И ВЫПОЛНЕНИЕ ПЕРЕЙДЕТ В ТОЧКУ 8005,
НО ЗНАЧЕНИЮ ПО АДРЕСУ 8005 БЫЛО ПЕРЕПИСАНО ПРИ УСТАНОВЛЕНИИ
МЛАДШЕГО БАЙТА ТОЧКИ ПРЕРЫВАНИЯ, ТАКИМ ОБРАЗОМ МЫ БУДЕМ ИМЕТЬ
НЕ ВЕРНЫЕ КОДЫ. НАДО ПОМНИТЬ О ВОЗМОЖНОСТИ ТАКОЙ СИТУАЦИИ И ПО-
ПЫТАТЬСЯ ВЫПОЛНИТЬ ЭТУ ПРОГРАММУ ПО ШАГАМ (СМ.КОМАНДУ Z).
"X" - ИСПОЛЬЗУЕТСЯ ДЛЯ ИЗМЕНЕНИЯ СОДЕРЖИМОГО УКАЗАТЕЛЯ ПА-
МЯТИ ПО НАЗНАЧЕНИЮ АБСОЛЮТНОГО АДРЕСА В ИНСТРУКЦИИ "CALL" И
"JP". ПО КОМАНДЕ ЗАМЕНЯЮТСЯ ДВА БАЙТА ПО АДРЕСУ УКАЗАТЕЛЯ ПАМЯ-
ТИ И УКАЗАТЕЛЯ ПАМЯТИ +1. ПОМНИТЕ, ЧТО МЛАДШАЯ ПОЛОВИНА АДРЕСА
СОДЕРЖИТСЯ В ПЕРВОМ БАЙТЕ, А СТАРШАЯ ПОЛОВИНА ВО ВТОРОМ, В СО-
ОТВЕТСТВИИ С ФОРМАТОМ INTEL. НАПРИМЕР, ВЫ ЖЕЛАЕТЕ ПРОСМОТРЕТЬ
ПРОГРАММУ, ВЫЗЫВАЕМУЮ В КОМАНДЕ CD0563, УСТАНОВИТЕ КОМАНДОЙ "M"
УКАЗАТЕЛЬ ПАМЯТИ, ТАК ЧТОБЫ ОН ВСТАЛ НА АДРЕС ИНСТРУКЦИИ "CALL"
И НАЖМИТЕ "X", ЭКРАН ИЗМЕНЯЕТСЯ ТАК, ЧТО ЦЕНТР (УКАЗАТЕЛЬ ПА-
МЯТИ ) БУДЕТ ПО АДРЕСУ 6305 (СМ.КОМАНДУ "U" СОВМЕСТНО С "X").
"Y" - ВВОДИТ КОДЫ АSCII ПО УКАЗАТЕЛЮ ПАМЯТИ. КОМАНДА "Y"
ДАЕТ ВАМ НОВУЮ СТРОКУ, НА КОТОРУЮ ВЫ МОЖЕТЕ ВВОДИТЬ ASCII СИМ-
ВОЛЫ ПРЯМО С КЛАВИАТУРЫ, ШЕСТНАДЦАТЕРИЧНЫЕ КОДЫ ЭТИХ СИМВОЛОВ
БУДУТ ВВОДИТСЯ В ПАМЯТЬ, НАЧИНАЯ С ТЕКУЩЕГО ЗНАЧЕНИЯ УКАЗАТЕЛЯ
ПАМЯТИ. НАБОР СТРОКИ ЗАВЕРШИТЬСЯ ПО "CAPS SHIFT И 5". ДЛЯ УДА-
ЛЕНИЯ СИМВОЛОВ В СТРОКЕ МОЖНО ИСПОЛЬЗОВАТЬ "DELETE". ПОСЛЕ ЗА-
ВЕРШЕНИЯ НАБОРА ЭКРАН ЗАМЕНИТСЯ ТАК, ЧТО УКАЗАТЕЛЬ ПАМЯТИ УСТА-
НОВИТСЯ ПОСЛЕ ВВЕДЕННОЙ ВАМИ СТРОКИ.
"SIMBOL SHIFT И Z" - ШАГОВОЕ ВЫПОЛНЕНИЕ ПРОГРАММЫ.
ПЕРЕД ИСПОЛЬЗОВАНИЕМ "Z" (ИЛИ "T") ПРОГРАММНЫЙ СЧЕТЧИК "PC"
И УКАЗАТЕЛЬ ПАМЯТИ ДОЛЖНЫ БЫТЬ УСТАНОВЛЕНЫ В АДРЕС ИНСТРУКЦИИ
С КОТОРОЙ ВЫ ЖЕЛАЕТЕ НАЧАТЬ ШАГОВОЕ ВЫПОЛНЕНИЕ. "Z" ПРОСТО ВЫ-
ПОЛНЯЕТ ОЧЕРЕДНУЮ ИНСТРУКЦИЮ И СООТВЕТСТВУЮЩИМ ОБРАЗОМ ИЗМЕНЯЕТ
ОСНОВНОЙ ЭКРАН. ПОМНИТЕ, ЧТО ШАГОВОЕ ВЫПОЛНЕНИЕ МОЖНО ОСУЩЕС-
ТВИТЬ КАК В "RAM", ТАК И В "ROM", НО ПРЕРЫВАНИЕ ПРИ ЭТОМ ДОЛЖНЫ
БЫТЬ ЗАМАСКИРОВАНЫ.
ПРИМЕР: ДОПУСТИМ У ВАС ИМЕЕТСЯ ТРИ СЕКЦИИ ПРОГРАММЫ ПРИВЕ-
ДЕННОЙ НИЖЕ. ПЕРВАЯ СЕКЦИЯ - ЭТО ГОЛОВНАЯ ПРОГРАММА. КОТОРАЯ
ЗАВЕРШАЕТ РЕГИСТРОВЫЕ ПАРЫ "HL" И "DE" ЧИСЛАМИ И ЗАТЕМ ВЫЗЫВАЕТ
ПОДПРОГРАММУ (ВТОРАЯ СЕКЦИЯ) ДЛЯ ИХ ПЕРЕМНОЖЕНИЯ (РЕЗУЛЬТАТ В
"HL") И, НАКОНЕЦ, ВЫЗЫВАЕТ ПРОГРАММУ "AOUT" (ТРЕТЬЯ СЕКЦИЯ),
ДЛЯ ВЫВОДА РЕЗУЛЬТАТА НА ЭКРАН.
7080 2А0072 LD HL,(7200) ; SECTION 1
7083 ЕDSB0272 LD DE,(7202)
7087 CD0071 CALL MULT
708A 7C LD A,H
708B CD1D71 CALL AOUT
708E 7D LD A,L
708F CD1D71 CALL AOUT
7092 210000 LD HL,0
7100 AF MULT XOR A ; SECTION 2
7101 ED52 SBC HL,DE
7103 19 ADD HL,DE
7104 3001 JR NC,MUL
7006 EB EX DE,HL
7107 B2 MU1 OR D
7108 37 SCF
7109 C0 RET NZ
710A B3 OR E
710B 5A LD E,D
710C 2007 JR NZ,MU4
710E EB EX DE,HL
710F C9 RET
7110 EB MU2 EX DE,HL
7111 19 ADD HL,DE
7112 EB EX DE,HL
7113 29 MU3 ADD HL,HL
7114 D8 RET C
7115 1F MU4 RRA
7116 30BF JR NC,MU3
7118 B7 OR A
7119 20F5 JR NZ,MU2
711B 19 ADD HL,DE
711C C9 RET
711D F5 AOUT PUSH AF ;SECNION 3
711E 0F RRCA
711F 0F RRCA
7120 0F RRCA
7121 0F RRCA
7122 CD2671 CALL NIBLE
7125 F1 POP AF
7126 E60F NIBLE ANT %1111
7128 C690 ADD A, 90
712A 27 DAA
712B CE40 ADC A, 40
712D 27 DAA
712E FD213A5C LD IY, 5C3A
7132 D7 RST 10
7133 C9 RET
7200 1B2A DEFW 10779
7202 0300 DEFW 3
ИССЛЕДУЕМ ЭТУ ПРОГРАММУ ИСПОЛЬЗУЯ ШАГОВОЕ ВЫПОЛНЕНИЕ:
М:7080 "ENTER" УСТАНОВИТЬ УКАЗАТЕЛЬ ПАМЯТИ В 7080
7080 . УСТАНОВИТЬ ПРОГРАММНЫЙ СЧЕТЧИК В 7080
Z ШАГ
Z ШАГ
М:7115 "ENTER" ПЕРЕХОД НА ПРЕДВОРИТ. ОБРАБОТКУ ЧИСЕЛ
W УСТАНОВИТЬ ТОЧКУ ПРЕРЫВАНИЯ
К ПРОДОЛЖИТЬ ВЫПОЛНЕНИЕ С 7100
ТОЧКА ПРЕРЫВАНИЯ
Z ШАГ
Z СЛЕДУЮЩИЙ УСЛОВНЫЙ ПЕРЕХОД
Z ШАГ
Z ШАГ
Z ШАГ
Z ШАГ
Z ШАГ
Z ШАГ
Z ВОЗВРАТ ИМЯ ПОДПРОГРАММЫ УМНОЖЕНИЯ
Z ШАГ
М:7128 УСТАНОВИТЬ УКАЗАТЕЛЬ ПАМЯТИ НА
ИНТЕРЕСУЮЩИЙ БАЙТ
W УСТАНОВИТЬ ТОЧКУ ПРЕРЫВАНИЯ
К ПРОДОЛЖИТЬ ВЫПОЛНЕНИЕ С 711D
ТОЧКА ПРЕРЫВАНИЯ
Z ШАГ
Z ШАГ
Z ШАГ
Z ШАГ
, ПРОСМОТР АДРЕСА ВОЗВРАТА
W УСТАНОВКА ТОЧКИ ПРЕРЫВАНИЯ
К И ПРОДОЛЖЕНИЕ
Z ШАГ
, ВОЗВРАТ ИЗ ПОДПРОГРАММЫ ВЫВОДА НА ЭКРАН
W УСТАНОВИТЬ ТОЧКУ ПРЕРЫВАНИЯ
К
Z ШАГ
Т ВЫЗОВ "LOUT"
"SIMBOL SHIET И Р" - ЭТА КОМАНДА ТАКЖЕ КАК И "L" ВЫВОДИТ
ДАМП ПАМЯТИ НО НА ПРИНТЕР. ПОМНИТЕ, ЧТО ПРИ ОКОНЧАНИИ ОЧЕРЕДНОЙ
СТРАНИЦЫ ВЫ МОЖЕТЕ ВВЕСТИ "CAPS SHIFT И 5" ДЛЯ ВОЗВРАТА К ОСНОВ-
НОМУ ЭКРАНУ ИЛИ ЛЮБУЮ ДРУГУЮ КЛАВИШУ (ЗА ИСКЛЮЧЕНИЕМ "CAPS
SHIFT И 1" ДЛЯ ВЫВОДА СЛЕДУЮЩЕЙ СТРАНИЦЫ.
"ИЗМЕНЕНИЯ ПАМЯТИ" - СОДЕРЖИМОЕ АДРЕСОВ ЗАДАВАЕМЫХ УКАЗА-
ТЕЛЕЙ ПАМЯТИ МОЖЕТ БЫТЬ ИЗМЕНЕНО ВВОДОМ ШЕСТНАДЦАТЕРИЧНЫХ ЧИ-
СЕЛ. ВВОДЯТСЯ ТОЛЬКО ДВЕ ПОСЛЕДНИХ ЦИФРЫ.
ПРИМЕРЫ:
F2 "ENTER" ВВОДИТСЯ F2 И УКАЗАТЕЛЬ ПАМЯТИ ИЗМЕНЯЕТСЯ НА 1.
123 "CAPS SHIFT 8" ВВОДИТСЯ 23 И УКАЗАТЕЛЬ ПАМЯТИ ИЗМЕНЯЕТСЯ
НА 8.
8CO ВВОДИТСЯ 8C И УКАЗАТЕЛЬ ПАМЯТИ ИЗМЕНЯЕТСЯ (ТАК
КАК ИСПОЛЬЗОВАНА КОМАНДА "О") ПО ОТНОСИТЕЛЬНОМУ
СМЕЩЕНИЮ 8С.
2А5D ВВОДИТСЯ 5D,НО УКАЗАТЕЛЬ ПАМЯТИ НЕ ИЗМЕНЯЕТСЯ,
Т.К. ПРОБЕЛ ("") НЕ ЯВЛЯЕТСЯ КОМАНДОЙ.
"ИЗМЕНЕНИЕ РЕГИСТРОВ" - ЕСЛИ ШЕСТНАДЦАТИРИЧНОЕ ЧИСЛО ВВО-
ДИТСЯ ПОСЛЕ УКАЗАТЕЛЯ ">" И ЗАВЕРШАЕТСЯ ТОЧКОЙ ".", ТО ЭТО ЧИС-
ЛО БУДЕТ ВВЕДЕНО В РЕГИСТР 780, НЕПОСРЕДСТВЕННО АДРЕСУЕМЫЙ РАС-
ПОЛОЖЕННЫМ СПРАВА УКАЗАТЕЛЕМ "->". ПОМНИТЕ, ЧТО НЕВОЗМОЖНО АД-
РЕСОВАТЬ (А ТАКЖЕ ИЗМЕНИТЬ) УКАЗАТЕЛЬ СТЕКА "SP" ИЛИ РЕГИСТР
"IR". ПРИМЕРЫ:
. УКАЗАТЕЛЬ НА "IY"
. УКАЗАТЕЛЬ НА "IX"
0. УСТАНОВИТЬ "IX" В 0
. УКАЗАТЕЛЬ НА "HL"
123 УСТАНОВИТЬ 123 В "HL"
. УКАЗАТЕЛЬ НА "DE"
. УКАЗАТЕЛЬ НА "BС"
Е2А7 УСТАНОВИТЬ Е2А7 В "BС"
. УКАЗАТЕЛЬ НА "AF"
FF00 УСТАНОВИТЬ В "А" FF И СБРОСИТЬ ВСЕ ФЛАГИ
. УКАЗАТЕЛЬ НА "PC"
8000. УСТАНОВИТЬ 8000 В "PC"
ПОМНИТЕ, ЧТО "." МОЖЕТ БЫТЬ ТАКЖЕ ИСПОЛЬЗОВАНА ДЛЯ ИЗМЕНЕ-
НИЯ АЛЬТЕРНАТИВНОГО НАБОРА, ЕСЛИ ОН ОТОБРАЖАЕТСЯ. ИСПОЛЬЗУЙТЕ
КОМАНДУ "Q" ДЛЯ ПЕРЕКЛЮЧЕНИЯ НА АЛЬТЕРНАТИВНЫЙ НАБОР РЕГИСТРОВ.
ПРИЛОЖЕНИЕ А
-------------
СПИСОК ОШИБОК ТРАНСЛЯЦИИ
-----------------------
* ERORRS * 1 - ОШИБКА В СТРОКЕ ТЕКСТА ПРОГРАММЫ.
* ERORRS * 2 - МНЕМОНИКА НЕ РАСПОЗНАНА.
* ERORRS * 3 - НЕДОПУСТИМОЕ ВЫРАЖЕНИЕ.
* ERORRS * 4 - ПОВТОРНОЕ ОПРЕДЕЛЕНИЕ СИМВОЛА.
* ERORRS * 5 - СТРОКА СОДЕРЖИТ НЕ ПРИГОДНЫ ДЛЯ ДАННОГО
КОНТЕКСТА ЗНАК.
* ERORRS * 6 - ОДИН ИЗ ОПЕРАНДОВ В ДАННОЙ СТРОКЕ НЕ ПРИГОДЕН
* ERORRS * 7 - ИСПОЛЬЗОВАНИЕ ЗАРЕЗЕРВИРОВАННОГО СЛОВА В КА-
ЧЕСТВЕ СИМВОЛА.
* ERORRS * 8 - НЕВЕРНЫЙ СИМВОЛ РЕГИСТРА.
* ERORRS * 9 - В СТРОКЕ СЛИШКОМ МНОГО ОБОЗНАЧЕНИЯ РЕГИСТРОВ.
* ERORRS * 10 - ПРЕВЫШЕНО МАКСИМАЛЬНО ДОПУСТИМОЕ ЗНАЧЕНИЕ ВЫ-
РАЖЕНИЯ.
* ERORRS * 11 - НЕ ВЕРНАЯ ИНСТРУКЦИЯ JP (IX+D) ИЛИ JP (IY+D).
* ERORRS * 12 - ОШИБКА В ДИРЕКТИВЕ АССЕМБЛЕРА
* ERORRS * 13 - НЕДОПУСТИМАЯ ССЫЛКА ВПЕРЕД, Т.Е. В ДИРЕКТИВЕ
EQU ИСПОЛЬЗОВАН НЕ ОПРЕДЕЛЕННЫЙ СИМВОЛ.
* ERORRS * 14 - ДЕЛЕНИЕ НА НУЛЬ.
* ERORRS * 15 - ПЕРЕПОЛНЕНИЕ В ОПЕРАНДЕ УМНОЖЕНИЯ.
BAD MEMORI - ДЛЯ ДАЛЬНЕЙШЕГО ВВОДА ТЕКСТА НЕ ХВАТАЕТ ПАМЯ-
ТИ НЕОБХОДИМО ЗАПИСАТЬ ТЕКСТОВЫЙ ФАЙЛ ИЛИ ЕГО
ЧАСТЬ НА ЛЕНТУ.
BAD ORG - ИСПОЛЬЗОВАНИЕ В КАЧЕСТВЕ ПАРАМЕТРА ДИРЕКТИВЫ
ORG АДРЕСА ПРИХОДЯЩЕГОСЯ НА КОДЫ GENS3, ТЕК-
СТОВЫЙ ФАЙЛ ИЛИ ТАБЛИЦУ СИМВОЛОВ. УПРАВЛЕНИЕ
ВОЗВРАЩАЕТСЯ РЕДАКТОРУ.
OUT OF TABL SPACE - ВОЗНИКАЕТ ВО ВРЕМЯ ПЕРВОГО ПРОХОДА ПРИ
НЕХВАТКЕ ПАМЯТИ, ВЫВЕДЕННОЙ ПОД ТАБЛИЦУ
СИМВОЛОВ. УПРАВЛЕНИЕ ВОЗВРАЩАЕТСЯ РЕ-
ДАКТОРУ.
ПРИЛОЖЕНИЕ 8
-------------
СПИСОК ЗАРЕЗЕРВИРОВАННЫХ СЛОЕВ, МНЕМОНИК, КОМАНД, ДИРЕКТИВ
----------------------------------------------------------
GENS3
-----
**********************************************************
* *
* ВНИМАНИЕ! ПРИМЕНЕНИЕ ПРОПИСНЫХ БУКВ В ПРИВЕДЕННЫХ НИЖЕ *
* ЗАРЕЗЕРВИРОВАННЫХ СЛОВАХ, МНЕМОНИКАХ,КОМАНДАХ*
* И ДИРЕКТИВАХ *
* *
* Н Е Д О П У С Т И М О ! ! ! *
* *
**********************************************************
B1. ЗАРЕЗЕРВИРОВАННЫЕ СЛОВА.
-------------------------------
А B C D E H L J R S AF AF
BC DE HL IX IY SP NC Z NZ M PE PO
B2. МНЕМОНИЧЕСКИЕ ОБОЗНАЧЕНИЯ КОМАНД Z80.
---------------------------------------------
АDC ADD AND BIT CALL CCF CP CPD
CPRD CPI CPIR CPL DAA DEC DI DJNZ
EI EX EXX HALT IM IN INC IND
INDR INI INIR JP JR LD LDD LDDR
LDI LDIR NEG NOP OTDR OTIR OUT OUTD
OOT I POP PUSH REG RET RETI REIN
RL RLA RLC RLCA RLD RR RRA RRC
RRCA RRD RST SBC SCF SET SLA SPA
SRL SUB XOR
B3. ДИРЕКТИВА АССЕМБЛЕРА.
----------------------------
DEFB DEFM DEFS DEFW ELSE END ENT
EQU IF ORG
B4. КОМАНДЫ АССЕМБЛЕРА.
---------------------------
*D *E *H *L *S *C *F
ПРИЛОЖЕНИЕ С.
-----------------
РАБОЧИЙ ПРИМЕР.
-------------------
ЕСЛИ ВЫ НОВИЧОК В ПРОГРАММИРОВАНИИ НА АССЕМБЛЕРЕ, ВНИМА-
ТЕЛЬНО ПРОРАБОТАЙТЕ ПРИВЕДЕННЫЕ НИЖЕ ПРИМЕРЕ. ЗАПОМНИТЕ, ЧТО
"ENTER" ИСПОЛЬЗУЕТСЯ ДЛЯ ОБОЗНАЧЕНИЯ НАЖАТИЯ КЛАВИШИ "ENTER" НА
КЛАВИАТУРЕ.
РАБОЧИЙ ПЛАН.
1. НАПИСАТЬ ПРОГРАММУ УМНОЖЕНИЯ И ЗАПИСАТЬ ЕЕ НА ЛЕНТУ,
ИСПОЛЬЗУЯ КОМАНДУ РЕДАКТОРА "Р" ТАК, ЧТОБЫ ЛЕГКО БЫЛО
ИСПРАВЛЯТЬ ВСЕ ВОЗМОЖНЫЕ ОШИБКИ.
2. ОТЛАДИТЬ ПРОГРАММУ УМНОЖЕНИЯ, РЕДАКТИРУЯ ЕЕ ПРИ НЕОБХО-
ДИМОСТИ.
3. ЗАПИСАТЬ ОТЛАЖЕННУЮ ПРОГРАММУ НА ЛЕНТУ, ИСПОЛЬЗУЯ КО-
МАНДУ РЕДАКТОРА "T", ЧТОБЫ ЭТА ПРОГРАММА МОГЛА ВКЛЮЧАТЬ
В ДРУГИЕ ПРОГРАММЫ.
СНАЧАЛА ВВЕДИТЕ GENS3: LOAD "" CODE 24064 ; И НА ЗАПРОС:
BUFFER SIZE ? ; ОТВЕТЕ :1 "ENTER", ТЕМ САМЫМ СОЗДАВ БУФЕР РАЗ-
МЕРОМ 256 БАЙТ. УКАЗАТЕЛЬ ">" ГОВОРИТ, ЧТО ВЫ НАХОДИТЕСЬ В РЕ-
ЖИМЕ РЕДАКТОРА И МОЖЕТЕ ПРИСТУПАТЬ К ВВОДУ ТЕКСТА ПРОГРАММЫ.
НАПИСАНИЕ ПРОГРАММЫ УМНОЖЕНИЯ.
ДЛЯ ВВОДА ТЕКСТА ПРОГРАММЫ ИСПОЛЬЗУЕТСЯ КОМАНДА РЕДАКТОРА
"I". УПРАВЛЯЮЩАЯ ФУНКЦИЯ "CI" (ЗНАК ТАБУЛЯЦИИ) ПРИМЕНЯЕТСЯ ДЛЯ
ПОЛУЧЕНИЯ ТАБУЛИРОВАННОГО ЛИСТИНГА.
**************************************************************
* *
* ВНИМАНИЕ! АДРЕСА, УКАЗЫВАЕМЫЕ В ЭТОМ ПРИЛОЖЕНИИ, МОГУТ НЕ *
* СООТВЕТСТВОВАТЬ АДРЕСАМ В ВАШЕЙ КОМП'ЮТЕРЕ, ОНИ *
* ДАНЫ ТОЛЬКО ДЛЯ ПРИМЕРА. *
* *
**************************************************************
I 10,10 "ENTER"
10 ; A FAST INTEGER MULTIPLY "ENTER"
20 ; ROUTINE. MULTIPLIES HL "ENTER"
30 ; BY DE. RETURN THE RESULT "ENTER"
40 ; IN HL. C FLA SET ON FN "ENTER"
50 ; OVERFOW. "ENTER"
60 "ENTER"
70 ; ORG 7F00 "ENTER"
80 "ENTER"
90 ; MULT OR A "ENTER"
100 SBC HL,DE ; HL > DE "ENTER"
110 ADD HL,DE "ENTER"
130 JR NC,MUL ; YES "ENTER"
140 ;MUL OR D "ENTER"
150 SCF ; OVERFLOW IF "ENTER"
160 RET NZ ; DE > 255 "ENTER"
170 OR E ; TIMES 0 "ENTER"
180 LD E,D "ENTER"
190 JR NZ,MU5 ; NO "ENTER"
200 EX DE,HL ; 0 "ENTER"
210 RET "ENTER"
220 "ENTER"
230 ; MINE ROUTINE "ENTER"
240 "ENTER"
250 MU2 EX DE,HL "ENTER"
260 ADD HL,DE "ENTER"
270 EX DE,HL "ENTER"
280 MU3 ADD HL,HL "ENTER"
290 RET C ; OVERFLOW "ENTER"
300 MU4 RRA "ENTER"
310 JR NC,MU3 "ENTER"
320 JR A "ENTER"
330 JR NZ,MU2 "ENTER"
340 ADD HL,DE "ENTER"
350 RET "ENTER"
360 CC
> P 10,350
>
В РЕЗУЛЬТАТЕ ТЕКСТ ПРОГРАММЫ БУДЕТ СОЗДАН И СОХРАНЕН НА
ЛЕНТЕ. НЕ ЗАБУДЬТЕ ВКЛЮЧИТЬ МАГНИТОФОН В РЕЖИМ "ЗАПИСЬ" ПЕРЕД
ВЫПОЛНЕНИЕМ КОМАНДЫ "Р".
ОТЛАДКА ПРОГРАММЫ.
СНАЧАЛА ПРОВЕРИМ, НЕТ ЛИ В ПРОГРАММЕ ОШИБОК ТРАНСЛЯЦИИ,
БЕЗ ВЫДАЧИ ЛИСТИНГА ДЛЯ ЭТОГО ИСПОЛЬЗУЕМ РЕЖИМ ТРАНСЛЯТОРА "6"
(ТРАНСЛЯЦИЯ БЕЗ ВЫДАЧИ ЛИСТИНГА И РЕГЕНЕРАЦИИ ОБ'ЕКТНЫХ КОДОВ).
> А "ENTER"
TABLE SIZE: "ENTER" (РАЗМЕР ТАБЛИЦЫ СИМВОЛОВ ПО УМОЛЧАНИЮ)
ОРTIONS : 6
* HISOFT GENS3 ASSEMBLER *
COPYRIGHT HISOFT 1983
ALL RIGHTS RESERVED
PASS 1 ERORRS : 00
PASS 2 ERORRS : 00
* WARNING * MU5 ABSENT
TABLE USED 74 FROM 161
В СТРОКЕ 190 ИМЕЮТСЯ ОШИБКИ: ВМЕСТО МU4 НАБРАНО МU5.
ИСПРАВИМ ЭТУ ОШИБКУ:
>F190,190,MU5,MU4
190 JR NZ (ТЕПЕРЬ ИСПОЛЬЗУЕМ ПОДКОМАНДУ "S")
>
ПРОАССЕМБЛИРОВАВ ПРОГРАММУ ВТОРИЧНО, УБЕДИМСЯ В ОТСУТСТВИИ
ОШИБОК. ТЕПЕРЬ НЕОБХОДИМО НАПИСАТЬ ПРОГРАММУ ДЛЯ ПРОВЕРКИ ПРА-
ВИЛЬНОСТИ РАБОТЫ ПРОГРАММЫ УМНОЖЕНИЯ.
>N 300,10 (ПЕРЕНУМЕРАЦИЯ) "ENTER"
>I 10,10 "ENTER"
10 ; THE MULT ROUNINE "ENTER"
20 ; TEST CODES "ENTER"
30 "ENTER"
40 LD HL,50 "ENTER"
50 LD DE,20 "ENTER"
60 CALL MULT ; MULTIPLY "ENTER"
70 LD A,H ; O/P RESULT "ENTER"
80 CALL AOUT "ENTER"
90 LD A,L "ENTER"
100 CALL AOUT "ENTER"
110 RET ; RETURN NO EDITOR "ENTER"
120 "ENTER"
130 ; ROUTINE TO C/P A IN HEХ "ENTER"
140 "ENTER"
150 AOUT PUSH AF "ENTER"
160 RRCA "ENTER"
170 RRCA "ENTER"
180 RRCA "ENTER"
190 RECA "ENTER"
200 CALL NIBLE "ENTER"
210 POP AF "ENTER"
220 NIBLE AND %1111 "ENTER"
230 ADD A, 90 "ENTER"
240 DAA "ENTER"
250 ADC A, 40 "ENTER"
260 DAA "ENTER"
270 LD TY, 5C3A ; FOR ROM "ENTER"
280 RST 10 ; ROM CALL "ENTER"
290 RAT "ENTER"
300 CC
>
ТЕПЕРЬ ПРОАССЕМБЛИРУЕМ ПЕРВИЧНУЮ ПРОГРАММУ ВМЕСТЕ С ПОД-
ПРОГРАММОЙ УМНОЖЕНИЯ:
>А "ENTER"
TABLE SIZE : "ENTER"
OPTIONS : 6 "ENTER"
****************************
* *
* ЗАСТАВКА GENS3 *
* *
****************************
7EAC 190 RECA
* ERORR * 02 (НАЖМИТЕ ЛЮБУЮ КЛАВИШУ ДЛЯ ПРОДОЛЖЕНИЯ)
PASS 1 EROORS : 01
NFBLE USED : 88 FROM 210
>
В ПРОГРАММЕ ОДНА ОШИБКА - В СТРОКЕ 190 ВМЕСТО RRCA НАБРАНО
RECA. ИСПРАВИМ ЭТУ ОШИБКУ:
>Е190 "ENTER"
190 RECA
ПРОГРАММЫ. ЭТО ДОСТИГАЕТСЯ ПРИ ПОМОЩИ ДИРЕКТИВЫ ENT:)"ENTER"
>300 ЕNТ <АДРЕС> "ENTER"
ТЕПЕРЬ ПРОАССЕМБЛИРУЕМ СНОВА И ПОЛУЧИМ:4 (БЕЗ ЛИС-
ТИНГА). ПРОГРАММА БУДЕТ ОТТРАНСЛИРОВАНА ВЕРНО. ДОПУСТИМ, ЧТО ЭТО
ТАК, И МЫ МОЖЕМ ПРОВЕРИТЬ РОГРАММTABLE USED 88 FROM 211ТЬ РЕ-
ДАКТОРУ АДРЕС НАЧАЛ EXECUTES : 32416
ИЛИ ЧТО НИБУДЬ ПОДОБНОЕ, ПОСЛЕ ЧЕГО МОЖНО ВЫПОЛНИТЬ ПРОГ-
РАММУ, ИСПОЛЬЗУЯ КОМАНДУ РЕДАКТОРА "R". В РЕЗУЛЬТАТЕ ВЫПОЛНЕНИЯ
ПРОГРАММЫ (УМНОЖЕНИЯ 20 НА 50) ОЖИДАЕМ ПОЛУЧИТЬ 1000 ИЛИ 03Е8 В
ШЕСТНАДЦАТИРИЧНОЙ СИСТЕМЕ СЧИСЛЕНИЯ.
>R
0032>
НЕ РАБОТАЕТ! ПОЧЕМУ? ПОСМОТРИТЕ СТРОКИ 380-500 (L380,500).
ВЫ УВИДИТЕ В СТРОКЕ 430 ИНСТРУКЦИЮ "ОR D", ЗА КОТОРОЙ СЛЕДУЕТ
"RET NZ". KОГДА ВЫПОЛНЯЕТСЯ ЛОГИЧЕСКОЕ ОR МЕЖДУ АККУМУЛЯТОРОМ И
РЕГИСТРОМ D В СЛУЧАЕ НЕ НУЛЕВОГО РЕЗУЛЬТАТА УСТАНАВЛИВАЕТСЯ
ФЛАГ "С". ЦЕЛЬ ЭТИХ ДЕЙСТВИЙ - УБЕДИТЬСЯ,ЧТО DE < 256, ЧТОБЫ
ПРИ УМНОЖЕНИИ НЕ ПРОИЗОШЛО ПЕРЕПОЛНЕНИЯ. ЭТО УСЛОВИЕ ВЫПОЛНЯЕТ-
СЯ, ЕСЛИ "А" ТАКЖЕ РАВЕН 0. ПОЭТОМУ ПРЕДВАРИТЕЛЬНО НЕОБХОДИМО
ОЧИСТИТЬ АККУМУЛЯТОР, ИНАЧЕ ПОЛУЧИМ НЕ ПРЕДСКАЗУЕМОЕ ПЕРЕПОЛНЕ-
НИЕ. ПРОСМАТРИВАЯ ПРОГРАММУ, ЗАМЕТИМ, ЧТО В СТРОКЕ 380 "ОR А"
МОЖНО ЗАМЕТИТЬ НА "XOR A", УСТАНОВИВ ФЛАГИ ДЛЯ ИНСТРУКЦИИ "SBC
HL,DE" И ОБНУЛИВ АККУМУЛЯТОР.
>Е380 "ENTER"
380 MULT OR A
380 I (РЕЖИМ ВСТАВКИ) Х "ENTER" "ENTER"
АССЕМБЛИРУЕМ СЛОВА (РЕЖИМ 4). ЗАПУСКАЕМ ПРОГРАММУ, ИСПОЛЬ-
ЗУЯ "R". ОТВЕТ БУДЕТ ПРАВИЛЬНЫЙ : 3Е8.
ВЫ МОЖЕТЕ УБЕДИТЬСЯ В ПРАВИЛЬНОЙ РАБОТЕ ПРОГРАММЫ, РЕДАК-
ТИРУЯ СТРОКИ 20 И 40 ДЛЯ ДЛЯ УМНОЖЕНИЯ РАЗЛИЧНЫХ ЧИСЕЛ И ЗАТЕМ
ТРАНСЛИРУЯ И ЗАПУСКАЯ ЕЕ.
В ЗАВЕРШЕНИИ ВЫ МОЖЕТЕ ЗАПИСАТЬ ПРОГРАММУ НА ЛЕНТУ В ФОР-
МАТЕ, ДОПУСКАЮЩЕМ ДАЛЬНЕЙШЕЕ "ВКЛЮЧЕНИЕ" ТЕКСТА В ДРУГИЕ ПРОГ-
РАММЫ.
>Т 300,999,МULТ "ЕNTЕR"
ВНИМАНИЕ! ЗАПУСКАТЬ МАГНИТОФОН В РЕЖИМЕ "ЗАПИСЬ" НЕОБХО-
ДИМО ДО НАЖАТИЯ "ЕNTER".
ПРИЛОЖЕНИЕ D
-----------------
ПРИМЕР ОСНОВНОГО ЭКРАНА:
710С 2007 JR
PC 710C 20 07 EB C9 EB 19 EB
SP D0AF 8A 70 06 03 0A 03 0D
IY 0F6A 0D 11 0C 0F 09 18 18
IX DO0F 04 03 04 00 00 00 1B
HL 2A18 DF FE 29 28 02 CF 02
DE 0000 F3 AF 11 FF FF C3 CB
BC 0004 FF C3 CB 11 2F 5D 5C
AF 0304 V
IR 3F7C
7100 AF 7108 37 7110 EB
7101 ED 7109 C0 7111 19
7102 52 710A 83 7112 EB
7103 19 710B 5A 7113 29
7104 30 >710C 20< 7114 D8
7105 EB 710E E8 7116 30
7107 B2 710F 09 7117 EB
>
ПРИМЕР СООТВЕТСТВУЕТ ПРИМЕРУ ИЗ ОПИСАНИЯ КОМАНДЫ "SIMBOL
SHIFT И Z". СПРАВА ОТ СОДЕРЖИМОГО РЕГИСТРОВ ОТОБРАЖАЕТСЯ 7 БАЙТ
ПАМЯТИ ПО АДРЕСУ СОДЕРЖАЩЕМУСЯ В СООТВЕТСТВУЮЩЕМ РЕГИСТРЕ. РЕ-
ГИСТР ФЛАГОВ ДЕКОДИРУЕТСЯ И ОТОБРАЖАЕТСЯ В ВИДЕ СООТВЕТСТВУЮЩИХ
БИТОВ - ФЛАГОВ. УКАЗАТЕЛЬ РЕГИСТРОВ " " УКАЗЫВАЕТ НА ТЕКУЩИЙ
АДРЕСУЕМЫЙ РЕГИСТР (СМ. "ИЗМЕНЕНИЕ РЕГИСТРОВ"), КОМАНДА ВВОДИТ-
СЯ В НИЖНЕЙ СТРОКЕ ПОСЛЕ УКАЗАТЕЛЯ ">".