Набор системных программ

Набор системных программ

Опубликованные в статьях «Монитор для «Специалиста» («М-К», 1988, № 9) и «Программа для системной ППЗУ» («М-К», 1989, № 4) материалы расширили функции компьютера и приблизили набор подпрограмм к ПЭВМ «Радио-86РК», «Микро-80», «Микроша» и аналогичным. Однако возможности микроЭВМ «Специалист»этим не ограничены. Реализовать их в полной мере поможет предлагаемый набор системных программ, который вобрал в себя ранее разработанные аналогичные программы и содержит все подпрограммы, имеющиеся в названных компьютерах; добавлены также и изменены некоторые функции в работе «Специалиста».

Новый набор системных программ позволяет использовать программное обеспечение, разработанное как для «Специалиста», так и для ПЭВМ «Радио-86РК», «Микро-80», «Микроша».

Набор состоит из следующих программ: Загрузчика, Монитора, пакета подпрограмм и кодов знакогенератора.

При применении данного набора программ адресное пространство компьютера выглядит следующим образом: 0000Н—8EFFH ОЗУ пользователя, 8F00H—8FCAH ОЗУ резерв, 8FCBH—8FFFH ОЗУ служебные ячейки, 9000Н—BFFFH ОЗУ экран,

СОООН—C7FFH Загрузчик и Монитор (ПЗУ № 1), С800Н—CFFFH пакет подпрограмм (ПЗУ № 2), D000H—D7FFH коды знакогенератора (ПЗУ № 3), D800H—F7FFH резерв для ПЗУ или внешних устройств, F800H—FFFFH программируемый интерфейс DD44 (см. схему компьютера «Специалист»).

Как видно, набор системных программ занимает 6 Кбайт адресного пространства компьютера и располагается в трех микросхемах К573РФ2 или К573РФ5: ПЗУ № 1 — это DD52 (см. «М-К», 1987, № 2), ПЗУ № 2 и № 3 подключаются параллельно ПЗУ № 1, кроме ножек 20, на которые подается сигнал с выводов 10 и 11 DD51 соответственно.

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

ЗАГРУЗЧИК. Эта программа разработана на основе таблицы 1, опубликованной в «М-К» № 5 за 1987 год. Использованный ранее основной набор подпрограмм сохранен, кроме подпрограммы ввода блока с магнитофона (C3F9H), располагаемой в пакете подпрограмм.

Основные подпрограммы Загрузчика приведены в таблице 1. В программу Загрузчик добавлены некоторые функции — работа в режиме «рулон» (текст или изображение проплывает по экрану снизу вверх, режим еще называется SCROLL), кодировка символов по КОИ-8 при выводе символа на экран, ввод цифровой информации в любом регистре, а также изменены назначения и введены новые служебные ячейки. Их назначение приведено в таблице 5.

МОНИТОР. Программа разработана ча основе таблицы 3, опубликованной в «М-К» № 6 за 1987 год. Монитор расположен на месте старого набора кодов знакогенератора и работает только в области ПЗУ, что расширяет объем ОЗУ почти до 36 Кбайт (0000Н—8FCAH).

Набор директив Монитора изменен. Оставлены только те, которыми пользуются чаще всего, а также добавлены директивы: К, L, У, R, W.

Набор директив Монитора приведен в таблице 6. В ней отсутствуют такие директивы, как I, О из-за нецелесообразности их применения. Для тех пользователей, кто не знает отличие форматов записи на ленте в «Специалисте» и «Радио-86РК», приводим таблицу 2. С помощью ее и директив R, W всю информацию на ленте можно привести к одному формату записи, как в «Радио-86РК».

Коды Загрузчика и Монитора приведены в таблице 3, а в таблице 4 даны их поблочные контрольные суммы.

Таблица 1. ОСНОВНЫЕ ПОДПРОГРАММЫ ЗАГРУЗЧИКА

Таблица 1. ОСНОВНЫЕ ПОДПРОГРАММЫ ЗАГРУЗЧИКА

Таблица 2. ФОРМАТЫ ЗАПИСИ НА МАГНИТНУЮ ЛЕНТУ

Таблица 2. ФОРМАТЫ ЗАПИСИ НА МАГНИТНУЮ ЛЕНТУ

Таблица 3. КОДЫ ЗАГРУЗЧИКА И МОНИТОРА

Таблица 3. КОДЫ ЗАГРУЗЧИКА И МОНИТОРА

Таблица 3. КОДЫ ЗАГРУЗЧИКА И МОНИТОРА

Таблица 4. КОНТРОЛЬНЫЕ СУММЫ ЗАГРУЗЧИКА И МОНИТОРА

Таблица 4. КОНТРОЛЬНЫЕ СУММЫ ЗАГРУЗЧИКА И МОНИТОРА

Таблица 5. СЛУЖЕБНЫЕ ЯЧЕЙКИ

Таблица 5. СЛУЖЕБНЫЕ ЯЧЕЙКИ

Таблица 5. СЛУЖЕБНЫЕ ЯЧЕЙКИ

Таблица 6. ДИРЕКТИВЫ МОНИТОРА

