** ПЭВМ АГАТ **

Агат-9 Книга 3

Здесь описано базовое программное обеспечение "Агат-9" - то, которое идёт в комплекте заводской поставки ПЭВМ: бейсик, applesoft, РАПИРА, отладочный комплекс, комплексный тест, тест ОЗУ, Агат-Автор, СЧМ, СУБД. Описание очень поверхностное, фактически - это просто обзор. Текст явно писался для "Агат-7", после чего его подправили с учётом особенностей девятой версии машины, но, разумеется, кое-где кое-что пропустили.
Версия 1988 года (ЛЭМЗ ?): DJVU 6,1 Мб.

* * *

УТВЕРЖДЁН
Фг3.032.002 ТО6-ЛУ
ОКП 40 1370 0012

МАШИНА ВЫЧИСЛИТЕЛЬНАЯ ЭЛЕКТРОННАЯ

ПЕРСОНАЛЬНАЯ "АГАТ"

Техническое описание

Часть 7

Программное обеспечение

Фг3.032.002 ТО6

1988


СОДЕРЖАНИЕ

1. ВВЕДЕНИЕ

1.1. Настоящее ТО предназначено для описания программного обеспечения для персональной электронной вычислительной машины (ПЭВМ) "АГАТ" исполнения 9. Описываемое выше программное обеспечение не может быть использовано при эксплуатации ПЭВМ "АГАТ" исполнения 7.

2. СОСТАВ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

2.1. Программное обеспечение ПЭВМ "АГАТ" исполнения 9 в комплектации, поставляемой заводом-изготовителем, состоит из двух пакетов:

инструментальный комплекс программиста (ИКП) (Фг.00031-01);

комплекс программ общего назначения (КПОН) (Фг.00032-01).

Пакет ИКП располагается на двух гибких магнитных дисках (ГМД). Они имеют маркировку ИКП1 и ИКП2 соответственно.

Пакет КПОН располагается на одном ГМД с маркировкой КПОН1. Загрузка каждой программы того или другого пакета производится в режиме общего меню.

3. ИНСТРУМЕНТАЛЬНЫЙ КОМПЛЕКС ПРОГРАММИСТА

3.1. Состав ИКП

ИКП включает в себя следующие программные системы:

  • системный монитор;
  • дисковая операционная система (ДОС);
  • интерпретатор языка программирования "Бейсик" для ПЭВМ "АГАТ" исполнения 9;
  • интерпретатор языка программирования "Рапира";
  • интерпретатор языка программирования "Applesoft";
  • диалоговый отладочный комплекс (ДОК);
  • тест "ОЗУ";
  • комплексный тест.

Перечисленные выше программные изделия кроме теста "ОЗУ" располагаются на ГМД ИКП1 (Фг.00031-01 12 01).

Тест "ОЗУ" располагается на ГМД ИКП2. (Фг.00031-01 12 02)

3.2. Системный монитор

3.2.1. Назначение и условия применения системного монитора

Программа предназначается для выполнения трёх основных функций:

  • при включении ПЭВМ "АГАТ" ("холодный" старт) программа осуществляет осмотр конфигурации, выполняет начальную загрузку и запускает выполнение элементов программного обеспечения;
  • обеспечивает обмен данными с базовыми устройствами ввода/вывода (видеомонитором, клавиатурой, магнитофоном);
  • представляет пользователю диалоговые возможности для осмотра, сравнения, изменения содержимого памяти и регистров процессора в шестнадцатеричной редакции и мнемокоде системы команд.

Объём оперативной памяти, необходимый для работы программы, составляет около 4К байт.

3.2.2. Характеристика программы

Системная программа монитор занимает в дополнительной оперативной памяти объём памяти 2К байт и расположена по адресам с F800 по FFFF.

При включении питания ПЭВМ "АГАТ" исполнения 9 запуск программы осуществляется автоматически.

Программа обеспечивает интерактивный режим работы с ПЭВМ "АГАТ" исполнения 9.

При нажатии одновременно клавиш УПР и СБРОС программа проверяет сохранность входных ячеек оперативной памяти. При нарушении информации в них проводится полный объём начальных установок ("холодный" старт), иначе выполняется "тёплый" перезапуск загруженного программного обеспечения с сохранением содержимого памяти.

Программа обеспечивает выдачу информации на экран в следующих режимах:

  • цветном текстовом (8 цветов, 32*32 знакоместа);
  • чёрно-белом текстовом (64*32 знакоместа).

Программа "Системный монитор" обеспечивает чтение с магнитофона со скоростью 1К бод.

Программа обеспечивает контроль правильности вводимых с клавиатуры директив и контроль считываемой с магнитной ленты (МЛ) информации.

3.2.3. Обращение к программе

3.2.3.1. Запуск монитора

При включении питания ПЭВМ "АГАТ" исполнения 9 программа начинает работу. Производится осмотр конфигурации периферийных контроллеров, установленных в разъёмах шины ПЭВМ "АГАТ" исполнения 9, и определяется наличие дискового контроллера, а также ячеек контроллеров дополнительной оперативной памяти (ДОП ОЗУ). Осмотр конфигурации осуществляется, начиная с шестого разъёма. Если дисковый контроллер найден, осуществляется загрузка с накопителя на гибком магнитном диске (НГМД). В противном случае, подключается диалог монитора.

3.2.3.2. Диалог монитора

Для включения диалога монитора достаточно передать управление по адресу FF69 (65385 или минус 151 в десятичной системе счисления), что выполняется командами CALL-151 или CALL 65385 языка программирования "Бейсик".

Признаком готовности программы к диалогу служит появление на экране приглашения "*" в начале строки, в которой по мере набора информации с клавиатуры будет появляться требуемая директива. Справа от приглашения появляется курсор (мерцающий подчерк, белый квадрат), который указывает позицию вывода очередного символа (при нажатии клавиши на его место выводится символ, а курсор сдвигается вправо). Ввод строки с клавиатуры (не более 255 символов) завершается нажатием клавиши "↵" (ВВОД). Программа начинает анализировать входную строку.

Монитор воспринимает информацию трёх типов: адреса, данные, команды (директивы).

Для представления адреса используются четыре шестнадцатеричные цифры, для представления данных - две.

Существуют три специальные ячейки, в которых располагается следующая информация: адрес последней опрошенной ячейки (ПОЯ), адрес следующей изменённой ячейки (СИЯ) и адрес команды (АК).

