Описание
компьютера Орион-128
|
Журнал
РАДИО
|
РЕДАКТОР “МИКРОН” В СРЕДЕ “ORDOS”
Пользователям ПРК “Paдио-86РК” хорошо знаком инструментальный пакет программ “МИКРОН”, включающий РЕДАКТОР, АССЕМБЛЕР и ДИЗАССЕМБЛЕР [1], [2]. Этот пакет относится к категории корректных программ, т. е. таких, которые при работе с ПРК “Радио-86РК” обращаются к системным ресурсам компьютера только в обусловленном порядке - через таблицу входов в стандартные подпрограммы и драйверы МОНИТОРа. Если конструкции других компьютеров имеют близкую программную архитектуру и подобную таблицу входов, то корректно построенные программы легко на них адаптируются.
Можно спорить об оптимальности и целесообразности отдельных функций таблицы. Однако это уже сложившийся стандарт, стандарт - де факто на радиолюбительские компьютеры с микропроцессором КР580ВМ80А. Следует заметить, что и промышленность, выпуская бытовые компьютеры, программно совместимые с радиолюбительским, также придерживается этой таблицы, однако, к сожалению, тут не обошлось без исключений и импровизаций.
ПРК “Орион-128” имеет такую же таблицу. Авторы стремились добиться максимальной совместимости, а там, где это оказалось невозможным из-за явных различий в структуре и архитектуре компьютеров, - оградить пользователя от конфликта. Опыт эксплуатации ПРК “Орион-128” показал, что так называемые корректные программы выполняются вполне приемлемо без каких-либо изменений в них. Работая с “МОНИТОРОМ-1”, можно практически оставаться в среде очень близкой к “РК86”, во всяком случае привычной для тех, кто уже имеет достаточные навыки в работе с этим компьютером. Правда, следует помнить, что при этом необходимо предварительно запустить программу эмуляции экрана ПРК “Радио-86РК” [3]. В этой программе необходимо исправить допущенную авторами неточность и записать значение 8ВН по адресам 0А821Н и 0A9D3H, а по адресам 0А822Н и 0A9D4H - А8Н. Кстати, если произвести небольшие изменения, то можно использовать эмулятор и с “МОНИТОРОМ-2”. Изменения заключаются в следующем: по адресам 0А81ВН, 0А81СН, а также 0А820Н - 0А827Н необходимо записать значение 00Н. По адресу 0А81ЕН-84Н и 0A81FH - А8Н.
Вернемся, однако, к начатой теме и расскажем о работе вышеназванного пакета в среде операционной системы “ORDOS”. Основное внимание авторы уделили редактору текстов, как наиболее часто используемой программе. Работать с ним на ПРК “Орион-128” можно по-разному.
Например, так. Программой CHR$ - считывают с магнитной ленты пакет в квазидиск. Допустим, это РЕДАКТОР - АССЕМБЛЕР. После считывания “CHR$“ присваивает условное имя файлу и поэтому его необходимо переименовать в СОМ-файл (командный файл, т. е. выполняемый). Имя можно выбрать любое по своему усмотрению (не более 8 символов) , но последним символом в данном случае должен быть “$“ (24Н). Напомним: это признак того, что после считывания его с квазидиска в ОЗУ операционная система должна передать управление на стартовый адрес этого файла.
Можно считать программы с магнитной ленты и директивой “I” “МОНИТОРА-1”. Затем запустить ОС “ORDOS” и директивой “SAVE” занести РЕДАКТОР в квазидиск. Напомним синтаксис директивы- “S ED 0, FFF(BK]”. В этом случае никаких переименований делать не нужно. Подобным образом заносятся и текстовые файлы, необходимо только убедиться, что адрес размещения (стартовый адрес) текстовых файлов - 2100Н (для версии редактора 32К), а имя этого файла не содержит признак запуска “$“.
Если вы будете вводить новый текст или программу, запустите только редактор. Синтаксис директивы “LOAD”: “L ED [ВК] “ (вместо “L” можно вводить пробел). Как работать с пакетом “МИКРОН” описано в [1 ] и [2]. Сохранить “наработанный” текст на магнитной ленте можно директивой АР2+O, а директивой АР2+I считать его в память компьютера. Текст можно сохранить и в виде файла с помощью директивы “SAVE” ОС “ORDOS”.
Если необходимо редактировать текст, уже имеющийся в квазидиске, то поступают следующим образом: сначала считывают с диска файл текста, а затем сам редактор. На вопрос редактора “NEW?” необходимо нажать клавишу “N”. Конечно, так работать очень неудобно, потому что диалог с пользователем в этих программах рассчитан на без операционную среду, или мониторную. Чтобы поправить положение, необходимо модифицировать программу редактора, т. е. заменить директивы работы с магнитофоном директивами работы с диском.
Авторы использовали программу, приведенную в таблице 1 [2]. Все изменения в исходный вариант редактора вносятся на уровне исправлений объектного кода согласно табл.1 настоящей статьи.
Кроме замены блока по адресам 05АСН - 0716Н, необходимо изменить еще несколько ячеек согласно табл.2.
Директивы АР2+I, АР2+М, АР2+0, АР2+С, сохраняя общее функциональное назначение, выполняют теперь несколько другие функции.
При выполнении директив АР2+I, АР2+М, АР2+O на запрос редактора “ИМЯ?” необходимо ввести имя файла, состоящее не более чем из восьми символов (требования такие же, как и в ОС “ORDOS”), остальные символы (если были введены) игнорируются.
Таблица 2.
АДРЕС |
БЫЛО |
СТАЛО |
ЧЕМ ВЫЗВАНЫ ИЗМЕНЕНИЯ |
00B2 |
75 |
9F | СТЕК, А ЗНАЧИТ И ВЕРХНЯЯ |
0021 |
77 |
9F |
ГРАНИЦА БУФЕРА ТЕКСТА |
01A9 |
0E |
7E |
ЗАМЕНА 'ПСЕВДОГРАФИЧЕСКОГО' СИМВОЛА НА ‘>‘ |
07B4 |
55 |
1F |
Адpec ПЕРЕХОДА ПРИ ВЫПОЛНЕНИИДИРЕКТИВЫ “СТР”. |
07В5 |
07 |
00 |
ИЗМЕНЕНИЯ ЭТОГО АДРЕСА ПРОИЗВОДЯТ ТОЛЬКОЕ СЛИ “РЕДАКТОР ИСПОЛЬЗУЕТСЯ ВАВТОНОМНОМ РЕЖИМЕ (БЕЗАССЕМБЛЕРА ИЛИ ДИЗАССЕМБЛЕРА). |
07D8 |
56 |
45 |
ИЗМЕНИТЬ ИМЯ ДИРЕКТИВЫ “V” НА“C” - КАТАЛОГ |
Редактор производит проверку на повторное имя файла ( выводите я сообщение “повторное имя”) и на переполнение квазидиска (сообщение - “мало ОЗУ К/диска”). Если сохраняемый файл превышает область адреса 0С00Н (ОЗУ цвета) квазидиска, файл сохраняется, но выключается цветной режим отображения. Это справедливо только в том случае, если максимальный размер квазидиска не был предварительно ограничен, например, директивой “COLOR” программы “М128$“. При работе с “ORDOS” следует избегать включения цветного режима отображения директивой “С” “МОНИТОРА-1”, так как она не проверяет содержимое квазидиска в области ОЗУ цвета (где могут храниться файлы), а заполняет его кодом выбранного цвета. Это приведет к потере не только файла, но и сделает недоступным содержимое всего диска “В”, что потребует его переформатирования.
При выполнении директив АР2+I и АР2+М проверяется, уместится ли текст в буфере “РЕДАКТОРА” (2100Н - 9FBFH). Если текстовый файл имеет большие размеры, выводится сообщение “мало ОЗУ”.
Авторы не ставили перед собой цель модернизировать весь пакет. Это сложная работа, особенно если нет авторского исходного текста. К тому же необходимо отметить, что программы АССЕМБЛЕР и ДИЗАССЕМБЛЕР требуют более значительных изменений для того, чтобы в том же объеме освободить место для директив работы с диском. Авторы, однако, считают необходимым дать несколько советов по работе с этими программами.
При работе с АССЕМБЛЕРОМ объектный код, полученный в результате трансляции исходной текста программы, заносят на квазидиск директивой “SAVE” “ORDOS”. Начальный и конечные адреса транслятор выводит в конце работы. Не забывайте к имени добавлять признак самозапуска, если это выполняемая программа. Если программа оттранслирована для работы в адресах буфера АССЕМБЛЕРа - 1100Н, то запустить программу можно директивой “G” “МОНИТОРА-1 или “GOTO” в- М128$.
Если же производится дизассемблирование, то необходимо файлу с дизассемблируемой программой предварительно установить адрес “посадки” файла равным 1100Н. Это делается с помощью “М128$“. Проследите, чтобы в имени этого файла не было символа “$ “ (вы поняли почему?). После этого загружают его в 03У и затем загружают редактор - дизассемблер. После дизассемблирования и редактирования полученный листинг с помощью директивы редактора АР2+O заносят на диск “В”.
ЛИТЕРАТУРА
1. В. Барчуков, Г. Зеленко, Е. Фадеев. Редактор
и ассемблер для “Радио-86РК”.-Радио, 1987, № 7.
2. В. Барчуков, Е. Фадеев. Дизассемблер для “Радио-86РК”. -Радио, 1988, №
3.
3. В. Сугоняко, В. Сафронов. Наладка ПРК
“Орион-128”.- Радио, 1990, № 5, с. 38.
Отсканировано с журнала Радио №4 1991 г.
Отредактировано Лесных Ю. 2001 г.
Описание
компьютера Орион-128
|
Журнал
РАДИО
|