D — формат <D> (A1) (А2) <ВК>.

Вывод на экран в виде шестнадцатеричной таблицы содержимое ячеек памяти.

М — формат <М> (А1) <ВК>…

Запись в ОЗУ, начиная с указанного адреса, последовательность шестнадцатеричных чисел.

Т — формат <Т> (А1) (А2) (А3) < ВК>.

Пересылает содержимое области памяти А1-А2 по адресу А3.

F — формат <F> (А1) (А2) (N) <BK>.

Заполняет области памяти А1-А2 константой N.

С — формат <C> (А1) (А2) (А3) <ВК>.

Сравнивает содержимое области памяти А1-А2 с областью А3. При несравнении выводятся адреса й содержимое двух областей.

S — формат <S> (A1) (А2) (N) <BK>.

Выводит адреса ячеек памяти в интервале А1—А2, хранящих код N, и индицирует содержимое двух последовательных ячеек памяти до и после найденного адреса.

J — формат <J> (А1) <ВК>.

Запуск программы по адресу А1. Для возврата в Монитор в программе пользователя должна быть команда RET.

R — формат <R> <BK> или <R> (А1) (А2) <ВК>.

Вводит информацию с магнитофона, которая записана в формате «Радио-РК86», индицирует начальный и конечный адреса, контрольную сумму, записанные на ленте, а также контрольную сумму блока в памяти.

W — фopмaт <W> (А1) (А2) <ВК>.

Выводит на магнитофон содержимое памяти в формате «Радио-РК86» и индицирует контрольную сумму выводимого блока.

К — формат <К> (А1) (А2) <ВК>

Выводит контрольную сумму памяти А1-А2.

L — формат <L> (A1) (А2) <ВК>

Вывод таблицы символов памяти А1—А2. Если код символа не встретился, выводится точка.

Y — формат <Y> (A1) <ВК>.

Вывод сообщения с заданного адреса.

Набор системных программ

Предлагаемый пакет подпрограмм (табл. 7) включает в себя весь набор, идентичный ПЭВМ «Радио-86РК», а также дополнительные адреса резервных подпрограмм. Рассмотрим отдельные из них, требующие пояснений.

Таблица 7. ПАКЕТ ПОДПРОГРАММ

Таблица 7. ПАКЕТ ПОДПРОГРАММ

Таблица 7. ПАКЕТ ПОДПРОГРАММ

Примечания:
* — адрес подпрограмм для ПК «Радио-86РК»,
** — десятичные адреса вызовов в Бейсике,
*** — подпрограммы не существует, и в таблице вызовов стоит команда RET.

С803Н — ввод символа с клавиатуры; возвращает в аккумуляторе коды клавиш. Данная подпрограмма переназначает коды функциональных клавиш в соответствии с таблицей 8. Клавиши <Fl>, <F2>, <F3>, <F4>, <TAB>, <АР2>, <УС> используются в персональном компьютере «Радио-86РК»; например, для реализации комбинации УС+Е нужно последовательно нажать клавиши <УС> и <Е>.

Клавиша <РУЛОН> действует подобно триггеру, то есть при каждом нажатии включается и выключается режим «рулон».

Клавиша <КОИ-8>, также действуя как триггер, включает режимы «КОИ-7» и «КОИ-8», то есть предусмотрена возможность работы с алфавитно-цифровыми наборами КОИ-7Н2 и КОИ-8. Режим «КОИ-7» включается также по сбросу. В режиме «КОИ-8» клавиша <HP> выполняет функцию ВР/НР, а <НРФ>—РУС/LAT.

Таблица 8. КЛАВИШИ

Таблица 8. КЛАВИШИ

Включать и выключать режимы можно, записывая определенный код в служебные ячейки (см. таблицу 2, «М-К» 1990 г. № 2). Из-за отсутствия индикаторов режимов все переключения подтверждаются характерным звуковым сопровождением.

Для полной адаптации с ПЭВМ «Радио-86РК» выход из подпрограммы происходит после нажатия и отпускания клавиши (а не как раньше — только после нажатия).

С809Н — вывод символа, код которого помещен в регистре С, на экран. При этом обрабатывается весь набор символов, коды которых лежат в диапазоне ООН—FFH. В подпрограмму введена новая функция — прямая адресация курсора. При последовательном поступлении набора таких символов, как 1ВН, 59Н, 20Н+(номер. строки), 20Н+(номер позиции), курсор устанавливается на заданных строке и позиции. Данная функция оперативно управляет курсором при выводе информации на экран.