В диалоге монитора могут использоваться две одновременно нажимаемые клавиши:

  • УПР и Л - очистка всего экрана;
  • УПР и Ш - очистка до конца текущей строки;
  • УПР и Ч - очистка до конца экрана;
  • УПР и Г - звуковой сигнал;
  • УПР и Ъ - отмена набранной строки.

Специальный смысл имеет также нажатие следующих клавиш:

  • "→" - чтение указанного курсором символа в буфер ввода;
  • "←" - удаление последнего введённого символа из буфера;
  • "↑" - перевод курсора экрана видеомонитора на одну строку вверх;
  • "↓" - перевод курсора на одну строку вниз;
  • Функциональная клавиша "F2" - удаление одного символа из строки;
  • Функциональная клавиша "F3" - вставка одного символа в строку;
  • "ВВОД" - окончание набора или редактирования директивы с последующим её выполнением.

Перечисленные управляющие клавиши позволяют исправлять ошибки в процессе набора строки, для чего надо вернуться к ошибочному месту и дойти стрелкой вправо до места, откуда следует продолжить директиву.

Если нужная директива уже есть на экране (была набрана раньше), для её повторного исполнения достаточно стрелками вверх (вниз) и, при необходимости, вправо (влево) подойти курсором к началу директивы на экране, а затем пройти её стрелкой вправо до конца и нажать клавишу "ВВОД".

Осмотр содержимого памяти

Если набрать адрес ячейки памяти, а затем нажать клавишу "ВВОД", то на экране высветится этот адрес и через тире и пробел - содержимое этой ячейки памяти. Ячейка памяти запоминается как ПОЯ и СИЯ.

Если набрать точку с последующим адресом, а затем нажать клавишу "ВВОД", монитор высветит на экране дамп памяти (ДП) - содержимое всех ячеек памяти после ячейки памяти, запомненной как ПОЯ, кончая ячейкой памяти, набранной после точки.

Описанные две команды можно объединить в одну для того, чтобы высветить содержимое любого интервала памяти (ИП).

Директива: АДРЕС1.АДРЕС2 X "ВВОД" высвечивает заданный интервал памяти в текстовом представлении. При этом клавиша X нажимается в регистре LAT.

Изменение содержимого памяти

Если набрать двоеточие и последующие за ним данные (две шестнадцатеричные цифры), то содержимое ячейки памяти, запомненной как СИЯ, изменится и станет равным вновь набранному. Можно объединить эту команду с предыдущей. Для этого необходимо набрать адрес (он запоминается как СИЯ), двоеточие и данные. При этом можно изменить значение содержимого 85 ячеек памяти одновременно, набирая данные через пробел. Затем надо нажать клавишу "ВВОД". После присвоения строки данных ячейка памяти, следующая за последней изменённой, становится СИЯ.

Передвижение интервала памяти

Передвижение интервала памяти осуществляется с помощью команды MOVE.

Для этого необходимо набрать во входной строке монитора:

адрес нового местоположения ИП
< адрес первой ячейки ИП . адрес последней ячейки ИП M

По этой команде монитор делает копию ИП и передвигает её на указанное местоположение. Последняя ячейка первоначального ИП запоминается как ПОЯ, первая ячейка - как СИЯ.

Если второй адрес ИП меньше первого, то будет передвинуто содержимое только первой ячейки памяти.

Если адрес нового местоположения лежит внутри ИП, то содержимое интервала ИП, определяемого началом ИП и местоположением, будет повторяться далее на всём ИП. Этот эффект может быть использован, например, для заполнения одинаковой информацией больших ИП.

Сравнение двух ИП

С помощью команды VERIFY можно сравнить два интервала памяти, используя формат команды MOVE:

местоположение < ИП V

Если будут найдены отличия, высветится адрес ячейки памяти в первоначальном ИП, чьё значение отличается от соответствующего значения ИП, начинающегося с указанного местоположения.

Если отличий не найдено, на экране ничего не высвечивается. Оба ИП не изменяются. ПОЯ и СИЯ определяются так же, как в команде MOVE. Если адрес местоположения лежит внутри первоначального ИП, то команду VERIFY можно использовать для проверки на одинаковость заполнения первоначального ИП подинтервалом от начала ИП до места выполнения.

Считывание с МЛ

Программа позволяет считать ИП МЛ для дальнейшего использования. Для чтения с МЛ монитору необходимо подать адреса первой и последней ячейки ИП через точку и затем латинскую букву R.

До того, как нажать клавишу "ВВОД", необходимо нажать клавишу "Воспроизведение" на магнитофоне, и дать ленте прокрутиться несколько секунд.

Клавишу "ВВОД" следует нажимать, когда начнётся воспроизведение однотонного звука с кассеты.

Работа с программами в машинных кодах

Используя диалог монитора, можно написать любую программу в машинных кодах. С помощью команды L (LIST) можно посмотреть текст программы в мнемокоде системы команд. Выполнение программы осуществляется с помощью команды G (GO). Формат этих команд:

адрес начала программы L
или
адрес начала программы G

При написании программы в машинных кодах для обмена с экраном, клавиатурой, магнитофоном и аналого-цифровыми пультами удобно использовать отдельные подпрограммы монитора.

3.3. Дисковая операционная система

3.3.1. Назначение и условия применения дисковой операционной системы

Дисковая операционная система (ДОС) ПЭВМ "АГАТ" исполнения 9 предназначена для создания, сопровождения и уничтожения наборов данных (файлов) пользователя на накопителях на гибком магнитном диске (НГМД) FD55 или ЕС-5088.02.

ДОС позволяет работать с файлами трёх типов, при этом предусмотрена возможность расширения набора типов в соответствии с потребностями пользователя.

Минимальный объём оперативной памяти, необходимый для работы ДОС, составляет 10 Кбайт. ДОС совместим со всеми элементами программного обеспечения ПЭВМ "АГАТ".

Необходимым условием для работы ДОС является наличие в постоянном запоминающем устройстве (ПЗУ) ПЭВМ программы "Системный монитор".

3.3.2. Характеристика дисковой операционной системы

ДОС обеспечивает обмен с накопителями со скоростью 2,5К байт/с. Разброс временных характеристик НГМД компенсируется автоматически. Предусмотрена автоматическая настройка программы на конфигурацию оперативного запоминающего устройства (ОЗУ) ПЭВМ "АГАТ" исполнения 9.

При одновременном нажатии клавиш "УПР" и "СБР" на клавиатуре ПЭВМ "АГАТ" исполнения 9 выполняется "тёплый" перезапуск ДОС, при котором устанавливается исходное состояние всех признаков с сохранением всей информаций, загруженной пользователем в ОЗУ.

Контроль обмена выполняется побайтно за счёт специального кодирования. Кроме того, проверяются поблочно (256 байт) контрольные суммы информации.

3.3.3. Обращение к дисковой операционной системе

3.3.3.1. Начальная загрузка ДОС

При начальной загрузке программа переносится с гибкого магнитного диска (ГМД) в ОЗУ. Если контроллер НГМД расположен в разъёме X, то для выполнения загрузки достаточно передать управление на адрес $CX00, что осуществляется также командами "PR#X" языка "Бейсик" или "X УПР-P" программы "Системный монитор". Процесс загрузки занимает не более 1 минуты, при этом настройка и загрузка программ происходят автоматически и не требуют вмешательства оператора. Загрузка заканчивается выполнением указанной при инициализации ГМД программы, которая записана на том же ГМД. После этого в стандартном варианте ДОС подключает диалог "Бейсик".

3.3.3.2. Диалог ДОС

В настоящем подразделе описаны приказы с клавиатуры, исполняемые ДОС. При работе ДОС набор приказов добавляется к языку приказов используемой системы программирования. При этом каждая введённая строка вначале анализируется в ДОС. Если распознан приказ ДОС, он исполняется; в противном случае, строка передаётся анализатору приказов системы программирования. В связи с этим, как правило, при ошибке в ключевом слове приказа ДОС выдаётся диагностика ошибки диалога используемой системы программирования.

В дальнейшем изложении:

s - номер разъёма, в котором установлен контроллер (2-6);
d - номер привода, под которым подключён НГМД (1-2).

В исполнениях ПЭВМ с одним НГМД всегда d=l, s=6; v - номер тома, сформированный при инициализации ГМД. При инициализации с НГМД FD55, ГМД делится на несколько независимых частей (томов), имеющих свои каталоги.

Фрагменты приказа, заключённые в фигурные скобки {}, могут опускаться. При этом используются значения, установленные предыдущим приказом.

При начальной загрузке автоматически устанавливаются s и d первого найденного НГМД, с которого выполняется загрузка. Имя файла должно начинаться с буквы, может содержать до 30 любых символов, включая знаки и специальные символы, кроме ",".

Общие команды:

CATALOG {,Ss} {,Dd} {,Vv} - чтение каталога с ГМД.

По этой директиве на экран дисплея выводится каталог ГМД.

В каталоге ГМД по каждому из записанных на нём файлов отображается:

  • тип файла (A - Бейсик-программа, B - двоичный, T - текстовый);
  • размер файла в секторах (1 сектор - 256 байт);
  • имя файла.

INIT {имя файла} {,Ss} {,Dd} {,Vv} - инициализация ГМД. ГМД находится в работе около 2 мин. Если никаких сообщений не выдано, то в каталоге ГМД можно увидеть единственный файл с указанным именем.

При директиве INIT без указания имени файла на ГМД заносится ДОС и интерпретатор языка "Бейсик". При директиве INIT ИМЯ ФАЙЛА на заносятся ДОС, интерпретатор языка "Бейсик" размечается и программа на языке "Бейсик", находящаяся в этот момент в оперативной памяти ПЭВМ. Поскольку при разметке записывается файл типа A, для записи на ГМД необходимого пользователю бинарного файла требуется предварительно удалить этот файл директивой DELETE или переименовать его (RENAME).

RENAME файл 1, файл 2 {,Ss} {,Dd} {,Vv} - переименование файлов.

Здесь файл 1 - старое имя файла, файл 2 - новое имя файла.

DELETE имя файла {,Ss} {,Dd} {,Vv} - уничтожение файлов.

LOCK имя файла {,Ss} {,Dd} {,Vv} - защита файла на запись.

Файл, защищённый от записи, в каталоге маркируется звёздочкой (*).

UNLOCK имя файла {,Ss} {,Dd} {,Vv} - отменяет защиту от записи в файл.

MON {,C} {,I} {,O} - подключает отображение на экране команд и информации, проходящих в программном режиме исполнения. Указание C задаёт вывод команд, I - текста, вводимого с ГМД, O - текста, выводимого на ГМД. Хотя бы одно из указаний должно присутствовать.

NOMON - {,C} {,I} {,O} - отключает отображение, заданное командой MON. Запятые в командах MON и NOMON можно опускать. При начальной загрузке устанавливается NOMON ,C ,I ,O.

MAXFILES n - резервирует n буферов для активных файлов размером 256 байт каждый. При начальной загрузке n=3.

Работа с файлами типа A (программы на языке "Бейсик")

Для работы с файлами типа A используются следующие команды:

LOAD имя файла {,Ss} {,Dd} {,Vv} - загружает программу с ГМД. Программа и данные, находящиеся в памяти, теряются.

SAVE имя файла {,Ss} {,Dd} {,Vv} - записывает программу из памяти на ГМД, если на ГМД уже есть файл с такими координатами, он теряется и заменяется на новый.

RUN имя файла {,Ss} {,Dd} {,Vv} - загружает с ГМД и запускает программу. Программа и данные в памяти теряются.

CHAIN имя файла {,Ss} {,Dd} {,Vv} - загружает с ГМД и запускает программу. Программа в памяти теряется, данные передаются запускаемой программе.

Работа с файлами типа B (двоичные)

Далее здесь A - начальный адрес, L - длина двоичного файла. Требуется указывать десятичное значение, либо шестнадцатеричное с признаком "$" (например, A$1000, L4906).

BLOAD имя файла {,Aa} {,Ss} {,Dd} {,Vv} загружает файл с адреса a. Если адрес a не указан, загрузка выполняется с адреса, указанного при записи на ГМД. Адрес и длина загруженного файла остаются в ячейках $B81B-$B81C и SB808-$B809 банка D.

BSAVE имя файла {,Aa} {,Ll} {,Ss} {,Dd} {,Vv} записывает указанную зону памяти на ГМД.

BRUN имя файла {,Aa} {,Ss} {,Dd} {,Vv} то же, что и в BLOAD, но с последующей передачей управления на начальный адрес файла.

В данной версии ДОС возможно чтение текстового файла. Для этого имеется директива:

BLOAD имя файла, Aa.

Указание адреса начала в этом случае является обязательным.

3.3.3.3. Программные команды ДОС

Все команды диалога ДОС предоставляются для программных обращений в том же виде, как описано в п.3.3.3.2. Строка, содержащая текст приказа, для этого посимвольно передаётся на вывод подпрограммой COUT "Системного монитора", но перед ней выводится символ с кодом $84 (CHR $(132) в языке "Бейсик") (УПР-М с клавиатуры). Программы на "Бейсике" передают команды ДОСу оператором PRINT. Реальный вывод этой строки на экран выполняется в зависимости от состояния по режиму C команд MON/NOMON.

Следует учитывать, что управляющий код должен выводиться в первой позиции строки, гарантией чего может служить вывод перед ним кода КОНЕЦ СТРОКИ или $8D (CHR $(141) или PRINT в языке "Бейсик"). Кроме команд диалога, для программных обращений предоставляется ещё набор команд работы с текстовыми файлами. Эти команды имеют аналогичный текстовый формат. В настоящем подразделе описаны также программные обращения к ДОС, позволяющие проводить обмен с ГМД по физическим адресам.

Работа с файлами типа T (текстовые)

Предусмотрено два вида текстовых файлов: файлы с последовательным доступом, в которых хранится сплошная последовательность символов, и файлы с прямым доступом, содержащие записи фиксированной длины. В данном пункте: b - номер байта в файле с последовательным доступом или в записи файла с прямым доступом, r - номер записи в файле с прямым доступом, j - размер записи файла с прямым доступом.

OPEN имя файла {,Ss} {,Dd} {,Vv} - открытие файла для последовательного доступа.

OPEN имя файла {,Jj} {,Ss} {,Dd} {,Vv} - открытие файла для прямого доступа (1<j<32767).

Открытие отсутствующего файла приводит к созданию пустого файла, открытие файла с именем, имеющимся на ГМД, позиционирует файл на начало.

CLOSE имя файла {,Ss} {,Dd} {,Vv} - закрытие файла для последовательного доступа.

CLOSE имя файла {,Ss} {,Dd} {,Vv} - закрытие файла для прямого доступа.

WRITE имя файла {,Bb} - запись в файл для последовательного доступа.

WRITE имя файла {,Rr} {,Bb} - запись в файл для прямого доступа.

После выполнения команд OPEN и WRITE любой вывод из программы, выполняемый с помощью программы "Системный монитор" или PRINT "Бейсика" осуществляется в открытый текстовый файл. На экране результаты вывода появляются в зависимости от состояния "O" команд MON/NOMON.

При записи в ранее созданный файл, старая запись замещается новой. Если требуется дополнить файл, следует вместо OPEN пользоваться APPEND.

READ имя файла {,Bb} - чтение файла для последовательного доступа.

READ имя файла {,Rr} {,Bb} - чтение файла для прямого доступа.

После выполнения OPEN и READ весь ввод с помощью программы "Системный монитор" или INPUT и GET "Бейсика", запрашиваемый при выполнении программы пользователя (но не ввод, запрашиваемый в диалоге "Бейсик"), выполняется из открытого текстового файла. Отображение данных на экране задаётся состоянием "I" команд MON/NOMON.

EXEC имя файла {,Rr} {,Ss} {,Dd} {,Vv} - исполнение из текстового файла.

После исполнения команды весь ввод с помощью программы "Системный монитор" выполняется из текстового файла до тех пор, пока в нём встретится команда CLOSE без предшествующей ей OPEN, либо до исчерпания файла. Вводимые команды диалога различных подсистем исполняются по мере поступления, ввод запускаемых при этом программ также производится из исполняемого файла (кроме случая, когда запущенная программа открыла для себя другой файл на чтение).

Команда EXEC может пользоваться в прямом диалоге ДОС.

POSITION имя файла {,Rr} - позиционирование файла, пропускает r записей в файле (записи заданной длины для прямого доступа, символов "конец строки" для последовательного доступа). Выключает режим чтения и записи.

APPEND имя файла {,Ss} {,Dd} {,Vv} - наращивание файла с последовательным доступом, открывает файл и позиционирует его на последний символ. Последующий WRITE будет наращивать файл. Защита по записи на открытый командой APPEND файл не распространяется.

3.3.3.4. Обращение за информацией по физическим адресам

Для программных обращений предоставляется доступ к ГМД по физическим адресам. При разметке накопителем FD55 ГМД размечается на 80 дорожек - треков, на каждом из которых размещается 24 сектора. При этом происходит разметка обеих сторон ГМД. Нумерация треков ведётся с 0 от внешней окружности к центральному отверстию. При разметке накопителем ЕС 5088.02 ГМД размечается на 35 треков, каждый из которых имеет 16 секторов. В этом случае разметка односторонняя. В стандартном варианте треки 0, 1, 2 заняты программами ДОС, на треке 17 хранится каталог ГМД. Остальные треки предоставляются пользователю.

Для обращения к подпрограмме чтения/записи трека и сектора (ЧЗТС) необходимо иметь в памяти таблицу, формат которой описан в пп.3.3.4. Адрес таблицы помещается в регистры A (старший байт) и Y (младший байт), после чего управление передаётся по адресу $3D9.

В ДОС таблица размещается по адресу $557.

3.3.4. Входные и выходные данные

Входными данными ДОС служат директивы диалога и параметры программных обращений, выходными данными - результаты обмена с ГМД и сообщения об ошибках обращения (пп.3.3.3 и 3.3.5). Ниже приведена структура таблиц, используемых при обращениях к программе ЧЗТС.

Байт	Содержимое
1	тип таблицы =$01
2	номер разъёма НГМД, умноженный на $10
3	номер привода НГМД на контроллере
4	номер тома ГМД. Если $00 - игнорировать номер тома
5	номер трека:
	($00-$22) для НГМД ЕС 5088.02
	($00-$50) для НГМД FD55
6	номер сектора:
	($00-$0F) для НГМД ЕС 5088.02
	($00-$18) для НГМД FD55
7	исполнение:
	0 - немедленное;
	не 0 - отложенное
