Описание
компьютера Орион-128
|
Журнал
РАДИО
|
ИНСТРУМЕНТАЛЬНЫЙ МОНИТОР "ОРИОН-128"
Предлагаемая вашему вниманию программа МОНИТОР (названная МОНИТОР-128”, а файл — M128$) является загружаемой командой операционной системой ORDOS. Это одно из инструментальных средств для доступа не только к битам и байтам, но и к “железу” системы. Оно также позволяет получить доступ и к файловой структуре ORDOS.
“МОНИТОР-128” (дальше мы будем называть его просто МОНИТОР) является загружаемой программой и может храниться как в ROM-диске, так и считываться с магнитной ленты. Конечно, удобней его хранить в ROM-диске, особенно тем пользователям, которые занимаются системными проблемами и должны иметь инструмент, что называется, “под рукой”.
В программе МОНИТОР включены двенадцать директив, оформленных в виде экранного меню (рис.1). Выбор директив осуществляется перемещением указателя (темная полоска) клавишами управления курсором “Вверх” и “Вниз”. Установив указатель на необходимую директиву, вводят дополнительные реквизиты данной директивы и завершают ввод нажатием клавиши [ВК]. Чтобы исправить ошибки при вводе, необходимо вернуть курсор к ошибочному символу, а затем ввести правильные. После выполнения директивы МОНИТОР возвращается в режим управления меню.
Рассмотрим функциональное назначение и особенности работы директив.
DUMP — совмещенный вывод шестнадцатиричного и символьного дампа памяти на экран дисплея. Для выполнения этой директивы необходимо ввести только начальный адрес. После нажатия клавиши [ВК], на экран выводится блок памяти — 256 байт, начиная с указанного адреса. Далее МОНИТОР входит в режим ожидания. Повторное нажатие любой клавиши выводит очередную “порцию” дампа. Если нажать клавишу с символом “Р”, вывод дампа повторно начнется с адреса, введенного при запуске директивы. Нажатие клавиши [.] (точка) прерывает работу директивы. Если через запятую после адреса ввести номер страницы (0—3), то на экран дисплея будет выведено содержимое указанной страницы памяти. Нулевые значения параметров и незначащие нули можно опускать.
MODIFY — предназначена для просмотра и изменения содержимого одной или нескольких ячеек памяти, как в основной странице, так и дополнительной (т. е. в квазидиске). После ее ввода на экран вводится адрес ячейки и ее содержимое. Если необходимо изменить содержимое ячейки, набирают новое значение (два шестнадцатиричных символа) и нажимают клавишу [ВК]. Если изменений не требуется, ее нажимают сразу же. При каждом нажатии на клавишу [ВК] значение адреса автоматически увеличивается на единицу. Если ввести значение более двух символов, то программа интерпретирует это как новый адрес. Это обстоятельство позволяет производить изменения не только в последовательных ячейках, но и в различных участках памяти, не выходя из директивы. Нажатие клавиши [.] (точка) прерывает работу директивы.
GOTO — передает управление программе пользователя по заданному адресу. Предварительная установка регистров процессора не производится.
TRANSFER — перемещение массива информации в памяти из одной области в другую. В качестве параметров задают начальный и конечный адреса этого массива, а также начальный адрес его нового размещения. Адреса вводятся через запятую. Перемещение можно производить как “Вверх”, так и “Вниз” на любое количество ячеек.
COMPAIR — сравнение двух массивов в памяти. Для этого, как и в директиве TRANSFER, задаются начальный и конечный адреса первого массива и начальный адрес второго массива. Адреса (по первому массиву), по которым произошло несовпадение, выводятся на экран дисплея. Можно приостановить вывод информации нажатием на любую символьную клавишу. Клавишей [.] (точка) можно прервать работу директивы в любой момент времени.
SEARCH — поиск байта или слова (двух байт). Для выполнения директивы вводят начальный и конечный адреса области памяти, в которой будет производиться поиск и искомый (эталонный) байт. На экран выводятся адреса совпадения эталонного байта с аналогичным байтом в памяти. При необходимости можно искать слово (два байта — чаще всего адрес). Для этого первым вводят младший, а затем старший байты. После вывода информации программа входит в режим ожидания. Чтобы выйти из этого состояния, нажмите любую символьную клавишу.
FILL — заполнение области памяти константой. Вводят начальный и конечный адреса области и байт константы. Работа директивы ничем не отличается от общепринятой в подобных МОНИТОРах.
HEX — директива возвращает код нажатой клавиши. Исключение составляют некоторые клавиши управления курсором дисплея.
ARITHMTIC — возвращает сумму и разность двухбайтовых шестнадцатиричных чисел. Значения вводятся через запятую. Результат выводится после символа “=”. Первое значение — сумма чисел, второе — разность.
COLOR — настройка экрана дисплея на отображение информации в цвете. Директива работает аналогично соответствующей директиве “С” в основном МОНИТОРЕ, но отличается “интеллектуальностью”, если вторая страница в области управления цветом занята файлами — директива не “сработает”, и будет выведено сообщение “DISK!!!” Следует иметь в виду, что при включении цвета происходит ограничение размера квазидиска до 48 Кбайт, поэтому, если Вы предполагаете работать с большим объемом информации, воздержитесь от включения цвета. Для выключения цветного режима отображения информации введите в качестве байта цвета символ “М” (МОНОХРОМ).
Последние две директивы ориентированы на работу с файловой структурой операционной системы.
FILE ADDRES — изменение адреса “посадки” файла в ОЗУ. В каких случаях это необходимо? Вот пример. Вы можете набирать коды новой программы в любой удобной области памяти. Затем директивой “S” (операционной системы) формируете файл и заносите его в квазидиск. Операционная система установить стартовый адрес Вашего файла в ту область, где Вы набирали коды Вашей программы. Это может не соответствовать тем адресам, где программа должна работать в действительности. В этом случае необходимо изменить стартовый адрес (адрес “посадки”). Сделать это очень просто. Введите имя диска (конечно, эти манипуляции можно проводить только с диском “В”), затем без пробела символ “>, далее (тоже без пробела) имя файла и уже после этого, через пробел, новый шестнадцатиричный “стартовый” адрес файла, если вернуться в операционную систему (F4) и вывести каталог диска “В”, то можно убедиться в правильности изменения адреса “посадки” файла. Конечно, у пользователя будут возникать и другие причины, требующие изменения адреса старта или размещения (если файл не самозапускаемый) файла в ОЗУ пользователя при его считывании с квазидиска.
FILE DUMP — поиск и просмотр дампа файла. Иногда возникает необходимость просмотреть содержимое файла на диске. Однако при большом их количестве трудно найти начало файла с помощью директивы “DUMP”. В таких случаях используется директива “FILE DUMP”. Директива по имени файла находит его начало и затем выводит дамп аналогично директиве “DUMP”. Впоследствии, при повторных обращениях к содержимому данного файла, точно зная его адреса размещения, можно пользоваться уже директивами “DUMP” и “MODIFY”. Следует заметить, что в МОНИТОРе это единственная директива, позволяющая просмотреть содержимое диска “А” (ROM-диска). Синтаксис ввода параметров аналогичен предыдущей директиве: имя диска, разделительный символ “:”, имя файла. Его значения вводятся без разделительных пробелов.
Единственное ограничение в работе директив “FILE ADORES” и “FILE DUMP” — это недопустимость имен файлов, в которых присутствует символ “.” (точка). В таких случаях файл необходимо предварительно переименовать.
Итак, обобщим все вышесказанное.Коды программы “МОНИТОР-128” приведены в табл.1, а контрольные суммы блоков — в табл. 2.
Таблица 2
0000 - 00FF АЕ56
0100 - 01FF FACD
0200 - 02FF ЗЗА0
0300 - 03FF D5EF
0400 - 04FF FB1E
0500 - 05FF F388
0600 - 06FF А222Коды программы "Монитор-256".
УСТАНОВКА МОНИТОРА
Рассмотрим вариант, когда МОНИТОР будет размещен в ROM-диске. Предположим, что вы уже запустили предыдущую программу “СН$” и разместили ее во втором ППЗУ ROM-диска. Она занимает адреса 0800Н— 0D2FH (по ROM-диску). Остальная часть второго ППЗУ свободна, однако ее недостаточно, чтобы разместить программу “М128$”. Необходимо еще одно ППЗУ — третье. Технология “подстыковки” следующая: наберите коды программы “Ml 28$” и убедитесь, что в ней нет ошибок. Сохраните программу в свободной области ОЗУ. Считайте второе ППЗУ (где записана программа “СН$”) в ОЗУ, разместив содержимое с адреса 0000Н. Затем директивой “Т” перенесите программу “Ml28$” и разместите ее, начиная с адреса 0530Н. Общий массив заносят в ППЗУ. Как запустить программу вы уже знаете из предыдущей публикации. Напомним, что свободную часть третьего ППЗУ необходимо заполнить значением 0FFH.
Возможен второй вариант установки. Запустите операционную систему и отформатируйте диск “В”. Нажав клавишу “Сброс”, вернитесь в МОНИТОР. Наберите коды программы согласно таблице1 и убедитесь в отсутствии ошибок. Для гарантии сохраните на файл ленте директивой “О”. Вернитесь в “ORDOS” (директива “Z”) и директивой “S” создаете файл (S M128$ 10,6EF BK).
Убедитесь, что у вас на диске появился файл “M128$”. Вы уже заметили, что стартовый адрес этого файла 0010Н, но программа работает в служебной области “ORDOS” — системы, начиная с адреса 0В000Н и перекрывает ее, т. е. затирает “ССР”, поэтому мы не могли производить набор кодов в этой области. В противном случае нашу программу некому было бы записать на диск. В будущем вы будете переназначать стартовый адрес (вспомните директива “FILE ADDRES”) этим МОНИТОРОМ, а сейчас — нажмите “Сброс” и с помощью основного МОНИТОРа наберите коды подпрограммы, приведенной в таблице3, и запустите ее. Она произведет необходимые исправления в квазидиске и передаст управление операционной системе. Выведите каталог диска “В”, убедитесь, что стартовый адрес программы “M128$” — 0В000Н. Запустите программу и проверьте ее работу, изучите особенности работы директив.
Остается лишь добавить, что к моменту установки предлагаемой программы в ROM-диске уже должна находиться программа “СН$”, иначе вам не удастся перенести “МОНИТОР-128” на магнитную ленту и хранить его как файл для последующей работы с ним в среде операционной системы.
В. СУГОНЯКО, В. САФРОНОВ
Московская область.
Отсканировано с
журнала Радио №10 1990 г.
Отредактировано Лесных. Ю. 2001 г.
Описание
компьютера Орион-128
|
Журнал
РАДИО
|