Монитор это программа запускающаяся на компьютере сразу после включения. Обычно она записана в ПЗУ компьютера. Монитор предоставляет пользователю минимальные средства для работы с компьютером. А запускаемым програмам предоставляет набор стандартных подпрограмм.
Команда Монитора задается соответствующим латинским символом и сопровождается в случае необходимости одним или несколькими параметрами, представляющими собой шестнадцатеричные числа. Имя команды и параметры вводятся без разделителей и полностью. Выполнение команды начинается после нажатия клавиши ВК. Если при наборе команды допущена ошибка, то отменить команду или прекратить ее действие (в случае команды М) можно введя символ не предусмотренный синтаксисом Монитора (например, X). На экране в этом случае появится сообщение "Ошибка" и Монитор вернется в исходное состояние.
| D[начало][конец] | Просмотр области адресного пространства в шестнадцатеричном виде. |
| M[начало] | Просмотр и изменение. |
| Т[начало][конец][куда] | Копирование области. |
| F[начало][конец][байт] | Заполнение байтом. |
| С[начало1][конец1][начало2] | Сравнение областей. |
| S[начало][конец][байт] | Поиск последовательности байт. |
| J[адрес] | Запуск программу. При отсутствии параметра управление передается по адресу 0000h. Для возврата в Монитор в программе пользователя должна быть команда RЕТ. |
| I[начало][конец] | Загрузка с магнитной ленты. Если указаны параметры [начало] и [конец], то данные будут загружены в указанный интервал, причем первые четыре байта это начальный и конечный адреса загрузки информационного блока. Переменные определяющие скорость записи и чтения хранятся в ячейках 8FFEh и 8FFFh и по умолчанию равны 28h и 3Сh. |
| О[начало][конец] | Сохранение на магнитную ленту. |
| V | Проверка записи на магнитную ленту. |
С ленты программу можно загрузить двумя способами: с помощью команды Монитора I или проще, сразу после по сброса. В последнем случае в ОЗУ сохраняется адрес пуска программы и в дальнейшем всегда можно ее вызвать, выполнив следующую операцию: [Сброс][STOP][ПС].
| Адрес | Описание |
|---|---|
| 0000h - 8FFFh | ОЗУ. Пользователя. |
| 8A00h - 8FFFh | ОЗУ. Используется программами из ПЗУ. (8A00h - не точно) |
| 9000h - ВFFFh | ОЗУ. Видео. |
| С000h - С7FFh | ПЗУ. Загрузчик 1 ("Моделист Конструктор" 1987-5). |
| С800h - СFFFh | ПЗУ. Монитор 1 и часть Бейсика ("Моделист Конструктор" 1987-6). Может отсутствовать. |
| D000h - DFFFh | ПЗУ. Бейсик ("Моделист Конструктор" 1987-7). Может отсутствовать. |
| E000h - EFFFh | Не определено. |
| F000h - F7FFh | Порт принтера (КР580ВВ55А). Может отсутствовать. |
| F800h - FFFFh | Порт клавиатуры и системный порт (КР580ВВ55А). |
| Адрес | Описание | Входные данные | Выходные данные |
|---|---|---|---|
| C010h | Очистка экрана | [8FFAh] = 0FFFFh - светлый фон, [8FFAh] = 0000h - темный фон | |
| C037h | Вывод символа на экран | C - код символа [8FFC], [8FFD] - положение курсора [8FE7], [8FE8] - адрес знакогенератора / 8 | |
| C170h | Звук | [8FF1h] - частота сигнала [8FF2h] - длительность сигнала | |
| C190h | Задержка | B - задержка | |
| C254h | Установка порта клавиатуры (А,С - вывод, В - ввод, режим 0) | ||
| C257h | Установка порта клавиатуры (А,С0..С3 - ввод, В,С4..С7 - вывод, режим 0) | ||
| C337h | Чтение символа с клавиатуры | A - код символа | |
| C377h | Чтение байта с магнитной ленты | A = 08h - без поиска синхробайта A = 0FFh - с поиском синхробайта | A - байт |
| C3D0h | Запись байта на магнитную ленту | A - байт | |
| C3F9h | Чтение блока с магнитной ленты с поиском синхробайта. 0-1 байт в блоке - адрес начала, 2-3 байт - адрес конца блока. | ||
| C422h | Чтение блока с магнитной ленты с поиском синхробайта. | HL - адрес начала блока DE - адрес конца блока | |
| C427h | Сравнение HL и DE | HL, DE | Z=1, если равны |
| C42Dh | Копирование блока памяти Некорректно копирует вверх перекрываются блоки | HL - адрес начала блока DE - адрес конца блока BC - новый адрес блока | |
| C438h | Вывод сообщения на экран | HL - адрес начала сообщения |