8	не используется
9-10	адрес буфера для чтения-записи
11-12	не используются
13	код работы:
	0 - включить НГМД, подвести головку
	1 - чтение 256 байт в буфер
	2 - запись 256 байт в буфер;
	4 - разметка ГМД
14	код завершения обмена:
	0 - нормальное завершение
	$10 - ГМД защищён по записи
	$20 - не тот номер тома
	$40 - сбой ГМД;
	$80 - сбой при чтении
15	номер тома ГМД (предыдущее обращение)
16	$10*S (номер разъёма в старшей цифре - предыдущее обращение)
17	d - (номер ГМД - предыдущее обращение)

3.3.5. Сообщения об ошибках

Всего ДОС инициирует 15 ошибок различного рода, которые распечатываются в развёрнутом виде. При использовании оператора языка "Бейсик" ONERR GOTO, код ошибки записывается по адресу 222 ($DE) и имеет следующий смысл:

  • 01 - язык не доступен системе (нет интерпретатора с языка "Бейсик");
  • 02, 03 - ошибка в диапазоне;
  • 04 - ГМД защищён на запись;
  • 05 - чтение после конца данных;
  • 06 - файл не найден;
  • 07 - не тот том (неправильно указан параметр);
  • 08 - ошибка ввода/вывода;
  • 09 - ГМД полностью использован и дальнейшая запись на него невозможна;
  • 0A - файл защищён на запись;
  • 0B - синтаксическая ошибка;
  • 0C - нет свободных буферов ввода/вывода;
  • 0D - команда не для этого типа файлов;
  • 0E - нет конца программы;
  • 0F - команда недоступна в прямом диалоге.

3.4. Интерпретатор языка "Бейсик"

3.4.1. Назначение и условия применения

Интерпретатор служит для выполнения программ и директив языка "Бейсик". (Фг.00035-01). Он размещается на ГМД ИКП1 и запускается из общего меню.

3.4.2. Элементы языка

3.4.2.1. Представление данных

В данной версии "Бейсика" возможна работа с простыми переменными, массивами и константами.

Простые переменные

Простые переменные в "Бейсике" могут быть вещественными, целыми и строковыми.

Массивы

В "Бейсике" используются массивы вещественного, целого и строкового типа. Размер массива ограничивается доступной памятью. Идентификация переменных проводится по всем символам имени, длина которого не ограничивается, и по типу переменной.

Константы

Вещественные константы представляются в естественном или в экспоненциальном формате.

Вещественные значения могут быть присвоены вещественным и целым переменным. Целые константы представляются в десятичной или в шестнадцатеричной форме.

Целые константы присваиваются целым и вещественным переменным.

Строчные константы можно присваивать только строковым переменным.

3.4.2.2. Представлений операций

В "Бейсике" используются арифметические операции и операции сравнения и логические операции.

3.4.2.3. Представление команд

Команды "Бейсика" подразделяются на 4 типа:

  • команды, начинающиеся с ключевого слова;
  • присваивания, начинающиеся с имени переменной;
  • команды ассемблера, начинающиеся с "!";
  • команды отладочного набора, начинающиеся со "*".

3.4.2.4. Системные команды

Установка начального состояния памяти, запуск программы со строки с наименьшим номером, остановка программы с выдачей текста строки, в которой произошёл останов, конец программы; остановка программы или выдача текста программы с выдачей текста строки и подсветкой оператора, на котором произошёл останов, продолжение выполнения программы, включение режима вывода номера строки при выполнении каждого оператора и его отмена, побайтное чтение и запись, программа задержки, вызов кодовой подпрограммы с передачей и без передачи значений.

3.4.2.5. Редактирование, текстовый вывод

"Бейсик" предусматривает выдачу всего или некоторой части текста программы или одной строки, осуществляет поиск и замену фрагментов, уничтожение строк программы, комментарий, управление курсором, нумерует строки и позиции на экране, очистку экрана, чистку переменных, задаёт объём свободной памяти, управление режимами вывода текста и их скоростью.

3.4.2.6. Массивы и строки

Команды "Бейсика" включают описание массивов, размерность которых ограничивается только общим объёмом памяти и набор функций, формирующих целые значения от строкового аргумента.

3.4.2.7. Ввод/вывод данных

В "Бейсике" предусмотрен ввод/вывод целых, вещественных и строковых переменных с клавиатуры или заменяющего её устройства, посимвольный ввод, а также команды работы со списками данных.

3.4.2.8. Команды передачи управления

Эти команды осуществляют условный и безусловный переход с запоминанием и без запоминания адреса возврата, переход по одному из указанных адресов в зависимости от значения исходной переменной, а также возможность организации циклов и подключение программы обработки ошибок.

3.4.2.9. Графика и игровые датчики

В "Бейсике" используются команды включения графики среднего и высокого разрешения, установки цвета, рисования точек и линий определённых цветов, воспроизведения образов, установки масштабов воспроизведения образов, установки углов поворота образов по часовой стрелке, установка текстового режима.

3.4.2.10. Элементарные математические функции

В "Бейсике" вычисляются значения синуса, косинуса, тангенса, котангенса, арктангенса, значение целой части, псевдослучайное значение в интервале 0,1, SGN, модуля числа, положительного квадратного корня, экспоненты, натурального логарифма.

3.4.2.11. Управление ассемблированием

В языке "Бейсик" предусмотрена возможность выполнения программ, написанных на языке "Ассемблер", с последующим возвращением в программу, написанную на языке "Бейсик".

Язык "Ассемблер" имеет собственную мнемонику. СП "Бейсик" содержит некоторые средства отладки программ, написанных на "Ассемблере".

3.4.3. Обращение к программе

Для запуска интерпретатора необходимо разместить его в ОЗУ ПЭВМ "АГАТ". Все действия выполняются автоматически программой "Дисковая операционная система" (ДОС) при включении ПЭВМ.

Для обращения к интерпретатору из программы "Системный монитор" используются следующие команды:

  • * E000G - для обращения к интерпретатору без сохранения программы и состояния интерпретатора;
  • * E0003G или УПР-C, затем нажать на клавишу СБР - для обращения к интерпретатору с сохранением программы и состояния интерпретатора.

3.4.4. Входные и выходные данные

Входными данными для интерпретатора языка "Бейсик" являются тексты программ и директив языка "Бейсик".

Выходными данными являются результаты исполнения программ и директив (программы в кодах, сообщения о результатах работы программ, сообщения об ошибках).

