ЭКВМ Электроника МК. Обмен данными. Описание команд


Главная / ЭКВМ / Техническая информация / Обмен данными

6. Описание команд

 

6.1. Идентификационная информация

 

6.1.1. Идентификационная информация доступна только по чтению. На запрос ЭВМ возвращает в поле данных строку символов в кодировке 866. Длина строки определяется длиной принятого пакета.

 

6.1.2. Краткое наименование ЭВМ: "MK152"

 

6.1.3. Полное наименование ЭВМ: "Клавишная ЭВМ ЭЛЕКТРОНИКА МК-152"

 

6.1.4. Дата последней модификации встроенной программы: "ДДММГГ",
где ДД - день;
ММ - месяц;
ГГ - год.

 

6.1.5. Версия программы и дата последней модификации:"Версия X.XX от ДД.ММ.ГГ",
где "X.XX" - номер версии встроенной программы ЭВМ.

 

6.1.6. Краткое наименование предприятия-изготовителя: "SEMICO"

 

6.1.7. Полное наименование предприятия-изготовителя:
"ООО научно-производственное предприятие СЕМИКО, г.Новосибирск, Россия, www.semico.ru"



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

 

6.2.1. Команда ТЕСТ

Команда ТЕСТ доступна только по чтению и позволяет одновременно считать текущее состояние ЭВМ и результат выполнения дисковых операций. На запрос ЭВМ возвращает в поле данных 2 байта.

Состояние битов первого байта (байта состояния) определяют текущее состояние ЭВМ:

  • - бит 0 установлен, если выполнена блокировка клавиатуры ЭВМ, иначе - сброшен;
  • - бит 1 установлен, если ЭВМ занята выполнением длинной операции (например, производится запись данных в энергонезависимую память), иначе - сброшен;
  • - бит 7 установлен, если ЭВМ исполняет программу пользователя.

Другие биты байта состояния всегда сброшены.

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

  • - 0 - операция выполнена успешно;
  • - 1 - нет диска;
  • - 2 - диск не форматирован;
  • - 3 - нет места на диске;
  • - 4 - нет места в каталоге;
  • - 5 - ошибка имени каталога/файла;
  • - 6 - невозможно удалить каталог;
  • - 7 - каталог/файл не выбран.
 

6.2.2. Установка скорости обмена

При работе ЭВМ в режиме внешнего доступа возможно изменение скорости обмена командой 9.2 (см. табл. 2). В качестве данных передаётся и считывается значение от 0 до 13, аналогично функции установки скорости обмена (R9071).

Скорость изменяется после передачи ответа на команду записи.

 

6.2.3. Блокировка клавиатуры

При работе ЭВМ в режиме внешнего доступа предусмотрен режим блокировки клавиатуры для исключения влияния оператора на процесс передачи данных. Блокировка включается командой 10.3 (см. табл. 2), при этом на экран ЭВМ выводится соответствующая пиктограмма. Блокировка может быть включена только в том случае, если ЭВМ не исполняет программу пользователя (бит 7 байта состояния сброшен). В противном случае на поданную команду ЭВМ выдает ошибку 04 "Данные не готовы".

Выключение блокировки производится подачей команды 10.4. Блокировка также выключается при включении питания ЭВМ.

 

6.2.4. Управление программой пользователя

При работе ЭВМ в режиме внешнего доступа предусмотрена возможность запуска и остановки исполнения программы пользователя. Запуск программы производится подачей команды 9.5, при этом исполнение программы начинается с адреса 0000. Если при подаче команды установлена блокировка клавиатуры (установлен бит 0 байта состояния), запуск программы не производится, ЭВМ выдает ошибку 04 "Данные не готовы".

Остановка выполнения программы производится подачей команды 10.6.



6.3. Память программ

 

6.3.1. Память программ ЭВМ доступна по записи и чтению, при этом чтение возможно в любом состоянии ЭВМ, запись возможна только при установленной блокировке клавиатуры ЭВМ. В противном случае на команду записи данных ЭВМ выдает ошибку 04 "Данные не готовы".

 

6.3.2. Чтение и запись производится либо по одному байту, либо постранично (100 байт). Текущий адрес памяти программ или текущий номер страницы для обмена предварительно устанавливаются командами 2.1 и 2.2 соответственно. Значения передаются в двоичном виде младшим байтом вперед.

 