С81ВН — опрос кода нажатой клавиши. Подпрограмма возвращает в аккумуляторе код, соответствующий определенному состоянию клавиатуры. Коды нажатых клавиш вырабатываются в режиме «КОИ-7» как в нижнем, так и в верхнем регистрах; в режиме «КОИ-8» как в РУС, так и в LAT регистрах. Коды спецзнаков (!, «, # , & и т. д.) не вырабатываются. Код OFEH возникает только при нажатии клавиши (НРФ) (РУС/LAT).

Функциональные клавиши вырабатывают код как в подпрограмме С803Н (кроме клавиш <УС>, <РУЛОН>, <КОИ-8>).

С821Н — запрос байта из экранного буфера. Подпрограмма возвращает в аккумуляторе код символа, расположенного на экране над курсором. При одинаково написанных символах, например О и О, приоритет отдается латинскому. Если символ не найден в знакогенераторе, то ему присваивается код 20Н. Подпрограмма работает как при темном, так и при светлом фоне экрана.

C82DH — разрешение отображения информации на экране. Такой подпрограммы в «Специалисте» не существует, поскольку нет необходимости включать и выключать отображение на экране, и поэтому в таблице 7 стоит команда RET.

С855Н — генерирование звука. Подпрограмма вырабатывает электрические колебания с заданными частотой и длительностью.

C80FH, С840Н, С843Н, С852Н— резервные подпрограммы работы с различными принтерами, для совместимости программ которых и предлагаются приведенные адреса вызовов и параметры этих подпрограмм. Чтобы составлять последние, зарезервированы ячейки CE5FH — CFFFH.

Подпрограммы, работающие с кодами символов (С803Н, С809Н, С818Н, С81ВН, С821Н), функционируют в режимах «КОИ-7» и «КОИ-8» (в отличие от ранее разработанных для «Специалиста» и «Радио-86РК», действовавших лишь в режиме КОИ-7). Пользователь должен выбрать, в каком режиме будет работать программа.

Таблица 9. КОДЫ ПАКЕТА ПОДПРОГРАММ

Таблица 9. КОДЫ ПАКЕТА ПОДПРОГРАММ

Таблица 9. КОДЫ ПАКЕТА ПОДПРОГРАММ

Коды пакета подпрограмм и поблочные контрольные суммы приведены в таблицах 9 и 10 соответственно.

Коды знакогенератора. Набор кодов знакогенератора был опубликован в «М-К» № 4 за 1989 год. В данный набор добавлены коды из «Радио-86РК» — это ячейки D000H — D0FFH. С таким набором кодов знакогенератора можно работать в обоих режимах: «КОИ-7» и «КОИ-8».

Таблица 10. КОНТРОЛЬНЫЕ СУММЫ ПАКЕТА ПОДПРОГРАММ

Таблица 10. КОНТРОЛЬНЫЕ СУММЫ ПАКЕТА ПОДПРОГРАММ

Для того чтобы узнать, какие символы закодированы в знакогенераторе, нужно задать директиву в Мониторе: Т D000 D7FF В000. На экране появятся восемь столбцов с символами, и если посчитать сверху вниз и слева направо, то можно узнать код каждого символа в КОИ-8.

Дополнительные коды знакогенератора и их контрольная сумма приведены в таблице 11.

При помощи программатора в ПЗУ № 1,2 и 3 необходимо запрограммировать коды: Загрузчика и Монитора (таблица 5), пакета подпрограмм (таблица 9), знакогенератора КОИ-8 (таблица 2, «М-К» 1989 г., № 4, с. 22, 23) плюс дополнительные коды знакогенератора (таблица 11), подсоединить микросхемы, как было сказано выше, и включить питание. Для вызова Монитора после сброса нужно нажать клавишу <F>(<F1>), а для вызова программы, адрес запуска которой записан в рабочих ячейках 8FE1H и 8FE2H, нажать клавишу <HELP> (<F2>).

Таблица 11. ДОПОЛНИТЕЛЬНЫЕ КОДЫ ЗНАКОГЕНЕРАТОРА

Таблица 11. ДОПОЛНИТЕЛЬНЫЕ КОДЫ ЗНАКОГЕНЕРАТОРА

После нажатия клавиши (СБРОС) запускается подпрограмма С803Н, и вы можете выбрать любой режим кодирования информации («КОИ-8» или «КОИ-7»), включить или выключить режим «рулон», нажимая соответствующие клавиши. Если их не нажимать, включится режим «КОИ-7», а режим «рулон» останется таким, каким вы его задали до сброса.

К сожалению, не все программы компьютера «Радио-86РК» можно адаптировать на «Специалисте». Трудности представляют те программы, которые при формировании символа на экран не используют обращение к подпрограмме вывода символа на экран (F809H). Но в основном данный набор системных программ позволяет владельцам компьютеров «Специалист» воспользоваться программным обеспечением таких ПЭВМ, как «Радио-86РК», «Микроша» и аналогичных.

С. САВОЩЕНКО

Рекомендуем почитать

  • МИНИ-МОКИК ИЗ ВЕЛОСИПЕДАМИНИ-МОКИК ИЗ ВЕЛОСИПЕДА
    Возраст кружковцев станции юных техников «Планета» г.Ижевска самый различный: от учеников начальных классов до выпускников. И если старшеклассники больше интересуются серьезной техникой...
  • ДЕТКАМ НАДО КОНСТРУКТОРДЕТКАМ НАДО КОНСТРУКТОР
    Немногие игрушки такие же вечные как конструктор. Дети могут без конца разбирать его, собирать и придумывать что-то новое. От больших кубиков для малышей до сложных наборов для детей...
Тут можете оценить работу автора: