Монитор это программа запускающаяся на компьютере сразу после включения. Обычно она записана в ПЗУ компьютера. Монитор предоставляет пользователю минимальные средства для работы с компьютером. А запускаемым програмам предоставляет набор стандартных подпрограмм.

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

Команда Монитора задается соответствующим латинским символом и сопровождается в случае необходимости одним или несколькими параметрами, представляющими собой шестнадцатеричные числа. Имя команды и параметры вводятся без разделителей и полностью. Выполнение команды начинается после нажатия клавиши ВК. Если при наборе команды допущена ошибка, то отменить команду или прекратить ее действие (в случае команды М) можно введя символ не предусмотренный синтаксисом Монитора (например, 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 и DEHL, DEZ=1, если равны
C42DhКопирование блока памяти
Некорректно копирует вверх перекрываются блоки
HL - адрес начала блока
DE - адрес конца блока
BC - новый адрес блока
 
C438hВывод сообщения на экранHL - адрес начала сообщения