6.3.3. Обмен производится при помощи команд 2.3 и 2.4. При обмене считывается содержимое ОЗУ памяти программ ЭВМ, при записи также изменяется только содержимое ОЗУ. После загрузки данных, все содержимое ОЗУ памяти программ можно запомнить в энергонезависимой памяти, подачей команды 2.5 или восстановить предыдущее состояние, подачей команды 2.6.



6.4. Десятичные данные, двоичные данные и текст

 

6.4.1. Доступ к регистрам десятичных данных, регистрам двоичных данных и к тексту аналогичен доступу к памяти программ ЭВМ. При этом десятичные данные передаются одиночными числами (8 байт в формате МК, знаковым байтом вперед) или блоками по 8 чисел (64 байта), двоичные данные - побайтно или блоками по 64 байта, текст - по одному символу или построчно (24 символа в строке).



6.5. Графический экран

 

6.5.1. Доступ к графическому экранному буферу по чтению возможен в любом состоянии ЭВМ. Для обмена данными используются команды 6.3 и 6.4. Чтение производится либо по одному байту, либо построчно (128 байт). Текущий адрес графической памяти или текущий номер строки для обмена предварительно устанавливаются командами 6.1 и 6.2.

 

6.5.2. Доступ к основному экрану автоматического режима работы производится аналогичным образом. Для обмена данными используются команды 6.5 и 6.6.



6.6. Журнал событий

 

6.6.1. Доступ к журналу событий возможен в любом состоянии ЭВМ. Для обмена данными используются команды 7.1 и 7.2.

 

6.6.2. Чтение текущего указателя журнала производится командой 7.1. Команда возвращает номер текущей записи от 0 до 7 в группе последних записей журнала.

 

6.6.3. Чтение группы последних записей производится командой 7.2. В ответ на запрос ЭВМ выдаёт группу из восьми записей по 8 байт в каждой. Каждая запись разбита на фиксированные поля.

Поле 1. Код события. Один байт. Описание кодов приведено в таблице 4.

Поле 2. Текущий адрес. Два байта в BCD формате, представляющие старшую и младшую часть адреса в памяти программ ЭВМ.

Поле 3. Время возникновения события. Три байта, которые содержат значения секунд, минут и часов в шестнадцатеричном формате.

Поле 4. Дата возникновения события. Два байта, которые содержат значения дня и месяца в шестнадцатеричном формате.

Таблица 4

Код события
Описание
HEX
DEC
01h 1 Ошибка формата числа
02h 2 Переполнение
03h 3 Деление на ноль
04h 4 Неверный аргумент
05h 5 Несуществующий адрес
06h 6 Переполнение стека подпрограмм
07h 7 Переполнение стека прерываний
08h 8 Ошибка контрольной суммы памяти программ
09h 9 Аварийный останов по команде "K-"
0Ah 10 Аварийный останов по команде "K÷"
0Bh 11 Ошибка последовательности "ВП ,"
10h 16 Запуск программы по команде "С/П"
11h 17 Автоматический запуск программы по рестарту
18h 24 Останов программы по команде "С/П"
19h 25 Останов программы оператором
1Ah 26 Останов программы оператором со вводом пароля
1Bh 27 Останов программы с использованием внешнего доступа


6.7. Электронный блокнот

 

6.7.1. Данные электронного блокнота ЭВМ доступны по записи и чтению только при установленной блокировке клавиатуры ЭВМ.

 

6.7.2. Чтение и запись производится по одной записи (4 числа) с использованием команды 7.1. Текущий номер записи для обмена предварительно устанавливается командой 7.2. Передаваемые данные пишутся непосредственно в энергонезависимую память ЭВМ.



6.8. Файловая структура

 

6.8.1. Описание

Работа с файлами, хранящимися на электронных дисках ЭВМ, производится путем вызова команд, аналогичных по действию командам дисковой операционной системы (далее - ДОС). Доступ возможен только при установленной блокировке клавиатуры ЭВМ.

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

Доступ к файлам и подкаталогам осуществляется через активный каталог, который загружается в специальную область ОЗУ, длиной 2048 байт и представляет собой список, содержащий 64 строки с номерами от 0 до 63 по 32 байта. Каждому файлу/подкаталогу соответствует одна строка каталога, которая содержит имя, определяет тип файла, дату и время его создания, длину (для файла программы) и местонахождение на диске. В строке с номером 0 всегда содержится ссылка на материнский каталог и имя материнского каталога.

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

 

6.8.2. Выбор диска

