Справочник по системным программам для компьютера ZX Spectrum 1991 г.

Описание 16/48 - монитор 16/48.


■ Монитор 16/48

Монитор-программа предназначена для программирования в
машинных кодах. Она включает в себя средства ввода и отладки
программ в машинных кодах и дизассемблер.

Монитор занимает чуть больше 4к памяти у ее вершины и не
может перемещаться.

Загрузка монитора стандартная: LOAD ""

Для доступа к монитору адресуйтесь к нему в зависимости от его
версии:

RANDOMIZE USR 30479 (для 16к)

RANDOMIZE USR 63247 (для 48к)

Таким образом, вы можете в любой момент обратиться к мони-
тору из бейсика. При этом в нижней части экрана, в дополнение к
прежде записанному появится сообщение:

PRESS BREAK FOR MONITOR

После нажатия клавиши "BREAK" экан очищается и курсор
помещается в нижнюю часть экрана. Монитор использует свой соб-
ственный стек, делая его недоступным для ваших программ.

Приглашение (>) указывает, что монитор готов к приему коман-
ды.

*

Команды монитора

M-MEMORY - вывод и изменение содержимого памяти
X-ESCAPE - выход из командного режима к началу монитора

A-ARE А - перемещает область озу в новое место

F-FILL - заполняет область озу обозначенным значением

байта

I-INSERT - вставляет до 255 байт в программу

D-DELETE - стирает до 255 байт из программы
B-BRE AKPOINT - устанавливает адрес останова в программе
K-CODES - восстанавливает коды после прохождения

останова

R-REGISTERS - высвечивает содержимое регистров процессора
C-CONTINUE - продолжает выполнение программы после

останова

Y-RETURN - возвращение к бейсику
P-PRINTER - печать на принтере в НЕХ-виде
$-DOLLAR - ввод текста

Z-Z80 - дизассемблирует любую часть памяти

N-NUMBER - превращение чисел HEX-DEX и DEX-HEX

Внимание/: Все обращения к адресам и их содержимому в этой
инструкции будут в НЕХ-виде и приводятся в виде дву- или четырех-
значных чисел, без суффикса"Н".

Далее каждая команда будет разобрана подробно, с примерами,
для разъяснения ее действия.

М - после ввода команды вводится адрес ячейки памяти после
ввода четвертой цифры адреса справа от него появится
значение ячейки:
>М600000_

можно изменить содержимое ячейки, например на FF:
>M600000FF_

как только введена вторая Н ЕХ-цифра, содержимое
ячейки изменилось.

M600000FF
600100_

монитор выводит адрес следующей ячейки и ее содержимое.
Выход из режима "М" клавиша "X".
X - команда позволяет выйти из командного режима и

возвращает вас к подпрограмме монитора. Этой командой
прерывается любая команда кроме "R" и "К".

I - команда позволяет вставить до 255 байтов в любое место
вашей программы, сдвигая конечную часть программы
на соответсвующее число байтов.
Формат команды:
IAAAABBBBNN
где:

I-команда INSERT;

АААА - начальный адрес вставки;

ВВВВ - исходный адрес конца смещаемого блока;

NN - количество вставляемых байтов.

П р и м ер:
600203

6003 04 / место в которое надо

6004 05 вставить 5 байт/
600506

600708
600809

600В ОС -конец программы
вводим команду: 16004 6008 05
D - команда имеет действие противоположное "Г.
Формат: D АААА ВВВВ NN

параметры команды аналогичны команде "INSERT"
А - команда перемещает указанную область озу и имеет
формат:

А АААА ВВВВ СССС
где:

АААА - начальный исходный адрес смещаемой области
ВВВВ - конечный исходный адрес смещаемой области
СССС - новый начальный адрес.
Эта команда смещает заданную область памяти в любом
направлении, даже если новая область накладывается на
исходную. Исходная область памяти сохраняется, если она
не переписана в результате перемещения.
F - эта команда позволяет заполнить произвольную область
памяти произвольным значением. Формат команды:
FAAAABBBBXX
где:

АААА - начальный адрес указанной области;
ВВВВ - конечный адрес указанной области;
XX - вводимое значение
Y - над клавишей "Y" напечатана команда "RETURN", и

после нажатия этой клавиши и клавиши "ENTER", когда
на нижней строке экрана появится приглашение и курсор,
происходит возвращение в бейсик. Поскольку этот монитор