3.4.5. Сообщения об ошибках

Интерпретатор сообщает об ошибках в программе или директиве посредством надписей на экране видеомонитора либо печати их на печатающем устройстве.

На экране видеомонитора выдаётся, кроме этого, текст строки, при исполнении которой обнаружена ошибка, с выделением местоположения ошибки. Подробное описание языка "Бейсик" ПЭВМ "АГАТ" исполнения 9 приведено в документе Фг.00035-01 35 01.

3.5. Интерпретатор языка "Applesoft".

Использование языка "Applesoft" возможно при работе ПЭВМ "АГАТ" исполнения 9 в режиме "Apple". Загрузка "Applesoft" из меню ГМД ИКП1 обеспечивает ПЭВМ "АГАТ" совместимость с программным обеспечением семейства компьютеров "Apple" до модели "Apple][e" включительно, а также компьютера "Правец 8М".

"Applesoft" является интерпретируемым языком типа "Бейсик". Основными отличиями его от описанного выше языка "Бейсик" являются:

Подробное описание языка программирования "Applesoft" приведено в документе Фг.00035-01 35 01.

3.6. Интерпретатор языка "Рапира"

3.6.1. Назначение и состав системы

Интерпретатор языка "Рапира" разработан для применения на практических занятиях по программированию в рамках курса информатики и вычислительной техники, для разработки и эксплуатации программного обеспечения, применяемого на занятиях в вычислительном кабинете по различным школьным предметам, а также для общих применений в качестве системы программирования с языком высокого уровня.

Реализация учебно-производственного языка "Рапира" составляет ядро системы, которая вместе с экранным редактором текстов, файловой системой и библиотекой стандартных функций образует полную систему программирования с существенно расширенными по отношению к "Бейсику" возможностями решения логических и вычислительных задач, а также с более мощными средствами организации диалога.

3.6.2. Загрузка и запуск системы

Загрузка системы производится из начального меню ГМД ИКП1.

3.6.3. Основной диалоговый режим "Рапиры"

В основном диалоговом режиме возможно выполнение универсальных предписаний, директив запуска интерпретатора языка "Рапира", директив перехода в режим редактирования - описание процедур и функций, задействованы 15 функциональных клавиш.

3.6.4. Имена и значения "Рапиры".

Простые имена строятся из заглавных букв, цифр (только не в начале имени) и одиночных подчерков. Идентификация имён выполняется по всем символам, длина имени не более 255 символов. Типизация имён отсутствует, любое имя, если оно не защищено, может принять значение любого типа. Предусмотрена частичная, полная и абсолютная защита имён.

Простыми значениями в "Рапире" служат целые и дробные числа, а также тексты. Составными значениями в "Рапире" являются кортежи, множества и записи.

3.6.5. Операции

3.6.5.1. Операции, вырабатывающие имена

Операции доступа в "Рапире" вырабатывают ссылки на элементы составных значений и могут применяться как в выражениях - источниках, так и в получателях присваиваний. К ним относятся выборка, вырезка и доступ к полю.

3.6.5.2. Операции, вырабатывающие значения

Все операции, вырабатывающие имена, при использовании в качестве источников присваиваний вырабатывают значения этих имён (разыменование) и использований арифметических выражений и определения мощности (количества элементов) для текстов, кортежей и множеств. При использовании в источниках присваиваний операции доступа вырабатывают соответствующие составные значения, на которые ссылаются их результаты.

Формирователи также используются в качестве многоместных операций и вырабатывают соответствующие составные значения.

3.6.6. Условия

Логические значения отсутствуют, поэтому условия могут встречаться только в условных предписаниях и циклах. Условия строятся из сравнений равно, не равно, больше, меньше, не больше, не меньше, сравнение видов, проверка принадлежности.

3.6.7. Условные предписания

Используется предписание ЕСЛИ ..., ТО; два вида предписания ВЫБОР - по условию и по значению.

3.6.8. Циклы

Предусмотрены 4 типа записи циклов в числе которых имеется цикл с выходом при достижении определённого условия.

3.6.9. Описание процедур и функций

Заголовок процедуры строится из имени процедуры и списка формальных параметров с указанием способа их передачи. Имена формальных параметров локализованы в процедуре. При вызове тело процедуры погружается в динамический контекст предшествовавшей цепочки вызовов за вычетом имён, совпадающих с локальными именами данной процедуры.

Описание функций отличается началом описания и наличием конструкции, которая вырабатывает значение функции, используемое в точке вызова. Имена процедур и функций, а также входных параметров при их исполнении абсолютно защищены.

3.6.10. Файлы и файловые операции

В "Рапире" предусмотрены только текстовые файлы произвольного доступа. Хранение значений любых видов обеспечивается за счёт совместимости форматов ввода и вывода.

При открытии файла указывается имя, под которым он используется в программе (внешнее имя). Ему может быть поставлено в соответствие имя, под которым открыт файл на ГМД (внутреннее имя). Если такое соответствие не задаётся, то внешнее имя файла совпадает с внутренним.

Выводить в файл одним предписанием несколько выражений не рекомендуется.

При чтении с файла возможен вывод нескольких выражений по именам, а также позиционный вывод с указанием текущей позиции и длины.

3.6.11. Ввод и вывод

При вводе и выводе различаются направления (при вводе - клавиатура или файл, при выводе - экран, бумага или файл), потоки (при вводе - системный и программный, при выводе - системный, программный и отладочный) и форматы представления данных.

Ввод и вывод возможен в естественном формате, для вывода используется также форматный и системный вывод. В предписаниях ввода/вывода можно указывать направления, отличающиеся от назначенных для данного потока.

3.6.12. Управление отладкой

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

3.6.13. Графика, аналого-цифровые пульты, звук

Интерпретатор "Рапира" поддерживает все графические режимы ПЭВМ "АГАТ" исполнения 9. Графические процедуры работают одинаково во всех графических и текстовых режимах. Существует набор графических процедур, облегчающих отображение графической информации на экран видеомонитора.

Интерпретатор "Рапира" обеспечивает возможность использования аналогово-цифровых пультов и формирования звуковых сигналов с различными частотами.

3.6.14. Составление процедур. Редактор программных текстов