Для выбора активного диска используется команда 8.1. При записи числа 0 выбирается диск A, при записи числа 1, если выбирается диск B, при этом в ОЗУ автоматически загружается головной каталог загружаемого диска. Если указанный диск недоступен (отсутствует или неформатирован), устанавливается соответствующая ошибка, предыдущее содержимое ОЗУ каталога не изменяется.

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

 

6.8.3. Чтение информации о диске

Информацию об активном диске можно получить с помощью команды 8.3. В ответ на запрос ЭВМ выдает строку данных длиной 38 байтов. Строка разбита на фиксированные поля. Поля следуют от начала строки и имеют следующее содержание.

Поле 1. Время и дата создания (форматирования) диска. 8 байт в BCD формате в последовательности - секунды, минуты, часы, день, месяц, день недели, год. Последним байтом записано случайное число от 0 до 255.

Поле 2. Название диска, 24 байта, состоит из разрешенных символов.

Поле 3. Число свободных кластеров, 2 байта.

Поле 4. Число занятых кластеров, 2 байта.

Поле 5. Число сбойных кластеров, 2 байта.

Обновление информации о диске производится при выборе диска.

 

6.8.4. Чтение каталога

Каталог просматривается построчно, для чего с помощью команды 8.2 устанавливается номер строки каталога (от 0 до 63) и выполняется запрос по команде 8.4. При этом ЭВМ возвращает ответ, в поле данных которого содержится строка каталога с установленным номером.

Поля строки каталога имеют следующее содержание.

Поле 1. Идентификатор, длина 1 байт. Определяет тип записи:

  • 0 - заголовок каталога;
  • 1 - не используется;
  • 2 - подкаталог;
  • 3 - файл программы;
  • 4 - файл десятичных данных;
  • 5 - текстовый файл;
  • 6 - файл двоичных данных.

Строка с идентификатором 0 всегда стоит в нулевой строке. Если в начале нулевой строки другое значение байта - каталог не загружен.

Поле 2. Номер кластера (адрес) начала файла/каталога на диске, длина 2 байта.

Определяет местоположение файла/каталога на диске. Для заголовка каталога определяет начало материнского каталога. Если адрес материнского каталога равен 0000h, то загружен головной каталог диска.

Поле 3. Имя файла/каталога, длина 20 байт.

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

Поле 4. Время и дата создания файла/каталога, длина 8 байт.

Поле 5. Длина файла, 1 байт. Параметр определен только для файлов программ в страницах от 1 до 100.

 

6.8.5. Загрузка файла/каталога

Для загрузки файла или каталога используется команда 8.5. При выполнении операции из ОЗУ каталога считывается идентификатор строки, номер которой предварительно задан командой 8.2. В зависимости от типа идентификатора, производится переход в подкаталог, загрузка файла из диска в соответствующую область памяти ЭВМ или переход в материнский каталог. Если заданная строка не содержит идентификатора, операция не выполняется, формируется результат выполнения операции 7 (см. п. 6.2.1).

Загрузка файлов производится только в область ОЗУ ЭВМ, файлы программ загружаются с адреса 0, содержимое энергонезависимой памяти остается неизменным.

 

6.8.6. Удаление файла/каталога

Функция предназначена для удаления файлов и подкаталогов по заданному номеру строки каталога. Номер строки каталога задается командой 8.2, операция выполняется при помощи команды 8.6. Функция не удаляет подкаталоги, содержащие файлы и подкаталоги. В этом случае формируется результат выполнения операции 6 (см. п. 6.2.1).

 

6.8.7. Создание каталога

Новый подкаталог в активном каталоге создается при выполнении записи по команде 8.7, при этом в поле данных команды передается строка, аналогичная строке каталога, в которой заполнено только имя нового подкаталога. Если имя создаваемого подкаталога совпадает с именем уже существующего подкаталога, или имя начинается с пробела, операция не производится и вырабатывается результат выполнения операции 5 (см. п. 6.2.1).

 

6.8.8. Создание файла

Новый файл в активном каталоге создается при выполнении записи по команде 8.8. В поле данных команды передается строка, аналогичная строке каталога, в которой заполнены поле 1, идентификатор файла, поле 3, имя создаваемого файла и поле 5, длина файла (только для файлов программы), при этом для файла программы начальным адресом принимается адрес 0 ОЗУ памяти программ ЭВМ. Если имя создаваемого файла совпадает с именем уже существующего файла данного типа, или имя начинается с пробела, операция не производится и вырабатывается результат выполнения операции 5 (см. п. 6.2.1).



НПП "СЕМИКО" (383) 271-01-25 (многоканальный)