не имеет собственных команд "SAVE" и "LOAD", вы
можете воспользоваться командой" Y" для использования
"SAVE" и "LOAD" из бейсика. Если вернувшись в бейсик,
вы снова захотите обратиться к монитору, используются
следующие адреса с функцией USR, в зависимости от
версии монитора:

версия 16к: RANDOMIZE USR 30479
версия 48к: RANDOMIZE USR 63247

В - позволяет временно прервать выполнение программы в
машинных кодах в любой точке и вернуть управление
монитору. Формат:
ВАААА
где:

АААА - адрес останова (АААА должен быть первым
байтом команды многобайтной команды).
Коды трех адресов аааа, аааа+1, аааа+2
автоматически сохраняются в байтах данных
внутри монитора, а эти ячейки загружаются
командами:

CDOFF1 (для версии 48к)
CD OF 77 (для версии 16к)
что является обращением к монитору.

J - команда позволяет запустить любую вашу программу,
формат:
JAAAA,
где:

АААА - начальный адрес вашей программы. Команда
начинает свое действие с очистки экана.

К - команда"К" восстанавливает только последний
BREAKPOINT.

R - выводит значения всех регистров Z80 на экран.

С - позволяет продолжить работу после BREAKPOINT и

выполняется нажатием "С" и "ENTER". Вы можете выйти
в монитор, напечатав "Х"и "ENTER". Запущенная команда
будет продолжаться как будто BREAKPOINT не было.
Экран очищается, программный стек восстанавливается,
регистры процессора из своих блоков данных до введения
адреса возврата в программный счетчик и исполнение
возобновляется.

Р - команда вывода содержимого памяти на SINCLIAR
PRINTER. Формат команды:
Р ААААВВВВ,
где:

АААА - начальный адрес для вывода;
ВВВВ - конечный адрес для вывода.

$ - действует таким же образом, как и" М", и позволяет
вводить текст прямо с клавиатуры. Формат команды:
$АААА,
где:

АААА - начальный адрес текстового блока.С помощью
"CAPS SHIFT" и "SIMBOLSHIFT" можно
вводить любые символы, исключая "$". Графи-
ка UDG и команды, вводимые в режиме
"EXETEND MODE" не могут вводиться непо-
средственно. Инвертированные символы обра-
зуют доступ к областям памяти, содержащим
атрибуты.

Z - эта команда дизассемблирует любую часть ОЗУ или ПЗУ,
с выводом только на экран, или на экран и принтер. Распе-
чатка включает НЕХ-адрес первого байта команды,
НЕХ-значения байтов, относящихся к этой команде и
мнемонику Z80 относящуюся для этой команды. Формат
команды:
ZAAAABBBB,
где:

АААА, ВВВВ - начальный и конечный адреса памяти,
которую вы хотите дизассемблировать.

N - эта команда превращает HEX-DEX или DEX-HEX. После
ввода команды на экране появится.МиМВЕЯ N/ D? Необ-
ходимо ответить, какое число превращаем. НЕХ-числа
должны быть четырехзначными.

РЕГИСТРЫ Z80.

ре-

16к

48к

ре-

16к

48к регистр 16к 48к

гистр

гистр

R

7F3D

FF3D

Н'

7F46

FF46 IX/мл./ 7F4F FF4F

I

7F3E

FF3E

F

7F47

FF47 IX/ст./ 7F50 FF50

F'

7F3F

FF3F

А

7F48

FF48 IY/мл./ 7F51 FF51

А'

7F40

FF40

С

7F49

FF49 IY/ст./ 7F52 FF52

С'

7F41

FF41

В

7F4A

FF4A SP/мл./ 7F53 FF53

В'

7F42

FF42

Е

7F4B

FF4B SP/ст./ 7F54 FF54

Е'

7F43

EF43

D

7F4C

FF4C PC/мл./ 7F55 FF55

D'

7F44

FF44

L

7F4D

FF4D РС/ст./ 7F56 FF56

L'

7F45

FF45

Н

7F4E

FF4E




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Прощай, Enlight?! - ни для кого не секрет, что Enlight'97 был торжественно провален!
Реклама - Реклама и объявления ...
Наши новости - Новый protector - Кладбище v1.0
Авторы - Авторы журнала и контакты редакции.
Версии - 2 версии игры: DOUBLE DRAGON 3.

В этот день...   29 апреля