Все описанные выше предписания могут быть исполнены в основном диалоговом режиме путём набора их с клавиатуры. Исключение составляют заголовки процедур и функций - их исполнение сводится к переходу в режим редактирования программных текстов. В этом режиме набираемые предписания не исполняются, а запоминаются в составе тела процедуры для дальнейшего исполнения при её вызове. Режим редактора отличается использованием функциональной и управляющей клавиатуры.

После записи требуемого текста вызывается режим меню редактора.

Редактор может использоваться для редактирования записанных на файл данных и произвольных текстов.

3.6.15. Модули и исполнители

Модуль представляет собой пакет процедур и функций, снабжённых локализованными данными, которые не теряются при выходе из этих программ, но не доступны иначе, как путём вызова процедур модуля через их глобальные имена.

Синтаксически модуль представляет собой пакет процедур, перед которым размещается объявление локальных в модуле имён. В процедурах модуля используются имена трёх типов: локальные в процедуре имена, локальные в модуле имена и глобальные имена.

Трансляция модулей происходит только при включении их предписанием. В финишной процедуре модуля рекомендуется присваивать пустые значения созданным при его работе глобальным именам.

Подробное описание языка программирования "Рапира" представлено в документе Фг.00031-01 35 01.

3.7. Комплексный тест

Он предназначен для комплексной проверки ПЭВМ "АГАТ" исполнения 9 в заводских условиях и при последующей эксплуатации. В его состав входят следующие подтесты:

Подробное описание обращения к тесту и его функциональных возмокностей имеется в документе Фг.00033-01 34 01.

3.8. Тест ОЗУ

Он располагается на ГМД ИКП2, загружается при включении питания и предназначен для проверки микросхем памяти, содержащихся в ПЭВМ "АГАТ" исполнения 9 и логики управления памятью. Тест может функционировать как в автономном режиме, так и в составе комплексного теста.

3.9. Диалоговый отладочный комплекс

Функционально ДОК состоит из трёх программных систем:

3.9.1. Редактор

Он предназначен для создания и редактирования исходных текстов программ на языках "Ассемблер" и "Бейсик".

В редакторе ДОК имеются следующие функции:

3.9.2. Ассемблер

Он предназначен для преобразования исходного текста программы, написанного в мнемонике языка "Ассемблер" микропроцессора 6502, в бинарный объектный код программы. В процессе ассемблирования производится синтаксический анализ исходного текста программы и отображение на экране видеомонитора найденных ошибок. Исходный текст при ассемблировании может располагаться в оперативной памяти ПЭВМ или на ГМД. Возможно также ассемблирование исходного текста, находящегося на нескольких файлах. Возможна выдача на печатающее устройство ассемблируемого текста и используемых в нём меток.

3.9.3. Отладчик

Он предназначен для облегчения процесса отладки кодовых программ и программ, написанных на языке "Бейсик".

Он предоставляет пользователю следующие возможности:

В отладчике реализованы арифметические (+ и -) и логические ("И", "ИЛИ", "Исключающее ИЛИ") операции.

4. КОМПЛЕКС ПРОГРАММ ОБЩЕГО НАЗНАЧЕНИЯ (КПОН)

4.1. Загрузка КПОН

В КПОН входят как самостоятельные составные части три пакета программ, ориентированных на пользователя, не имеющего программистской квалификации. Эти пакеты располагаются на одном ГМД, имеющем маркировку КПОН1 (Фг.00032-01 12 01) и запускаются через общее меню после загрузки дисковой операционной системы (ДОС).

4.2. Состав и назначение КПОН.

Первым из вышеупомянутых пакетов является пакет программ "Система подготовки текстов "АГАТ-АВТОР" (СПТ).

СПТ предназначена для разработки, хранения и изготовления текстовых материалов.

Система предоставляет пользователю возможность ввода информации с ГМД или клавиатуры, редактировать её на экране дисплея, а также выводить подготовленный текст на печатающее устройство или запоминать его на ГМД.

Для работы с СПТ не требуется знания языков программирования и навыков общения с вычислительной техникой.

СПТ применима для широкого круга предприятий и организаций, имеющих дело с текстовой документацией (статьи, письма, отчёты и т.д.).

Вторым пакетом программ, находящимся на ГМД КПОН1, является пакет "Система численного моделирования" (СЧМ).

СЧМ предназначена для математической обработки данных, организованных в форме таблицы, записи исходных параметров и результатов обработки на ГМД или выдачи на печатающее устройство в форме отчётной документации.

СЧМ применима для решения экономических и инженерных задач, а также задач прогнозирования и планирования без применения формальных методов оптимизации.

Пакет может быть использован в НИИ, машиносчётных бюро, плановых организациях как средство произведения смет, калькуляций, экономических и инженерных расчётов и т.д.

Последним пакетом КПОН является "Система управления базами данных" (СУБД).

СУБД предназначена для сбора, хранения, редактирования, вывода и поиска информации. Система может быть использована для создания картотек, справочников и различных информационно-поисковых систем. Пакет может быть использован в службах и подразделениях предприятий, имеющих дело с хранением и поиском однотипной информации (отдел кадров, библиотека и т.д).

4.3. Характеристики и функциональные возможности СПТ

При работе с СПТ пользователь использует три типа функциональных возможностей системы:

  • возможности создания и редактирования текстов;
  • возможности работы с дисковой памятью;
  • возможности выдачи на печатающее устройство.

4.3.1. Создание и редактирование текстов

4.3.1.1. Режимы набора и редактирования

При создании или редактировании текста пользователь может использовать три режима:

  • забой - замена напечатанных символов другими без перемещения напечатанной далее информации;
  • вставка - вставка новых символов с перемещением напечатанной далее информации;
  • инверсия - замена в напечатанном тексте строчных букв на прописные и наоборот.

СПТ предоставляет также возможность производить поиск и замену участка текста, а также удалять отдельный символ, слово или абзац.

4.3.1.2. Параметры строки

К параметрам строки относятся правый и левый отступы, межстрочный интервал и режим выравнивания. Данные параметры управляют расположением строки относительно предыдущей (смещение строки влево или вправо, расположение её по центру, изменение её длины, а также вертикальной плотности печати).

4.3.1.3. Параметры абзаца

К параметрам абзаца относятся красная строка и абзацный отступ.

Они обеспечивают печать заданного числа пробелов в начале первой строки абзаца.

4.3.1.4. Параметры оформления страницы

