Системные программы для ZX Spectrum 1993 г.

Монитор-отладчик MON2 - введение. Загрузка монитора. Достоинства и недостатки MON2. Подгрузка отлаживаемой программы. Ввод команд.


Название класса программ, к которому принадлежит Моп2, —
мониторы-отладчики — говорит о многом. Слово «монитор» свиде-
тельствует о возможности просмотреть что-либо: вывести на экран
содержимое ячеек памяти, дизассемблировать (представить в виде
программы на языке ассемблер) программу в машинных кодах и
пр. Слово «отладчик» говорит о возможности отладить программу
(в данном случае программу в кодах). Кроме того, монитор-отлад-
чик должен позволять редактировать содержимое регистров и ячеек
памяти, копировать блоки, искать в памяти последовательность
кодов и пр.

Требования к мониторам-отладчикам для ZX Spectrum довольно
противоречивы: с одной стороны, они должны иметь достаточный
для нормальной работы набор команд, с другой — занимать мини-
мум памяти. В результате неизбежно страдает «дружественность»
этих программ. В них вы не встретите ни привычных меню и
Не1р'ов (страниц помощи), ни прочих «предметов роскоши», и уж
тем более, перед выполнением команды у вас не спросят: «А
уверены ли вы?», даже в том случае, если результат может быть
фатален для отлаживаемой программы и монитора.

Моп2 — один из достойнейших представителей семейства мони-
торов-отладчиков для ZX Spectrum. Многие программисты предпо-
читают работать именно с ним, а не с другими программами этого
класса.

Название «Моп2» фигурирует только в имени файла програм-
мы, нигде в теле монитора оно не встречается. Мало того, отсутст-
вует также информация о фирме-изготовителе, авторе, дате созда-
ния и т. д. Очевидно, причиной тому была чрезмерная скромность
хакера, писавшего Моп2. Хотя для хакеров это не типично.

Во избежание курьезов отметим, что из-за созвучности в назва-
ниях Моп2 довольно часто путают с другим монитором-отладчц-
ком — MONS2, предшественником широко распространенного

Достоинства:

• относительно небольшой объем занимаемой памяти (менее 6
килобайт);

• быстрота вывода на экран (за счет использования собственной
подпрограммы вывода);

• полная независимость монитора от системных переменных
интерпретатора Бейсика;

• независимость от режима прерываний (используется собст-
венная подпрограмма опроса клавиатуры);

• большой набор команд (20);

• распознавание команд калькулятора, встроенного в интерпре-
татор Бейсика;

• возможность ограничения размеров окна, в которое Моп2
выводит информацию;

• возможность работать как в шестнадцатеричной, так и в деся-
тичной системе счисления.

Недостатки:

• нет возможности задать точки останова и выполнить фрагмент
программы без «опеки» Моп2;

• не отображается содержимое регистров I и R, а также состоя-
ние триггера разрешения прерываний;

• не индицируется, в какой системе счисления происходит ввод-
вывод данных;

• не предусмотрена возможность записи дизассемблированного
текста программы на внешний носитель, а также вывода его
на принтер;

• нет версии программы, адаптированной к системе TR-DOS.

Подобно другим мониторам-отладчикам, Моп2 можно разме-
щать в памяти с произвольного адреса (в пределах разумного,
конечно; в частности, не рекомендуется загружать его в экранную
область и, само собой, в ПЗУ). Длина загружаемого файла — 7046
байт, однако, при первом запуске монитор самонастраивается,
после чего высвобождает еще 1092 байта.

Для загрузки Моп2 с магнитофона и запуска, например, с
адреса 25000 нужно ввести:

CLEAR 24999: LOAD "mon2"CODE 25000: RANDOMIZE USR 25000

MONS4 (его описание приведено в [1]). Но сходство Моп2 и
MONS2 на созвучности названий и заканчивается — различия
мониторов очевидны даже непосвященным.

Для загрузки с дисковода:
CLEAR 24999

RANDOMIZE USR 15619: REM: LOAD "mon2"CODE 25000
RANDOMIZE USR 25000

Перезапускается Mon2 с адреса загрузки.

Допустим, требуется «взглянуть» на некую программу в кодах,
которая записана на ленту под именем prog (тип CODE) и имеет
адрес запуска 50000 и длину 1000 байт. Выполним следующие
операторы:

CLEAR 30000

LOAD "mon2"CODE 40000: REM: загрузим Mon2
LOAD "prog"CODE 50000: REM: загрузим программу
RANDOMIZE USR 40000: REM: запустим Mon2

После запуска Mon2 на экране появляется значок > и мигающий
курсор [С] (или [L] — в зависимости от режима Caps Lock). Это
свидетельствует о том, что монитор находится в режиме ввода
команд.

Каждой команде Моп2, так же как и операторам Бейсика, соот-
ветствует определенная клавиша. При нажатии ее на экране появ-
ляется название команды. Например, после нажатия клавиши Е,
появится EDIT from.

Почти все команды требуют указания параметров. Первый па-
раметр вводится после подсказки from. Если требуется задать более
одного параметра, то при вводе они разделяются нажатием клави-
ши Space. При этом на экран выводится предлог to. Например:

MOVE from 40000 to 40100 to 50000

Отметим, что поскольку параметры команд могут вводиться как
в десятичной, так и в шестнадцатеричной форме, традиционной
ошибкой при работе с Моп2 является ввод параметров не в теку-
щей системе счисления. В результате этого команда выполняется
неправильно, либо не выполняется вовсе.

После ввода всех параметров команды для ее выполнения нужно
нажать клавишу Enter. Выполнение набранной команды можно
отменить клавишами CS/1 (Edit). Клавиша Edit также позволяет
прервать выполнение любой операции и выйти в режим ввода
команд.

При описании каждой команды мы будем приводить: клавишу,
при нажатии на которую вызывается команда, формат команды
(последовательность ввода), список параметров и пределы их из-
менения.




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Капля припоя - схема цифрового индиктора треков для Дисковода.
Ebland - "Только грязные облака проливают слезы о нас с тобой".
Credits - Напоследок...
RGB2001 - анализ существующих графических доработок для Спектрума; схема RGB цветов.
Обзор - За минувшую неделю поступили новые про граммы разных жанров.

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