М О N S 4
Раздел 1. Запуск.
M0NS4 загружаете с желаемого адреса, и, затем, вызываете с этого же адреса.
Если вы хотите запустить M0NS4 вновь (вернувшись из M0NS4 в BASIC), то вы долж-
ны ввести адрес, с которого первоначально загрузили отладчик.
Будучи однажды помещенным в память, M0NS4 занимает приблизительно 6к в длину,
но вы должны предоставить непрерывную область 7к на загрузку M0NS4, т.к. после
основных кодов надо- поместить таблицу перемещаемых адресов. M0NS4 содержит
собственный внешний стек,' так что он является самообслуживающейся программой.
M0NS4 по умолчанию загружается с адреса 55000.
Получение копни.
Однажды загрузив MONS4 в память вашего SPECTRUM"a. вы можете сделать копию,
проделав следующие операции:
SAVE "MONS4"CODE ХХХХХ.6656 <ENTER> - на кассету
SAVE *"М",1."M0NS4"C0DE ХХХХХ.6656 <ENTER> - на дискету
SAVE *"М".1."M0NS4"C0DE ХХХХХ.6780 <ENTER> - на диск OPUS где ХХХХХ - адрес,
с которого вы загрузили M0NS4.
На входе MONS все адреса, отображаемые внутри ф.п.. представлены в шестнадца-
тиричном формате. Вы можете изменить это с помощью команды:
<SYMBOL SHIFT> 3 и адреса будут представлены в десятичном формате.
Некоторые команды, эффект от которых может быть гибельным в случае их ошибоч-
ного использования, требуют нажатия клавиши <SYMBOL SHI FT>. Это ручное нажатие
клавиши <SIMBOL SHJFT> будем представлять знаком " ", т.е. запись " 1" означает
нажатие <SIMB0L SHIFT> и "1" вместе.
Команды выполняются немедленно и не требуют после себя ввода <EN'TER>. Невер-
ные команды просто игнорируются.
Многие команды требуют ввода 16-рнчного числа. При вводе такого числа вы мо-
жете ввести любое количество 16-ричных цифр (0...9 И A...F) и закончить ввод
любым отличным от 16-рнчного числа символом. Если ограничителем является знача-
щая команда, то эта команда выполняется после того, как будет выполнена преды-
дущая. Если ограничителем является знак то введенное отрицательное число
будет возвращено в двойном дополнительном коде: "1800-" дает "Е800". Если при
вводе 16-рнчного числа вы ввели волее 4-х цифр, то только 4 последние введенные
цифры сохраняются и отображаются на экране.
Для возврата из M0NS4 в BASIC просто нажмите <STOP> (т.е. " А").
Раздел 2. Команды M0NS4.
1. ^ <SYMBOL SHI FT> 3 или #
Переключает систему счисления, в которой отображаются адреса, с 16-ричной на
десятичную и обратно.
2. <SYMBOL SHIFT> 4 или $
Отображает дизассемблированную страницу, начиная с адреса, указанного MP.
3. <ENTER>
Наращивает счетчик адресов на 1. так что 24-х байтовая область памяти сдви-
гается на 1 байт вперед.
4. <Стрелка вверх> ^
Уменьшает MP (указатель памяти) на 1.
5. <Стрелка влево)
Уменьшает значение MP на 8. Используется для быстрого просмотра.
6. сСтрелка вправо)
Увеличивает значение MP на 8. Используется для быстрого просмотра.
7. <.> (Запятая)
Заменяет MP адресом, находящимся в стеке (SP). Это полезно, когда вы хотите
посмотреть адрес возврата вызванной подпрограммы.
8. <G>
Поиск по образцу введенной строки. Например, скажем, вы хотите исследовать
память, начиная с адреса #80000 на появление образа #ЗЕ ffFF (2 байта). Последо-
вательность действий должна быть следующей:
М:80000 <ENTER> - устанавливает MP
G:ЗЕ <ENTER> - определяет 1-й байт строки
FF <ENTER> - определяет 2-й байт строки
<ENTER> - ограничивает строку
9. <Н>
Вам выводится подсказка на ввод десятичного числа, ограниченного не циф-
рой (любым символом, кроме 0...9).
10. <!>
Используется, для копирования блока*памяти нз одного места в другое, причем
блок памяти может быть скопирован в ячейки с перекрытием своего первоначального
местоположения. <1> выдает подсказки на ввод стартового и конечного адресов
блока, который должен быть скопирован (<FIRST:>. <LAST:>) и затем для адресов.
по котрым он должен быть помещен (<Т0:>).
П. <J>
Выполняет задачу с определенного адреса. Эта команда выдает подсказку "." для
16-рнчного числа.
12. <SYMBOL SHIFT> К
Продолжает выполнение с адреса, находящегося в счегчнке инструкций
13. <L>
Распечатывает блок памяти, начиная с адреса, находящегося в данный момен» в
MP.
14. <М>
Заносит в MP определенный адрес. Выдается подсказка ":" на ввод 16-ричного
адреса. Мр обновляется введенным адресом и соответственно на экране меняется
отображение области памяти
15. < N >
Находит следующее появление строки, определенной в прошлый раз командой <(>>
<G> позволяет вам определить строку и затем осуществить поиск ее первого появ-
ления.
16. <0>
Команда берет байт, адресуемый в данный момент MP. и представляет его как от
носительное смещение, соответственно обновляя отображение.
17. <Р>
Заполняет память между определенными границами нужным байтом. <Р> выдае«
подсказки <F1RST:>, <LAST:>,' <WITH:>. Введите 16-ричные числа в соответствии с
этими подсказками (соответственно: начальный и конечный адреса (включительно)
%6лока, который вы желаете заполнить, и байт заполнитель).
18. <Q>
Переключение наборов регистров. На входе ф.п. отображается стандартный набор
регистров (AF, HL, DE, ВС). При использовании <Q> будет отображаться альтерна-
тивный набор регистров (AF", HL". DE". ВС").
19. <SYMBOL SH1FT> T
Устанавливает точку останова после текущей инструкции и продолжает выполне-
ние.
20. <Т>
Дизассемблирование. Дизассемблирует блок кодов на принтер и/или дискету (по
ключу).
21. <U>
Используется совместно с командой <0>. Помните, что она обновляет отображение
памяти в соответсвии с относительным смещением.
22. <V>
Используется совместно с командой <Х> и подобна команде <U> по эффекту, с
той разницей, что она обновляет отображение памяти на картинку, которая была
перед последней командой <Х>.
23. <W>
Установка точки останова. Точка останова для M0NS4 это просто инструкция вы-
зова внутри M0NS4 подпрограммы, которая отображает ф.п. так. что программисту
дается возможность остановить выполнение программы и проверить регистры Z80.
флаги и любые значащие ячейки памяти.
24. <Х>
Используется для обновления MP по назначению абсолютного вызова подпрограммы
или по инструкции JP.
25. <Y>
Ввод ASCII. <Y> дает вам новую строку, которую кы можете ввести символами
ASCII прямо с клавиатуры.
26. <SYMBOL SH1FT> Z
Перед использованием " Z" (или " Т") PC должен быть установлен на адрес
инструкции, которую вы хотите выполнить. "Z" просто выполняет текущую инструк-
цию и обновляет ф.п., чтобы отобразить изменения, вызванные выполнением данной
инструкции.
27. <SYMBOL SH1 FT> Р
Эта команда аналогична LIST, но вывод вместо экрана идет на притер. Помните,
что в конце страницы вы нажимаете <EDIT> для возврата к ф.п. или любую другую
клавишу для получения другой страницы.
28. Модификация памяти
Значения ячеек по адресам, которые дает MP, могут быть модифицированы вводом
16-ричного числа, за которым следует ограничитель (см. Раздел I). Две последние
16-ричные цифры (если одна, то она дополняется нулем) вводятся в ячейку, на ко-
торую указывает MP, и затем команда (если она есть), определенная ограничите-'
лем, выполняется. Если ограничивается незначащая команда, то она игнорируется.