Они позволяют изменять ширину свободного пространства вверху и внизу страницы, задавать номер страницы и текст колонтитула, а также изменять шрифт печати внутри строки. Они позволяют также задавать файл, который необходимо распечатывать непосредственно вслед за данным, а также задавать количество копий при печати.

4.3.2. Работа с дисковой памятью

ДОС СПТ предоставляет пользователю следующие возможности:

  • разметку чистого ГМД;
  • запись готового текста на ГМД в виде бинарного файла;
  • чтение бинарного или текстового файла с ГМД;
  • удаление файла с ГМД;
  • сохранение фрагмента текста на ГМД;
  • вставку файла в качестве фрагмента в создаваемый текст;
  • просмотр каталога файлов;
  • обращение к второму дисководу;
  • диагностику ошибок ДОС.

4.3.3. Изготовление документов

При выдаче готового текста на бумагу СПТ предоставляет пользователю определённые возможности для оформления печатного документа.

4.3.3.1. Печать текущего экрана

Для печати коротких (одна страница) документов СПТ позволяет выдать на бумагу текущее расположение экрана с сохранением расположения текста.

4.3.3.2. Стандартные форматы печати

СПТ содержит в себе библиотеку форматов выдачи на почать, состоящую из 16 форматов. Каждый формат содержит 13 параметров. Существует возможность изменения каждого из существующих форматов и сохранения их для последующего использования. Подробное описание СПТ представлено в документе Фг.00017-01 91 01.

4.4 Характеристики и функциональные возможности СЧМ

4.4.1. Характеристики СЧМ

СЧМ с точки зрения пользователя представляет собой таблицу, каждую клетку которой можно заполнить текстовой, цифровой информацией или формулами. Под формулой в СЧМ подразумевается тип расчётов, которые пользователь производит в той или иной клетке. При занесении формулы в клетку таблицы СЧМ автоматически запоминает значение формулы при заданных аргументах и её вид. При изменении содержимого клетки - аргумента таблицы происходит пересчёт всех зависящих от неё формул.

Строки и столбцы могут заполняться информацией в произвольном порядке.

4.4.2. Функциональные возможности СЧМ

4.4.2.1. СЧМ обеспечивает следующие возможности ввода и редактирования информации:

  • посимвольное редактирование вводимой информации;
  • очистка всей таблицы СЧМ;
  • посимвольное редактирование вводимой информации на экране видеомонитора;
  • очистка отдельной клетки таблицы СЧМ;
  • введение нового столбца или новой строки в таблицу СЧМ;
  • исключение отдельного столбца или строки из таблицы СЧМ;
  • редактирование ранее заполненной клетки;
  • перемещение отдельной строки или столбца в таблице СЧМ;
  • изменение ширины столбца таблицы СЧМ;
  • фиксация определённых строк и(или) столбцов при просмотре других участков таблицы.

4.4.2.2. СЧМ обеспечивает отображение информации на экране видеомонитора, запись её на ГМД, или распечатку на печатающем устройстве.

При обращении к ГМД ДОС СЧМ выполняет следующие директивы:

  • разметку чистого ГМД;
  • запись текстового файла на ГМД;
  • чтение текстового файла с ГМД;
  • уничтожение отдельного файла на ГМД.

4.4.2.3. СЧМ обеспечивает выполнение следующих арифметических действий и алгебраических операций:

  • сложение;
  • вычитание;
  • умножение;
  • деление;
  • возведение в степень;
  • извлечение квадратного корня.

4.4.2.4. СЧМ обеспечивает вычисление тригонометрических, обратных тригонометрических, экспоненциальной и логарифмической функций.

4.4.2.5. СЧМ обеспечивает выполнение следующих специальных операций:

  • нахождение суммы заданного набора чисел;
  • нахождение максимального (минимального) числа из заданного набора чисел;
  • нахождение среднего значения набора чисел;
  • определение количества ненулевых элементов в заданном наборе чисел;
  • определение значения элемента, заданного его номером, в указанном диапазоне;
  • определение номера элемента, заданного его значением, в заданном диапазоне.

4.4.2.6. СЧМ обеспечивает выполнение следующих логических функций и операций:

  • больше;
  • меньше;
  • равно;
  • больше или равно;
  • не равно;
  • логическое И;
  • логическое ИЛИ;
  • логическое НЕ.

4.4.2.7. СЧМ обеспечивает выполнение альтернативных вычислений на основании сформированного логического признака. Подробное описание СЧМ представлено в документе Фг.00013-01 91 01.

4.5. Характеристики и функциональные возможности СУБД

4.5.1. Характеристики СУБД

Программа СУБД позволяет пользователю создать любой вид документа (форму), включающий в себя большое количество показателей.

Данные хранятся на ГМД и сгруппированы в записи. Каждая заполненная форма - запись. Программа ведёт их подсчёт. Если база данных не помещается на одном ГМД, система позволяет продолжить базу на другом ГМД. Ограничений на число ГМД нет.

4.5.2. Функциональные возможности СУБД

4.5.2.1. Создание формы

В этом режиме создаётся структура базы данных (БД). При этом формируются и отображаются на экран видеомонитора имена полей и их типы. СУБД оперирует следующими типами полей:

  • текст - набор символов КОИ-8;
  • число - целое или вещественное, возможна экспоненциальная запись вещественного числа;
  • дата - календарная дата в формате "день.месяц.год";
  • перечень - задаваемый при формировании БД набор текстовых элементов.

4.5.2.2. Заполнение перечня

Данный режим предназначен для формирования списка элементов перечня и коррекции поля типа перечень.

4.5.2.3. Добавление записей

Режим предназначен для расширения существующей БД и запоминания полученной БД на ГМД.

4.5.2.4. Печать записей

Режим предназначен для последовательной выдачи записей на экран видеомонитора.

4.5.2.5. Поиск записей

В системе предусмотрены следующие условия поиска:

  • больше;
  • меньше;
  • равно.

Над условиями поиска можно выполнять логические операции "И", "ИЛИ", "НЕ".

Над полями типа "ЧИСЛО" и "ДАТА" допустимы все типы условий, принятых в системе. Над полями типа "ТЕКСТ" и "ПЕРЕЧЕНЬ" допустим поиск только по условию равенства.

Поиск можно организовывать по нескольким полям сразу. Для текстовых полей возможна организация поиска по вырезке текста.

Подробное описание СУБД представлено в документе Фг.00027-01 91 01.

* * *