close

Вход

Забыли?

вход по аккаунту

?

Организация работы с функциями, адресуемые через регистры памяти Том1

код для вставкиСкачать
"СЕМИКО". ЭКВМ. Организация работы с функциями, адресуемые через регистры памяти Том1
НПКД.401348.001 Д1
НАУЧНО-ПРОИЗВОДСТВЕННОЕ ПРЕДПРИЯТИЕ "СЕМИКО"
40 1348
Клавишные электронно-вычислительные машины
ЭЛЕКТРОНИКА МК
ОРГАНИЗАЦИЯ РАБОТЫ С ФУНКЦИЯМИ,
АДРЕСУЕМЫМИ ЧЕРЕЗ РЕГИСТРЫ ПАМЯТИ
НПКД.401348.001
Д1 изм. 18
Том 1
Разделы 1-15
Приложения А, Б
Новосибирск
2012
1
НПКД.401348.001 Д1
Содержание
1.
ВВЕДЕНИЕ
..............................................................................................................
4
2.
ГРАФИЧЕСКИЙ ЭКРАН
.......................................................................................
4
2.1
Описание графического экрана
........................................................................
4
2.2.
Регистры графического экрана
........................................................................
4
2.3.
Функции графического экрана
........................................................................
6
3.
СТРОКА КОММЕНТАРИЕВ
...............................................................................
15
3.1.
Описание
.........................................................................................................
15
3.2.
Функции строки комментариев
.....................................................................
15
4.
БУФЕР КЛАВИАТУРЫ
........................................................................................
16
4.1.
Описание
.........................................................................................................
16
4.2.
Функции буфера клавиатуры
........................................................................
17
5.
УНИВЕРСАЛЬНЫЙ БАЙТОВЫЙ БУФЕР
........................................................
17
5.1.
Описание
.........................................................................................................
17
5.2.
Регистры универсального байтового буфера
...............................................
18
5.3.
Функции универсального байтового буфера
...............................................
18
6.
ДОПОЛНИТЕЛЬНЫЕ ФУНКЦИИ
.....................................................................
23
6.1.
Функции общего назначения
.........................................................................
23
6.2.
Функции управления ЭВМ
............................................................................
25
7.
ФУНКЦИИ РЕАЛЬНОГО ВРЕМЕНИ
................................................................
28
7.1.
Таймеры и звук
...............................................................................................
28
7.2.
Часы реального времени
................................................................................
29
8.
ЭЛЕКТРОННЫЙ БЛОКНОТ
...............................................................................
31
8.1.
Описание
.........................................................................................................
31
8.2.
Регистры электронного блокнота
.................................................................
31
8.3.
Функции электронного блокнота
..................................................................
32
9.
УНИВЕРСАЛЬНЫЙ ПОСЛЕДОВАТЕЛЬНЫЙ ПОРТ
.....................................
33
9.1.
Описание
.........................................................................................................
33
9.2.
Регистры настроек универсального последовательного порта
..................
33
9.3.
Регистры данных универсального последовательного порта
....................
36
9.4.
Функции универсального последовательного порта
..................................
37
10.
УНИВЕРСАЛЬНЫЙ ПАРАЛЛЕЛЬНЫЙ ПОРТ
..............................................
39
10.1.
Описание
.......................................................................................................
39
10.2.
Регистры универсального параллельного порта
.......................................
39
10.3.
Работа универсального параллельного порта
............................................
41
2
НПКД.401348.001 Д1
11.
РАБОТА С ДВОИЧНЫМИ ЧИСЛАМИ
...........................................................
45
11.1.
Описание
.......................................................................................................
45
11.2.
Функции для работы с двоичными числами .............................................
45
12.
РАБОТА С ФАЙЛАМИ ИЗ ПРОГРАММЫ ПОЛЬЗОВАТЕЛЯ
....................
47
12.1.
Описание
.......................................................................................................
47
12.2.
Регистры дисковых операций
......................................................................
48
12.3.
Дисковые операции
......................................................................................
49
13.
ПРЕРЫВАНИЯ
....................................................................................................
53
13.1.
Описание
.......................................................................................................
53
13.2.
Регистры прерываний
..................................................................................
54
13.3.
Программный вызов прерываний
...............................................................
56
13.4.
Сброс регистров прерываний
......................................................................
56
14. АНАЛОГО-ЦИФРОВОЙ ПРЕОБРАЗОВАТЕЛЬ
.............................................
56
14.1.
Описание
.......................................................................................................
56
14.2.
Регистры и функции АЦП
...........................................................................
57
15. ПОРТ ПОСЛЕДОВАТЕЛЬНОГО ПЕРИФЕРИЙНОГО ИНТЕРФЕЙСА
......
60
15.1.
Описание
.......................................................................................................
60
15.2.
Режим работы ППИ
......................................................................................
61
15.3.
Обмен данными через порт ППИ
................................................................
61
Приложение А. Описание шрифтов ЭВМ
...............................................................
63
Приложение Б. Коды кнопок клавиатуры
...............................................................
73
3
НПКД.401348.001 Д1
Настоящий документ распространяется на клавишные электронно-
вычислительные машины "ЭЛЕКТРОНИКА МК" различных моделей (далее -
ЭВМ). 1.
ВВЕДЕНИЕ
1.1.
Доступ к функциям ЭВМ производится путем выполнения операций
записи и чтения над содержимым регистров функций. Регистры функций - это
регистры памяти с адресами от 9000 до 9999. Для обращения к этим регистрам
могут использоваться команды прямой и косвенной адресации.
1.2.
При обращении к регистрам функций ЭВМ изменяет состояние
внутренних структур или функциональных узлов.
Примечание.
В ЭВМ на уровне функций реализованы операции,
выполнение которых невозможно или крайне затруднительно в программе
пользователя при использовании основной системы команд.
1.3.
Функции и соответствующие им регистры памяти разбиты на группы,
в соответствии с функциональными узлами и внутренними структурами
данных ЭВМ. 2.
ГРАФИЧЕСКИЙ ЭКРАН
2.1
Описание графического экрана
Графический экран - это внутренняя структура ЭВМ размером 1024
байта, предназначенная для вывода объектов: графических изображений и
текстовых сообщений. Вывод структуры на индикатор ЭВМ производится
командой "К
ГРФ". Графический экран имеет 128 точек по горизонтали и 64 точки по
вертикали. Начало координат расположено в левом верхнем углу индикатора.
Экран монохромный, каждая точка экрана может быть установлена или
сброшена. Установленная точка имеет тёмный цвет, сброшенная - светлый.
2.2.
Регистры графического экрана
2.2.1.
Начальные координаты объекта
Начальные координаты объекта определяют начальную точку экрана при
выводе объектов и сообщений. Начальная координата X0 может принимать
4
НПКД.401348.001 Д1
значения от 0 до 127, координата Y0 - от 0 до 63. Имеют доступ по записи и
чтению. 2.2.2.
Атрибуты вывода
Атрибуты вывода представляют собой байт, состояние битов которого
определяет способ вывода объекта. Биты 1 и 0 определяют логическую
функцию, которая производится над исходным изображением и выводимым
объектом. При состоянии битов 00b (0) образ выводится поверх исходного
изображения, при состоянии 01b (1) выполняется операция AND, при
состоянии 10b (2) - операция OR, при состоянии 11b (3) - операция XOR.
Установленный бит 2 (+4) байта атрибутов указывает на то, что графический
объект перед выводом инвертируется. Имеет доступ по записи и чтению.
Соответствие содержимого байта атрибутов действиям при выводе
объекта приведено в табл. 1.
Таблица 1
Байт
Действие
0
Объект заменяет исходное изображение
1
Над каждой точкой объекта и исходного изображения проводится
операция логического умножения - AND (конъюнкция, логическое "И")
2
Над каждой точкой объекта и исходного изображения проводится
операция логического сложения - OR (дизъюнкция, логическое "ИЛИ")
3
Над каждой точкой объекта и исходного изображения проводится
операция логического сложения по модулю 2 - XOR (исключающее
"ИЛИ")
4
Объект инвертируется (над каждой точкой выполняется операция NOT,
логическое "НЕ"), после чего заменяет исходное изображение
5
Объект инвертируется, после чего над каждой точкой объекта и
исходного изображения проводится операция логического умножения -
AND
6
Объект инвертируется, после чего над каждой точкой объекта и
исходного изображения проводится операция логического сложения -
OR
7
Объект инвертируется, после чего над каждой точкой объекта и
исходного изображения проводится операция логического сложения по
модулю 2 - XOR
Примечание. Другие значения байта атрибутов не используются.
5
НПКД.401348.001 Д1
2.2.3.
Расстояние между символами
Определяет расстояние в точках между символами при выводе текстовых
сообщений. Может принимать значения от 0 до 15. Имеет доступ по записи и
чтению.
2.2.4.
Номер шрифта
Определяет номер шрифта из стандартных наборов ЭВМ или
загружаемого шрифта. Может принимать значения 0, 1, 2 или 254. Имеет
доступ по записи и чтению. Описание шрифтов стандартных наборов ЭВМ и структуры загружаемого
шрифта приведено в приложении
А.
2.2.5.
Индексный регистр графического экрана Может принимать значения от 0 до 1023. Имеет доступ по записи и
чтению. Определяет смещение относительно начала структуры графического
экрана в памяти ЭВМ.
2.3.
Функции графического экрана
2.3.1.
Программирование начальных координат объекта (R9000)
Запись и чтение значений начальных координат производится при
обращении к регистру памяти с адресом 9000. При выполнении команды записи значения регистров X и Y
стека
преобразуются в целые числа, ограничиваются до максимальных значений 127
и 63 соответственно и записываются в регистры X0 и Y0 (см.
п.
2.2.1).
При выполнении команды чтения производится следующая
последовательность операций - стек поднимается, в регистр X
стека заносится
значение Y0
. После этого стек еще раз поднимается, в регистр X
стека
заносится значение X0.
2.3.2.
Программирование атрибутов вывода (R9001)
Запись и чтение значений атрибутов вывода производится при обращении
к регистру памяти с адресом 9001. 6
НПКД.401348.001 Д1
При выполнении команды записи значение регистра X стека
преобразуется в целое число, ограничивается до 7 и записываются в регистр
атрибутов вывода (см. п. 2.2.2)
.
При выполнении команды чтения стек поднимается, значение из регистра
атрибутов вывода заносится в регистр X
стека.
2.3.3.
Программирование расстояния между символами (R9002)
Запись и чтение значения расстояния между символами производится при
обращении к регистру памяти с адресом 9002. Функция выполняется
аналогично функции программирования атрибутов вывода в соответствии с
п.
2.3.2. Число ограничивается до значения 15.
2.3.4.
Программирование номера шрифта (R9003)
Запись и чтение номера шрифта производится при обращении к регистру
памяти с адресом 9003. Функция выполняется аналогично функции
программирования атрибутов вывода в соответствии с п.
2.3.2. Число
ограничивается до значения 255.
2.3.5.
Программирование индексного регистра графического экрана
(R9004)
Запись и чтение данных в индексный регистр графического экрана
производится при обращении к регистру памяти с адресом 9004. Функция
выполняется аналогично функции программирования атрибутов вывода по
п.
2.3.2. Число преобразуется в целое и ограничивается до значения 1023.
2.3.6.
Вывод данных в графическую область памяти (R9005, R9006)
Структура графического экрана ЭВМ представляет собой непрерывный
байтовый буфер длиной 1024 байта. На экране ЭВМ буфер отображается
восемью строками, длиной по 128 байт. Порядок следования байтов - от левого
верхнего края экрана младшим битом вверх.
Непосредственная запись данных в регистры буфера выводит
содержимое байта на экран. Установленный бит является черной точкой. Вывод данных в экранный буфер и чтение производится при обращении к
регистрам памяти с адресами 9005 и 9006. 7
НПКД.401348.001 Д1
При записи в регистр 9005 значение регистра X
стека преобразуется в
целое, ограничивается до значения 255 и выводится в ячейку буфера,
смещенную относительно начала на число, запрограммированное в индексный
регистр графического экрана (см.
п.
2.3.5). При чтении стек поднимается,
содержимое этой ячейки записывается в регистр X
стека. При обращении к регистру памяти 9006 дополнительно выполняется
постинкрементирование - автоматическое увеличение содержимого индексного
регистра графического экрана на единицу. При достижении максимального
значения содержимое индексного регистра обнуляется.
2.3.7.
Инициализация графического экрана (R9010)
Функция предназначена для проведения начальной инициализации
структуры графического экрана. Операция производится при выполнении
команды записи в регистр памяти с адресом 9010. Значение регистра X
стека
определяет вид инициализации. При записи числа 0 буфер заполняется нулями
(пустой экран), при записи числа 1 - значениями 0FFh (черный экран). При записи числа 2 буфер заполняется нулями, одновременно с этим
начальные координаты X0, Y0 обнуляются, устанавливается шрифт номер 0,
расстояние между символами 1 точка, атрибуты вывода 0. При записи числа 3
буфер заполняется единицами, одновременно с этим начальные координаты X0,
Y0 обнуляются, устанавливается шрифт номер 0, расстояние между символами
1 точка, атрибуты вывода 4.
После выполнения функции регистры стека не изменяются.
Операция чтения из регистра памяти с указанным адресом не изменяет
стек ЭВМ.
2.3.8.
Вывод точки (R9011)
Функция предназначена для вывода на графический экран одной точки.
Операция производится при записи в регистр памяти с адресом 9011. Значение
регистра X
стека определяет координату точки по оси X
, значение регистра Y
стека определяет координату точки по оси Y
. Значения регистров стека после
выполнения функции не изменяются. Изображение на экране формируется с
учетом установленных атрибутов вывода (см. п. 2.2.2). 8
НПКД.401348.001 Д1
Операция чтения из регистра памяти с указанным адресом заносит в
регистр X
стека состояние точки на графическом экране (0 - сброшена, 1 -
установлена) и поднимает стек ЭВМ.
2.3.9.
Вывод линии (R9012)
Функция предназначена для вывода на графический экран линии
(отрезка) толщиной в одну точку. При выводе линии используется алгоритм
Брезенхема для восьмисвязной развертки.
Начальная координата задается в регистрах X0 и Y0 (п.
2.3.1)
, конечная
координата - в регистрах X
и Y
стека. Операция производится при выполнении
команды записи в регистр памяти с адресом 9012. Операция не выполняется,
если хотя бы одно из значений координат находится вне области экрана.
Изображение на экране формируется с учетом установленных атрибутов
вывода (см. п. 2.2.2). Значения регистров стека после выполнения функции не
изменяются. Операция чтения из регистра памяти с указанным адресом не изменяет
стек ЭВМ.
2.3.10.
Вывод прямоугольника (R9013)
Функция предназначена для вывода на графический экран
прямоугольника. Начальная координата задается в регистрах X0 и Y0 (п.
2.3.1)
,
размер прямоугольника по координатам - в регистрах X
и Y
стека
соответственно. Операции производится при выполнении команды записи в
регистр памяти с адресом 9013. Значения регистров стека после выполнения
функции не изменяются. Изображение на экране формируется с учетом
установленных атрибутов вывода (см. п. 2.2.2). Операция чтения из регистра памяти с указанным адресом не изменяет
стек ЭВМ.
2.3.11.
Вывод рамки (R9014)
Функция предназначена для вывода на графический экран прямоугольной
рамки. Начальная координата задается в регистрах X0 и Y0 (п.
2.3.1)
, размер
рамки по координатам - в регистрах X
и Y
стека соответственно. Операция
производится при выполнении команды записи в регистр памяти с адресом
9
НПКД.401348.001 Д1
9014. Операция не выполняется, если задан размер рамки менее трёх точек по
любой из координат или объект выходит за границы экрана
.
Значения регистров стека после выполнения функции не изменяются.
Изображение на экране формируется с учетом установленных атрибутов
вывода (см. п. 2.2.2).
Операция чтения из регистра памяти с указанным адресом не изменяет
стек ЭВМ.
2.3.12.
Вывод графического образа
из памяти программ (R9015)
Функция предназначена для вывода на экран графического образа из
памяти программ ЭВМ. Начальная координата задается в регистрах X0 и Y0
(п.
2.3.1)
, размер образа в точках по координатам X и
Y
задается в двух первых
байтах изображения.
Операция производится при выполнении команды записи в регистр
памяти с адресом 9015. В регистре X
стека задается начальный адрес
графического образа в памяти программ. Первые два байта графического образа задают размер изображения в
точках по координатам X и Y соответственно, остальные байты предназначены
для формирования изображения. Изображение формируется по столбцам сверху-вниз слева-направо.
Количество байт в графическом образе определяется как:
m
⋅
[
n
/
8
]
1
2
, где: m - размер изображения по горизонтали, координата X,
n - размер изображения по вертикали, координата Y,
квадратными скобками обозначена операция выделения целой части.
Не используемые биты в изображении могут быть установлены
произвольным образом.
Пример соответствия графического образа и изображения приведен на
рис.
1. Значения регистров после выполнения функции не изменяются.
Изображение на экране формируется с учетом установленных атрибутов
вывода (см. п. 2.2.2). 10
НПКД.401348.001 Д1
Операция чтения из регистра памяти данных по указанному адресу не
изменяет стек ЭВМ.
Рис.
1. Соответствие графического образа и изображения.
Последовательность байт для изображения справа: 05h, 0Bh, 04h, 01h,
06h, 03h, 0FFh, 07h, 06h, 03h, 04h, 01h. Два первых байта задают ширину
изображения 5 точек и высоту 11.
2.3.13.
Вывод графического образа
из памяти данных (R9016)
Функция предназначена для вывода на экран графического образа из
регистров байтовых данных (адреса от 1000 до 8167). Начальная координата
задается в регистрах X0 и Y0 (п. 2.3.1).
Операция производится при выполнении команды записи в регистр
памяти с адресом 9016. В регистре X
стека задаётся начальный адрес (номер
регистра) графического образа в памяти данных. Формат графического образа соответствует п.
2.3.12.
11
X
Y
0
n-1
n
2n-1
n*(m-1)
n*m-1
ст.
мл.
НПКД.401348.001 Д1
Значения регистров после выполнения функции не изменяются.
Изображение на экране формируется с учетом установленных атрибутов
вывода (см. п. 2.2.2). Операция чтения из регистра памяти данных по указанному адресу не
изменяет стек ЭВМ.
2.3.14.
Вывод символа (R9020)
Функция предназначена для вывода на экран графического образа
символа. Начальная координата задается в регистрах X0 и Y0 (п. 2.3.1).
В
регистре X
стека задаётся код выводимого символа. Операция производится
при выполнении команды записи в регистр памяти с адресом 9020, при этом
формируется следующая последовательность операций
:
-
по коду символа находится графический образ в таблице шрифта
знакогенератора ЭВМ, задаваемой регистром номера шрифта (см. п. 2.2.4)
;
-
образ символа выводится в графический экран, при этом изображение
формируется с учетом установленных атрибутов вывода (см. п. 2.2.2)
;
-
начальная координата в регистре X0
увеличивается на значение ширины
символа;
-
выводится пустой прямоугольник, высота которого (размер по Y)
соответствует высоте выводимого символа, ширина (размер по X)
определяется
значением, записанным в регистр, определяющий расстояние между символами
(см. п. 2.2.3), при выводе учитываются атрибуты
;
-
начальная координата в регистре X0
увеличивается на ширину пустого
прямоугольника.
Таким образом, после выполнения функции содержимое регистра X0
указывает на место вывода следующего символа.
При выполнении функции другие регистры и регистры стека не
изменяются. Функция не выполняется, если в установленной таблице шрифта
отсутствует символ с заданным кодом. Операция чтения из регистра памяти по указанному адресу не изменяет
стек ЭВМ.
12
НПКД.401348.001 Д1
2.3.15.
Вывод строки символов из памяти программ (R9021)
Функция предназначена для вывода на графический экран строки
символов из памяти программ ЭВМ. Начальная координата задается в
регистрах X0 и Y0 (п. 2.3.1).
В регистре X
стека задаётся адрес начала строки в памяти программ (от 0
до 9999). Операция производится при выполнении команды записи в регистр
памяти с адресом 9021, при этом в экранную область последовательно
выводятся графические образы символов, коды которых последовательно
записаны в памяти программ. Правила вывода символов аналогичны п. 2.3.14.
Вывод заканчивается при считывании из памяти программ числа 0 или 255
(0FFh)
.
Символ с кодом 0 на экран этой функцией не выводится.
Операция чтения из регистра памяти по указанному адресу не изменяет
стек ЭВМ.
2.3.16.
Вывод строки символов из памяти данных (R9022)
Функция предназначена для вывода на графический экран строки
символов из регистров байтовых данных (адреса от 1000 до 8167). Начальная
координата задается в регистрах X0 и Y0 (п.
2.3.1).
В регистре X
стека указывается адрес начала строки (номер регистра) в
памяти данных. Операция производится при выполнении команды записи в регистр
памяти с адресом 9022, при этом в экранную область последовательно
выводятся графические образы символов, коды которых последовательно
записаны в памяти данных ЭВМ. Правила вывода строки символов аналогичны
п. 2.3.15. Операция чтения из регистра памяти по указанному адресу не изменяет
стек ЭВМ.
2.3.17.
Вывод числа с естественной или плавающей запятой (R9023)
Функция предназначена для вывода на графический экран числа в
естественной форме или с плавающей запятой. Форма вывода определяется
автоматически в зависимости от значения числа. При представлении в форме с
плавающей запятой значения мантиссы и порядка числа разделяются символом
"E". Начальная координата вывода задается в регистрах X0 и Y0 (п.
2.3.1).
13
НПКД.401348.001 Д1
Выводимое число записывается в регистр X
стека. Операция
производится при выполнении команды записи в регистр памяти с адресом
9023, при этом выводимое число преобразуется в строку символов, образы
которых последовательно выводятся на экран. Правила вывода строки
символов аналогичны п. 2.3.15. Операция чтения из регистра памяти по указанному адресу не изменяет
стек ЭВМ.
2.3.18.
Вывод числа в форматированном виде (R9024)
Функция предназначена для вывода на графический экран числа в
форматированном виде. Начальная координата вывода задается в регистрах X0
и Y0 (п. 2.3.1)
. Значение выводимого числа задается в регистре X
стека, в регистре Y -
количество цифр в целой части числа (от 1 до 8), в регистре Z
- количество
цифр в дробной части (от 0 до 8). Дополнительно одно знакоместо выделяется
для вывода знака числа. Если число отрицательно, выводится минус, если
положительно - пробел. Знак всегда выводится перед первой цифрой числа,
остальные знакоместа заполняются пробелами. Общее количество цифр в числе не должно превышать восьми, в
противном случае, количество выводимых знаков после запятой
соответственно уменьшается.
Если значение числа меньше, чем может быть выведено в указанном
формате, выводится нулевое значение. Если значение числа больше, оно
отображается в форме с плавающей запятой (см. п. 2.3.17).
Операция вывода производится при выполнении команды записи в
регистр памяти с адресом 9024. Выводимое число преобразуется в строку
символов, образы которых последовательно выводятся на экран. Правила
вывода строки символов аналогичны п.
2.3.15. Отсутствующие цифры в целой
части числа заменяются пробелами.
Операция чтения из регистра памяти по указанному адресу не изменяет
стек ЭВМ.
14
НПКД.401348.001 Д1
2.3.19.
Прокрутка экрана (
R9007, R9008)
Прокрутка экрана (смещение изображения) производится при
выполнении команды записи в регистрам памяти с адресом 9007, 9008.
При записи чисел от 1 до 7 изображение смещается вверх на
соответствующее количество строк (одна строка - 8 точек). Освободившееся
поле заполняется нулями, если число подавалось в регистр с адресом 9007, или
единицами, если число подавалось в регистр с адресом 9008. При записи числа
0 действие не производится, при записи числа 8 и более, экран очищается
полностью. Значение регистров стека после выполнения функции не изменяется.
Операция чтения из регистра памяти данных по указанному адресу не
изменяет стек ЭВМ.
2.3.20.
Адрес загружаемого шрифта (R9009)
Запись и чтение адреса начала структуры загружаемого шрифта
производится при обращении к регистру памяти с адресом 9009. Число
преобразуется в целое и ограничивается до значения 9999.
Для использования загружаемого шрифта в регистр номера шрифта (см.
п. 2.3.4) следует записать значение 254.
3.
СТРОКА КОММЕНТАРИЕВ
3.1.
Описание
Строка комментариев - это строка, расположенная в нижней части экрана
автоматического режима калькулятора и предназначенная для вывода
текстовых сообщений.
3.2.
Функции строки комментариев
3.2.1.
Вывод символа (R9025)
Функция предназначена для вывода в строку комментариев одного
символа. Код выводимого символа задается в регистре X
стека. Операция производится при выполнении команды записи в регистр
памяти с адресом 9025. Операция не производится, если поданный символ
отсутствует в знакогенераторе или если в строку комментариев уже выведено
15
НПКД.401348.001 Д1
24 символа. Подача символов с кодами 10 (ПС) или 13 (ВК) очищает строку и
обнуляет счетчик выведенных символов.
Операция чтения из регистра памяти по указанному адресу не изменяет
стек ЭВМ.
3.2.2.
Вывод строки символов из памяти программ (R9026)
Начальный адрес строки в памяти программ (от 0 до 9999) задается в
регистре X
стека. Операция производится при выполнении команды записи в
регистр памяти с адресом 9026, при этом символы выводятся последовательно
до заполнения строки комментариев (24 символа) или до символа окончания
строки (коды 0 или 255). Символы не входящие в знакогенератор
пропускаются. Подача символов с кодами 10 (ПС) или 13 (ВК) очищают строку
и обнуляет счетчик выведенных символов.
Операция чтения из регистра памяти по указанному адресу не изменяет
стек ЭВМ.
3.2.3.
Вывод строки символов из памяти данных (R9027)
Операция производится при выполнении команды записи в регистр
памяти с адресом 9027. В регистре X
стека задается начальный адрес строки
(номер регистра) в регистрах памяти байтовых данных (адреса от 1000 до 8167).
Действие функции аналогично выводу строки из памяти программ (см. п. 3.2.2).
4.
БУФЕР КЛАВИАТУРЫ
4.1.
Описание
4.1.1.
Функции буфера клавиатуры выполняются только в программе
пользователя. Использование буфера дает возможность обрабатывать нажатия
клавиш ЭВМ (кроме клавиши "С/П", вызывающей останов) в прикладных
программах. Буфер организован по принципу очереди и имеет глубину на 4 нажатия.
После заполнения буфера дальнейшие нажатия кнопок не обрабатываются.
16
НПКД.401348.001 Д1
4.2.
Функции буфера клавиатуры
4.2.1.
Чтение кода нажатой кнопки (R9029)
Операция производится при выполнении команды чтения из регистра
памяти с адресом 9029. Если буфер заполнен, в регистр X
стека заносится код
первой нажатой кнопки, а счетчик нажатий декрементируется. При
последующих чтениях, в регистр X
стека считывается код второй нажатой
кнопки, третьей и т.д. Когда счетчик нажатий обнуляется, то в регистр X стека
всегда считывается код 255. Коды кнопок приведены в приложении Б.
При нажатии на кнопку клавиатуры счетчик нажатий инкрементируется,
код нажатой кнопки ставится в конец очереди.
4.2.2.
Очистка буфера клавиатуры (R9029)
Операция производится при выполнении команды записи в регистр
памяти с адресом 9029 любого числа, при этом счетчик нажатий обнуляется.
Обнуление счетчика производится также при запуске программы пользователя.
4.2.3.
Чтение состояния клавиатуры (R9028)
Операция производится при выполнении команды чтения из регистра
памяти с адресом 9028. Если в момент выполнения операции нажата одна из
кнопок клавиатуры, в регистр X
стека считывается код этой кнопки. Если ни
одна из кнопок клавиатуры не нажата, в регистр X стека считывается код 255.
Коды кнопок приведены в приложении Б.
Чтение состояния не влияет на счетчик нажатий буфера клавиатуры.
5.
УНИВЕРСАЛЬНЫЙ БАЙТОВЫЙ БУФЕР
5.1.
Описание
5.1.1.
Универсальный байтовый буфер представляет собой внутреннюю
структуру данных ЭВМ длиной 256 байт. Универсальный байтовый буфер
предназначен для преобразования данных.
17
НПКД.401348.001 Д1
5.2.
Регистры универсального байтового буфера
5.2.1.
Индексный регистр 0. Задает смещение относительно начала
буфера. Может принимать значения от 0 до 255. Имеет доступ по записи и
чтению.
5.2.2.
Индексный регистр 1. Задает смещение относительно начала
буфера. Может принимать значения от 0 до 255. Имеет доступ по записи и
чтению.
5.3.
Функции универсального байтового буфера
5.3.1.
Программирование индексного регистра 0 (R9030)
Запись и чтение значений индексного регистра 0 производится при
обращении к регистру памяти с адресом 9030.
При выполнении команды записи значение регистра X стека
преобразуются в целое число, ограничиваются до 255 и записывается в
индексный регистр
.
При выполнении команды чтения стек поднимается, значение из
индексного регистра заносится в регистр X
стека. 5.3.2.
Программирование индексного регистра 1 (R9031)
Запись и чтение значений индексного регистра 1 производится при
обращении к регистру памяти с адресом 9031. Функция выполняется
аналогично п. 5.3.1.
5.3.3.
Запись и чтение данных по индексному регистру 0 (R9032)
Операция записи и чтения данных по индексному регистру 0 выполняется
при обращении к регистру памяти с адресом 9032. При записи содержимое
регистра X
стека преобразуется в целое, ограничивается до 255 и записывается
в байтовый буфер в ячейку, смещенную относительно начала на число байт,
находящееся в индексном регистре 0. При чтении стек поднимается, содержимое этой ячейки записывается в
регистр X
стека.
18
НПКД.401348.001 Д1
5.3.4.
Запись и чтение данных по индексному регистру 1 (R9033)
Операция записи и чтения данных по индексному регистру 1 выполняется
при обращении к регистру памяти с адресом 9033. Функция выполняется
аналогично п.
5.3.3, в качестве смещения используется число, находящееся в
индексном регистре 1.
5.3.5.
Запись и чтение данных по индексному регистру 1 с
автоинкрементом (R9034)
Операция записи и чтения данных по индексному регистру 1 с
автоинкрементом индекса выполняется при обращении к регистру памяти с
адресом 9034. Функция выполняется аналогично п.
5.3.4, после чего
производится автоматическое увеличение содержимого индексного регистра 1
на единицу. При достижении максимального значения, содержимое индексного
регистра 1 обнуляется.
5.3.6.
Преобразование числа с естественной или плавающей запятой в
строку символов (R9035)
Операция производится при выполнении команды записи в регистр
памяти с адресом 9035. Значение выводимого числа задается в регистре X
стека. Число преобразуется в строку символов с естественной или плавающей
запятой аналогично п.
2.3.17, полученная строка последовательно заносится в
байтовый буфер. Форма вывода определяется автоматически в зависимости от
значения числа. Строка символов последовательно выводятся в байтовый буфер начиная с
ячейки, смещенной относительно начала на число, запрограммированное в
индексный регистр 0. В конце строки автоматически проставляется код
окончания строки (число 255). После выполнения операции содержимое
индексного регистра 0 не изменяется. Операция чтения из регистра памяти данных по указанному адресу не
изменяет стек ЭВМ.
19
НПКД.401348.001 Д1
5.3.7.
Преобразование числа в строку символов в форматированном
виде (R9036)
Операция производится при выполнении команды записи в регистр
памяти с адресом 9036. Значение выводимого числа задается в регистре X
стека, в регистре Y -
количество цифр в целой части числа (от 1 до 8), в
регистре Z
- количество цифр в дробной части (от 0 до 8). Выводимое число преобразуется в строку символов аналогично п.
2.3.18.
Вывод строки в универсальный байтовый буфер производится аналогично
п.
5.3.6. Операция чтения из регистра памяти данных по указанному адресу не
изменяет стек ЭВМ.
5.3.8.
Преобразование числа в последовательность байтов во
внутреннем формате ЭВМ и обратно (R9037)
Операция преобразования производится при выполнении команды записи
в регистр памяти с адресом 9037. Число задается в регистре X
стека. Функция преобразует число в последовательность из восьми байт во
внутреннем формате ЭВМ. Последовательность выводится в универсальный
байтовый буфер, начиная с ячейки, смещенной относительно начала на число
байт, находящееся в индексном регистре 0.
Последовательность байт представляет число в форме с плавающей
запятой (см.
табл.
2). Первый байт принимает нулевое значение, если число
положительное, или значение 80h, если число отрицательное. Байты со второго
по седьмой содержат информацию о двенадцати цифрах мантиссы в
упакованном двоично-десятичном формате. Мантисса принимает значения от
1,00000000000 до 9,99999999999. Каждый байт мантиссы содержит информацию о двух цифрах - по одной
в тетраде (4 бита). Подразумевается, что десятичная запятая мантиссы всегда
расположена после первой цифры. Старшая тетрада второго байта содержит
информацию о разряде единиц и может принимать значения от 1 до 9. Младшая
тетрада второго байта и тетрады остальных байтов могут принимать значения
от 0 до 9.
Восьмой байт хранит информацию о порядке числа в двоичном
дополнительном коде. Порядок может принимать значения от минус 99 до 99,
20
НПКД.401348.001 Д1
что соответствует значениям восьмого байта в дополнительном коде от 9Dh до
63h.
Исключение составляет число ноль, мантисса и порядок которого имеют
нулевые значение.
Таблица 2
Байт
Значение
Примечание
1
Знак
0 - положительное, 80h - отрицательное
2-7
Мантисса
от 1,00000000000 до 9,99999999999 или 0 (BCD формат)
8
Порядок
от минус 99 (9Dh) до 99 (63h)
В табл. 3 представлены числа и соответствующая последовательность
байт.
Таблица 3
Число
Представление на
экране калькулятора
Последовательность байт
0
"
0
"
00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
1
"
1
"
00h, 10h, 00h, 00h, 00h, 00h, 00h, 00h
минус 1
"-1
"
80h, 10h, 00h, 00h, 00h, 00h, 00h, 00h
0,5
"
5
-01"
00h, 50h, 00h, 00h, 00h, 00h, 00h, 0FFh
минус 0,5
"-5
-01"
80h, 50h, 00h, 00h, 00h, 00h, 00h, 0FFh
1,61803398875
"
1,618034
"
00h, 16h, 18h, 03h, 39h, 88h, 75h, 00h
1,41421356237
"
1,4142136
"
00h, 14h, 14h, 21h, 35h, 62h, 37h, 00h
137,03604
"
137,03604
"
00h, 13h, 70h, 36h, 04h, 00h, 00h, 02h
6,02296
·
10
23
"
6,02296
23"
00h, 60h, 22h, 96h, 00h, 00h, 00h, 17h
1,05443
·
10
-27
"
1,05443
-27"
00h, 10h, 54h, 43h, 00h, 00h, 00h, 0E5h
Обратное преобразование производится при выполнении команды чтения
из регистра памяти с адресом 9037. При этом восемь байтов из универсального
байтового буфера, начиная с ячейки, смещенной относительно начала на число,
находящееся в индексном регистре 0, преобразуются в число. Стек
поднимается, полученное число записывается в регистр X стека
. Если формат
преобразуемой последовательности байтов не соответствует числу, в регистр X
стека заносится нулевое значение.
21
НПКД.401348.001 Д1
5.3.9.
Преобразование числа в последовательность байтов в формате
FLOAT
и обратно (R9038)
Операция преобразования производится при выполнении команды записи
в регистр памяти с адресом 9038. Число задается в регистре X
стека. Функция преобразует число в последовательность байт в формате FLOAT
(4 байта) и выводит в байтовый буфер, начиная с ячейки, смещенной
относительно начала на число, находящееся в индексном регистре 0.
Формат FLOAT
представляет числа в форме с плавающей запятой
(см.
табл.
4). Байты записываются в порядке младший-старший (т.е. первым
идёт последний байт мантиссы, последним – байт содержащий бит знака).
Таблица 4
Биты
числа
Значение
Примечание
31
Знак
0-положительное число, 1-отрицательное число
30-23*
Порядок
Двоичный порядок смещен на 127. Порядок числа 1
равен 7
Fh.
22-0
Мантисса
С
тарший бит мантиссы не передается.
Подразумевается, что он всегда равен 1. * Примечание: размеры битовых полей не кратны байтам. Младший бит
двоичного порядка находится в одном байте со старшими битами мантиссы.
В табл. 5 представлены числа и соответствующая последовательность
байт.
Таблица 5
Десятичное число
Последовательность байт
0
00
h, 00h, 00h, 00h
1
00h, 00h, 80h, 3Fh
минус 1
00h, 00h, 80h, 0BFh
2
00h, 00h, 00h, 40h
минус 2
00h, 00h, 00h, 0C0h
3
00h, 00h, 40h, 40h
минус 3
00h, 00h, 40h, 0C0h
4
00h, 00h, 80h, 40h
минус 4
00h, 00h, 80h, 0C0h
0,5
00h, 00h, 00h, 3Fh
минус 0,5
00h, 00h, 00h, 0BFh
22
НПКД.401348.001 Д1
Обратное преобразование производится при выполнении команды чтения
из регистра памяти с адресом 9038. При этом четыре байта из универсального
байтового буфера, начиная с ячейки, смещенной относительно начала на число,
находящееся в индексном регистре 0, преобразуются из формата FLOAT
в
число. Стек поднимается, полученное число записывается в регистр X стека
.
Если формат преобразуемой последовательности байтов не соответствует
числу, в регистр X стека заносится нулевое значение.
5.3.10.
Преобразование кода команды из памяти программ в
мнемонику (R9039)
Операция производится при выполнении команды записи в регистр
памяти с адресом 9039. В регистре X
стека задается адрес команды в памяти
программ (от 0 до 9999). Функция преобразует код команды в строку символов,
соответствующих мнемонике команды в латинской транскрипции. При проведении преобразования учитывается контекст, то есть
окружение данной команды в памяти программ ЭВМ, в зависимости от
которого интерпретируется код команды.
Вывод строки в универсальный байтовый буфер производится
аналогично п.
5.3.6.
Операция чтения из регистра памяти данных по указанному адресу не
изменяет стек ЭВМ.
6.
ДОПОЛНИТЕЛЬНЫЕ ФУНКЦИИ
6.1.
Функции общего назначения
6.1.1.
Вычисление чётности байта (R9040)
Операция производится при выполнении команды записи в регистр
памяти с адресом 9040. Число в регистре X
стека преобразуются в байт (в целое
число с ограничением до 255), после чего в байте подсчитывается количество
битов "1". Если количество установленных битов чётное, то в регистр X
стека
заносится число 1, если нечётное - то 0.
Операция чтения из регистра памяти по указанному адресу не изменяет
стек ЭВМ.
23
НПКД.401348.001 Д1
6.1.2.
Чтение текущего значения счетчика адреса (R9041)
Операция производится при выполнении команды чтения из регистра
памяти с адресом 9041. Стек поднимается и текущее значение счётчика адреса
(от 0 до 9999) заносится в регистр X.
Операция записи в регистр памяти по указанному адресу не изменяет
содержимое счётчика адреса.
Примечание. Данная функция позволяет создавать перемещаемые
программы размером более одной страницы. Для переходов внутри одной
страницы используется прямая короткая адресация, для переходов с одной
страницы на другую - косвенная.
6.1.3.
Чтение содержимого памяти программ (R9042, R9043, R9044)
Кроме команды "К
ИПРГ" в ЭВМ предусмотрена другая возможность
чтения содержимого памяти программ - с использованием индексного регистра.
Запись и чтение значений индексного регистра производится при
обращении к регистру памяти с адресом 9042, при этом число в регистре X
стека преобразуются в целое и ограничиваются до значения 9999
.
Чтение содержимого памяти программ производится при выполнении
команды чтения из регистров памяти с адресами 9043, и 9044. При этом, при
обращении к регистру с адресом 9043 стек поднимается, содержимое ячейки
памяти программ, адрес которой записан в индексный регистр, заносится в
регистр X
стека. При обращении к регистру с адресом 9044, после чтения
содержимого ячейки памяти программ, производится автоматическое
увеличение содержимого индексного регистра на единицу. При достижении
максимального значения, содержимое индексного регистра обнуляется. Операция записи по адресам 9043 и 9044 не изменяет стек ЭВМ, память
программ и содержимое индексного регистра.
6.1.4.
Напряжение источника питания (R9115)
Считывание значения напряжения автономного источника питания
позволяет контролировать степень его заряда. Операция производится при выполнении команды чтения из регистра
памяти с адресом 9115. Стек поднимается и текущее значение напряжения
24
НПКД.401348.001 Д1
источника в вольтах заносится в регистр X. Операция записи в регистр памяти
по указанному адресу не изменяет его значение.
В ЭВМ без автономного источника питания регистр не используется,
состояние стека при считывании не изменяется.
6.1.5. Номер модели (R9116)
Номер модели ЭВМ определяет её конструктивные особенности и набор
выполняемых функций.
Считывание номера модели производится при выполнении команды
чтения из регистра памяти с адресом 9116. Стек поднимается и число,
соответствующее номеру модели, заносится в регистр X. Операция записи в регистр памяти с указанным адресом не изменяет его
значение.
6.1.6. Номер версии ПО (R9117)
Номер версии встроенного ПО определяет набор выполняемых функций
и особенности их реализации.
Считывание номера версии производится при выполнении команды
чтения из регистра памяти с адресом 9117. Стек поднимается и число,
соответствующее версии ПО, заносится в регистр X. Целая часть считанного
числа соответствует номеру версии, дробная - номеру подверсии.
Операция записи в регистр памяти с указанным адресом не изменяет его
значение.
6.2.
Функции управления ЭВМ
6.2.1.
Задание размерности аргумента при вычислении
тригонометрических функций (R9045)
Операция производится при выполнении команды записи в регистр
памяти с адресом 9045. Число в регистре X
стека устанавливает размерность
аргумента. При выполнении операции число преобразуется в целое и
ограничивается до 2. При записи числа 0 устанавливается размерность -
градусы, при записи числа 1 - радианы, при записи числа 2 - грады. Записанное
значение сохраняется в энергонезависимой памяти ЭВМ и восстанавливается
при включении питания. 25
НПКД.401348.001 Д1
При выполнении команды чтения по указанному адресу установленное
значение считывается в регистр X
стека, стек поднимается.
Значение регистра 9045 изменяется аналогичным образом при ручном
выборе размерности в автоматическом режиме работы калькулятора.
6.2.2.
Инициализация генератора случайных чисел (R9046)
Операция производится при выполнении команды записи в регистр
памяти с адресом 9046. Число в регистре X
стека преобразуется в целое,
ограничивается до значения 65535 и инициализирует рабочие регистры
генератора случайных чисел. Значение числа запоминается в
энергонезависимой памяти ЭВМ и может быть считано при выполнении
команды чтения по указанному адресу. Команда чтения не влияет на текущее
состояние генератора случайных чисел.
6.2.3.
Разрешение записи в энергонезависимую память (R9047)
Функция обеспечивает сохранение содержимого регистров данных в
энергонезависимой памяти ЭВМ при работе исполняемой программы. В
автоматическом режиме работы ЭВМ данная функция не требуется, т.к. все
числа, записанные в регистры данных вручную, а также загруженные из файлов
средствами ДОС, автоматически дублируются в энергонезависимой памяти и
восстанавливаются при включении питания. Это распространяется на всю
область регистров данных (адреса от 0 до 8167). При работе исполняемой программы, для значительного увеличения
быстродействия, изменения в памяти данных не дублируются в
энергонезависимой памяти, а производятся только в оперативном
запоминающем устройстве. Чтобы изменения в энергонезависимой памяти
производились, необходимо чтобы перед командой записи в регистр данных
был установлен флаг разрешения записи. Для этого в ячейку памяти данных с
адресом 9047 должно быть записано число
1. Флаг сбрасывается автоматически
после выполнения одной команды записи в регистр данных по адресам от 0 до
8167. Для записи следующего регистра данных в энергонезависимую память
флаг должен быть снова установлен.
Операция чтения из регистра памяти с адресом 9047 заносит в регистр X
стека состояние флага (0 - сброшен, 1 - установлен) и поднимает стек ЭВМ.
26
НПКД.401348.001 Д1
6.2.4.
Разрешение автоматического запуска программы (R9048)
Функция обеспечивает автоматический запуск исполняемой программы
при включении питания. Автоматический запуск выполняется с адреса 0000
памяти программ и только в том случае, если регистр автоматического запуска
содержит ненулевое значение, а питание ЭВМ было отключено во время
исполнения программы. Для разрешения автоматического запуска в регистр памяти с адресом
9048 должно быть записано число
1. Для разрешения автоматического запуска
с запрещением останова программы нажатием клавиши "С/П" в регистр должно
быть записано число 2. Для запрета автоматического запуска в регистр должно
быть записано число 0.
Операция чтения из регистра памяти с адресом 9048 заносит в регистр X
стека текущее значение и поднимает стек ЭВМ. Значение регистра хранится в
энергонезависимой памяти ЭВМ. Включение питания ЭВМ при нажатой
клавише "С/П" обнуляет содержимое регистра.
6.2.5.
Задание сетевого номера (R9049)
Функция предназначена для задания сетевого номера ЭВМ при работе в
режиме удалённого доступа. Удалённый доступ к ЭВМ возможен в режиме
калькулятора, если программа пользователя не запущена или не использует
последовательный порт. При помощи последовательного порта в режиме
удалённого доступа производится запись и чтение информации файловой
системы, блокнота и памяти ЭВМ. Возможен обмен информацией в сети ЭВМ,
при этом на всех ЭВМ, входящих в сеть, должны быть установлены различные
сетевые номера.
Операция производится при выполнении команды записи в регистр
памяти с адресом 9049. Число в регистре X
стека перед записью преобразуется
в целое и ограничивается до значения 255. Записанное значение сохраняется в
энергонезависимой памяти ЭВМ и восстанавливается при включении питания. При выполнении команды чтения по указанному адресу установленное
значение считывается в регистр X
стека, стек поднимается.
27
НПКД.401348.001 Д1
6.2.6.
Установка разрядности и способа представления чисел (R9110)
Функция предназначена для установки разрядности и способа
представления чисел, содержащихся в регистрах Y, Z и T стека, которые
выводятся на индикатор ЭВМ в режиме калькулятора.
Операция производится при выполнении команды записи в регистр
памяти с адресом 9110. При выполнении операции число в регистре X стека
преобразуется в целое и ограничивается до 1. При записи числа 0
устанавливается 8 выводимых разрядов и способ представления с естественной
запятой. При записи числа 1 - 14 разрядов и способ представления с плавающей
запятой. Записанное значение сохраняется в энергонезависимой памяти ЭВМ и
восстанавливается при включении питания. При выполнении команды чтения по указанному адресу установленное
значение считывается в регистр X
стека, стек поднимается.
7.
ФУНКЦИИ РЕАЛЬНОГО ВРЕМЕНИ
7.1.
Таймеры и звук
7.1.1.
Формирование интервалов заданной длительности (R9050,
R9051)
Для формирования интервалов заданной длительности в ЭВМ
предусмотрено два таймера. Каждый таймер имеет один регистр, в который
можно записать целое число от 0 до 65535. Каждые 10 мс записанное в регистр
число автоматически уменьшается на 1 до тех пор, пока число в регистре не
станет равным нулю. Текущее значение числа в регистре таймера можно
прочитать в любой момент командой чтения. Адрес регистра таймера 0 - 9050.
Адрес регистра таймера 1 - 9051.
7.1.2.
Формирование звукового сигнала (R9052)
Звуковой сигнал вырабатывается при выполнении команды записи в
регистр с адресом 9052. При этом в регистре X
стека задается длительность
звукового сигнала, в регистре Y
стека его частота. Длительность звукового
сигнала задается аналогично длительности временного интервала по п. 7.1.1.
28
НПКД.401348.001 Д1
Частота звукового сигнала задается в герцах. Диапазон частот от 25 Гц до
25 кГц. Если в регистр Y записано число менее 25, то вырабатывается
минимальная частота 25 Гц, если записано число более 25000, то
вырабатывается максимальная частота 25 кГц, если записано число 0, то
звуковой сигнал не вырабатывается. По окончании временного интервала звук
автоматически прекращается.
При выполнении операции чтения из регистра с адресом 9052 стек
поднимается, в регистр Y стека заносится ранее установленная частота
звукового сигнала, в регистр X
стека - остаток времени, если сигнал
продолжается, или число 0, если сигнал закончен.
7.1.3.
Формирование звукового сигнала при нажатии на кнопку
клавиатуры (
R
9053)
Звуковой сигнал вырабатывается автоматически при нажатии на любую
кнопку клавиатуры, если запрограммированы его параметры.
Программирование параметров автоматического звукового сигнала
производится аналогично параметрам звукового сигнала по п. 7.1.2. При этом
запись параметров производится в регистр данных с адресом 9053. При записи
длительности сигнала, равной нулю или 65535, а также частоте, равной 0, звук
не вырабатывается. Запрограммированные параметры сохраняются в
энергонезависимой памяти ЭВМ и восстанавливаются при включении питания.
При выполнении операции чтения из регистра с адресом 9053 стек
поднимается, в регистр Y
заносится установленное значение частоты сигнала, в
регистр X
- длительность звукового сигнала.
7.2.
Часы реального времени
7.2.1.
Описание
ЭВМ содержит электронные часы совмещенные с календарем. Питание
часов осуществляется от встроенного литиевого элемента. 29
НПКД.401348.001 Д1
7.2.2.
Чтение и корректировка текущего времени (R9055)
Значение текущего времени считывается при выполнении команды
чтения из регистра с адресом 9055. При этом стек поднимается, в регистр X
стека заносится время в формате
:
Ч,ММСС
если время (Ч) находится в интервале от 0 до 9 часов, или в формате
:
ЧЧ,ММСС
если время (ЧЧ) находится в интервале от 10 до 23 часов. Значения минут (ММ) и секунд (СС) находятся в интервале от 0 до 59.
Корректировка текущего времени производится при выполнении
команды записи в регистр с адресом 9055. В регистр X
стека должно быть
введено нужное значение времени в соответствующем формате. В противном
случае корректировка времени не выполняется.
7.2.3.
Чтение и корректировка даты (R9056-9059)
Чтение текущей даты производится при выполнении команд чтения из
регистров памяти данных с адресами
:
9056 - число
;
9057 - месяц
;
9058 - год
;
9059 - день недели.
Корректировка даты производится путем записи числа в
соответствующий регистр. При этом число в регистре X
стека преобразуется в
целое и ограничивается в пределах от 1 до 31, при корректировке числа; от 1 до
12, при корректировке месяца; от 1 до 7, при корректировке дня недели. При
корректировке года число ограничивается до значения 9999.
День недели считается от установленного значения и автоматически по
дате не определяется. Установленное столетие автоматически не изменяется.
Примечание. Часы включают в счет дней 29 февраля, если
установленное значение года кратно четырём. При занесении некорректных
значений числа, счет продолжается до 31, после чего происходит переход к
первому числу следующего месяца. 30
НПКД.401348.001 Д1
8.
ЭЛЕКТРОННЫЙ БЛОКНОТ
8.1.
Описание
8.1.1.
Электронный блокнот представляет собой таблицу (см.
рис.
2),
предназначенную для записи десятичных чисел с естественной или плавающей
запятой. Всего электронный блокнот содержит 16384 группы записей с
номерами от 0 до 16383, каждая группа записей содержит 4 записи с номерами
от 0 до 3. Все данные, записанные в электронный блокнот, хранятся в
энергонезависимой памяти.
Рис. 2. Структура записей электронного блокнота ЭВМ.
8.2.
Регистры электронного блокнота
8.2.1.
Номер группы записей. Номер группы может принимать значения
от 0 до 16383. Регистр имеет доступ по записи и чтению. При включении ЭВМ
в регистр заносится нулевое значение и в оперативное запоминающее
устройство (в дальнейшем - ОЗУ) ЭВМ считываются записи нулевой группы.
8.2.2.
Регистр состояния блокнота. Предназначен для проверки
корректности выполнения операций с блокнотом. Доступен только по чтению. 31
Группа
Запись
0
1
2
3
0
1
2
16382
16383
НПКД.401348.001 Д1
8.3.
Функции электронного блокнота
8.3.1.
Запись и чтение номера группы записей (R9060)
Запись и чтение значений в регистр номера группы записей производится
при обращении к регистру памяти с адресом 9060. При выполнении каждой
команды записи производится загрузка данных, соответствующих заданному
номеру группы, из энергонезависимой памяти в ОЗУ ЭВМ. При выполнении команды чтения стек поднимается, ранее записанное
значение из регистра номера группы заносится в регистр X
стека.
8.3.2.
Запись и чтение значений записей (R9061-9064)
Запись и чтение значений в установленную группу записей производится
при обращении к регистрам памяти с адресами
:
9061 - для записи номер 0
;
9062 - для записи номер 1
;
9063 - для записи номер 2
;
9064 - для записи номер 3.
При выполнении команды записи производится занесение информации в
энергонезависимую память электронного блокнота.
При выполнении команды чтения из регистров с указанными адресами
стек поднимается, значение из ОЗУ заносится в регистр X стека. 8.3.3.
Чтение регистра состояния блокнота (R9065)
Чтение регистра состояния блокнота производится при выполнении
команды чтения из регистра памяти с адресом 9065
.
При этом стек
поднимается, в регистр X
заносится значение регистра состояния блокнота. Состояние устанавливается автоматически при выполнении операций с
блокнотом. В регистр состояния заносится число 0, если обращение к
энергонезависимой памяти блокнота прошло успешно, или число 1, если
произошла ошибка.
Выполнение команды записи не изменяет состояние регистра с
указанным адресом.
32
НПКД.401348.001 Д1
9.
УНИВЕРСАЛЬНЫЙ ПОСЛЕДОВАТЕЛЬНЫЙ ПОРТ
9.1.
Описание
9.1.1.
Универсальный последовательный порт предназначен для
организации обмена данными с внешними устройствами по интерфейсу
Стык
С2 (
RS-232C)
. 9.1.2.
Порт содержит буфер передаваемых данных, буфер принятых
данных, регистры данных, настройки и управления. Режим работы порта -
полудуплексный, то есть передача и приём данных могут быть выполнены
только по очереди, но не одновременно.
9.1.3.
Для подключения внешних устройств используется разъемы ИПС и
ВУ, розетка DB-9
и вилка DB-25 соответственно.
Распайка разъемов
соответствует стандартной распайке для интерфейса RS-232C.
При этом, на
розетку DB-9
выведены только сигналы RxD, TxD
и GND
, на вилку DB-25
дополнительно выведен сигнал DTR,
остальные сигналы, предусмотренные
протоколом, не формируются и не используются. Примечание. Сигнал DTR позволяет, при помощи дополнительного
устройства, подключаемого к ЭВМ, сформировать сигналы интерфейса
RS
-
485.
При отсутствии активности по сигналу TxD
линия находится в
"третьем" (высокоомном) состоянии, что позволяет подключать несколько
устройств параллельно на одну линию, образуя многоточечное соединение.
9.2.
Регистры настроек универсального последовательного порта
9.2.1.
Описание
Все регистры настроек доступны по чтению и записи. Занесение данных
и чтение состояния регистров настроек производится при обращении к
соответствующим регистрам памяти ЭВМ. При записи данных производится
ограничение числа, находящегося в регистре X стека. При чтении - стек ЭВМ
поднимается, в регистр X стека заносится значение, записанное в регистр ранее.
33
НПКД.401348.001 Д1
9.2.2.
Разрешение универсального последовательного порта (R9070)
Доступ к регистру обеспечивается при обращении к регистру памяти
данных с адресом 9070. При записи числа 1 универсальный последовательный
порт разрешен, при записи числа 0 - запрещен.
Если доступ программы пользователя к порту запрещён, во время работы
программы к ЭВМ через последовательный порт может быть выполнено
обращение средствами удалённого доступа.
9.2.3.
Скорость обмена (R9071)
Запись и считывание скорости обмена данными производится при
обращении к регистру памяти с адресом 9071. Содержимое регистра может
принимать значения от 0 до 13 (см. табл. 6).
Таблица 6
Значение регистра
Скорость обмена, бит/с
0
9600
1
600
2
900
3
1200
4
1800
5
2400
6
3600
7
4800
8
7200
9
9600
10
14400
11
19200
12
38400
13
57600
34
НПКД.401348.001 Д1
9.2.4.
Режим обмена (R9072)
Установление и считывание значения обеспечивается при обращении к
регистру памяти с адресом 9072. При записи числа 0 устанавливается режим
обмена восьмибитной последовательностью данных, при записи числа 1 -
режим обмена девятитибитной последовательностью.
Режим девятибитной последовательности может быть использован для
организации контроля чётности/нечётности данных или формирования
дополнительного стоп-бита при обмене восьмибитовыми данными.
9.2.5.
Время ожидания при приёме данных (R9073)
Время ожидания при приёме данных устанавливается и считывается при
обращении к регистру памяти с адресом 9073. Время ожидания может
принимать значения от 0 до 255. Записанное число определяет время ожидания
второй и последующих посылок (байтов или девятибитных
последовательностей) при приеме сообщения. Каждая единица соответствует
времени 1,25 мс. При записи числа ноль время не проверяется, задержка между
посылками в принимаемом пакете может быть любой.
9.2.6.
Режим автоматического приёма (R9074)
Состояние режима автоматического приёма устанавливается и
считывается при обращении к регистру памяти с адресом 9074. При записи
числа 0 устанавливается режим автоматического включения приёма после
окончания передачи, при записи числа 1 - режим автоматического приёма
запрещен.
9.2.7.
Время ожидания ответа (R9078)
Время ожидания ответа устанавливается и считывается при обращении к
регистру памяти с адресом 9078. Время ожидания может принимать значения
от 0 до 255. Записанное число определяет время ожидания первой посылки
(байтов или девятибитных последовательностей) при приеме сообщения.
Каждая единица соответствует времени 1,25 мс. При записи числа ноль время
не проверяется, и задержка перед приемом первой посылки не ограничивается.
35
НПКД.401348.001 Д1
9.3.
Регистры данных универсального последовательного порта
9.3.1.
Индексный регистр буфера передачи (R9080)
Регистр памяти с адресом 9080 задает смещение относительно начала
буфера передачи при записи и чтении данных в буфер. Может принимать
значения от 0 до 255 Регистр доступен по записи и чтению.
9.3.2.
Индексный регистр буфера приема (R9085)
Регистр памяти с адресом 9085 задает смещение относительно начала
буфера приема при записи и чтении данных в буфер приема. Может принимать
значения от 0 до 255. Регистр доступен по записи и чтению.
9.3.3.
Счётчик принятых и переданных посылок (R9075)
Регистр памяти с адресом 9075 содержит счётчик принятых и переданных
посылок. Содержимое регистра автоматически увеличивается на единицу при
приёме или передаче одной посылки. Содержимое счётчика обнуляется при переполнении свыше числа 255 и
при переключении порта с передачи на приём и обратно.
Запись в регистр с указанным номером не изменяет состояние счётчика
посылок.
9.3.4.
Текущее значение времени ожидания ответа (R9079)
Регистр памяти с адресом 9079 содержит время, оставшееся до окончания
ожидания ответа. В момент начала автоматического приёма регистр
инициализируется содержимым регистра с адресом 9078. Далее содержимое
регистра уменьшается на единицу каждые 1,25 мс до достижения нулевого
значения.
Чтение текущего значения времени ожидания ответа производится при
выполнении команды чтения из регистра памяти с адресом 9079. При этом, при
обращении к регистру стек поднимается, текущее значение времени ожидания
заносится в регистр X
стека. Операция записи по адресу 9079 не изменяет стек ЭВМ и текущее
значение времени ожидания.
36
НПКД.401348.001 Д1
9.4.
Функции универсального последовательного порта
9.4.1.
Запись и чтение данных в буфер передачи (R9081-R9084)
Буфер передачи состоит из двух частей - байтового буфера и буфера
девятого бита. Запись и чтение данных из каждой части буфера передачи
производится отдельно. Операция чтения и записи байтовой части буфера передачи производится
при обращении к регистрам памяти с адресами 9081 и 9082. При записи
содержимое регистра X
стека преобразуется в целое, ограничивается до
значения 255 и записывается в байтовый буфер в ячейку, смещенную
относительно начала на число, записанное в индексный регистр буфера
передачи (см.
п.
9.3.1). При чтении стек поднимается, содержимое ячейки
записывается в регистр X
стека. Кроме этого, при обращении к регистру памяти
данных с адресом 9082, после выполнения операции чтения или записи
содержимого ячейки буфера, производится автоматическое увеличение
содержимого индексного регистра буфера передачи на единицу. При
достижении максимального значения, содержимое индексного регистра
обнуляется.
Операция чтения и записи в буфер девятого бита буфера передачи
производится при обращении к регистрам памяти данных с адресами 9083 и
9084 и выполняется аналогично операции обращения к байтовой части буфера
передачи (к регистрам памяти данных с адресами 9081 и 9082 соответственно).
Число ограничивается до значения 1. 9.4.2.
Запись и чтение данных в буфер приема (R9086-R9089)
Буфер приема устроен аналогично буферу передачи. Запись и чтение
данных в буфер приема производится аналогично записи и чтению данных в
буфер передачи по п.
9.4.1. При этом, для обращения к байтовой части буфера
приема используются регистры памяти с адресами 9086 и 9087, для обращения
к девятому биту буфера приема используются регистры памяти с адресами 9088
и 9089. Смещение задает число, записанное в индексном регистре буфера
приема (см. п. 9.3.2).
37
НПКД.401348.001 Д1
9.4.3.
Передача данных (R9077)
Передача данных по последовательному порту начинается после
выполнения операции записи в регистр памяти с адресом 9077. При
выполнении команды значение регистра X стека преобразуется в целое число,
ограничивается до 255 и заносится в регистр передачи. Если число не равно
нулю, то счетчик посылок (см.
п.
9.3.3) обнуляется, число из буфера передачи
заносится в устройство ввода-вывода ЭВМ и передаётся в последовательный
порт. При этом смещением для загрузки числа из буфера передачи в порт
служит счетчик посылок. После передачи одной посылки число в регистре передачи уменьшается
на единицу, счетчик посылок увеличивает свое значение на единицу, после чего
цикл повторяется. Передача длится до тех пор, пока число в регистре передачи
не станет равным нулю. Текущее значение числа в регистре передачи можно прочитать при
выполнении операции чтения из регистра памяти с адресом 9077. При этом стек
поднимается, содержимое регистра передачи заносится в регистр X стека.
Аналогичным образом можно прочитать число переданных байтов. Для этого
необходимо выполнить операцию чтения из регистра счетчика переданных
посылок (см.
п.
9.3.3).
9.4.4.
Приём данных (R9076)
Приём данных по последовательному порту начинается после установки
разрешения приёма. Для этого в регистр памяти с адресом 9076 записывают
число 1, при этом счетчик посылок (см.
п.
9.3.3) обнуляется, а устройство
ввода-вывода ЭВМ переходит в режим приема данных от последовательного
порта. Запись в указанный регистр числа 0 запрещает прием.
Каждая принятая посылка заносится в буфер приема, после чего значение
счетчика посылок (см.
п.
9.3.3) увеличивается на единицу. Смещением для
загрузки числа в буфер приема из приемника порта служит счетчик посылок.
Если количество принятых посылок превышает 255, счетчик обнуляется, и
буфер начинает заполняться с начала.
Время ожидания первой посылки не ограничивается, если прием
инициирован записью в регистр, а не начался автоматически после окончания
передачи. После приема первой и каждой последующей посылки включается
38
НПКД.401348.001 Д1
временная задержка, установленная в соответствии с п. 9.2.5. После окончания
задержки значение в регистре разрешения приёма сбрасывается, приём
автоматически завершается.
Текущее значение числа принятых посылок можно считать из регистра
счетчика посылок.
Приём данных начинается автоматически сразу после окончания
передачи, если не установлен запрет автоматического приёма в соответствии с
п. 9.2.6. Время ожидания первой посылки в этом случае устанавливается в
соответствии с п. 9.2.7.
10.
УНИВЕРСАЛЬНЫЙ ПАРАЛЛЕЛЬНЫЙ ПОРТ
10.1.
Описание
Универсальный параллельный порт предназначен для организации
двунаправленного обмена данными с внешними устройствами.
Уровни сигналов порта совместимы с уровнями ТТЛ микросхем.
Параллельный порт может работать в нескольких режимах, которые
устанавливаются пользователем.
ЭВМ могут иметь различные типы универсального параллельного порта,
отличающиеся используемыми сигналами порта и доступными режимами
работы.
Тип А - используются сигналы STROBE, D0 - D7, BUSY, AUTOFEED,
SELECT IN, GND.
Тип Б - используются сигналы DI0 - DI7, DO0-DO7, BUSY, AUTOFEED,
SELECT IN, GND.
Тип В - используются сигналы BUSY, AUTOFEED, SELECT IN, GND.
Сигналы STROBE, AUTOFEED
, SELECT IN и DO0-DO7 используются
для вывода данных; BUSY и DI0-DI7 - для ввода, D0-D7 - двунаправленные.
Сигналы STROBE, AUTOFEED
, SELECT IN и BUSY в определённых
режимах работы порта используются для управления обменом.
10.2.
Регистры универсального параллельного порта
10.2.1.
Регистр режима (R9090)
Регистр памяти с адресом 9090 устанавливает режим работы
универсального параллельного порта. Регистр доступен по записи и чтению.
39
НПКД.401348.001 Д1
Содержимое регистра для порта типа А может принимать значения от 0 до 3,
для типа Б и В - 0 или 1.
При записи числа 0 порт выключен, при записи числа 1 устанавливается
статический режим работы, при записи числа 2 - режим совместимости
(
Centronics)
, при записи числа 3 - режим двунаправленного обмена.
10.2.2.
Регистры сигналов параллельного порта (R9091, R9092)
Регистры с адресами 9091 и 9092 управляют работой параллельного
порта. Выполняемые при чтении и записи содержимого регистров действия
зависят от установленного режима работы.
В порте типа В для управления используется только регистр с адресом
9092. При чтении содержимого регистра с адресом 9091 считывается число 0.
10.2.3.
Регистр типа операции (R9093)
Регистр памяти с адресом 9093 определяет выполняемую при обращении
к порту операцию. Регистр доступен по записи и чтению и может принимать
значения 0 или 1.
Для режима статической работы запись числа 0 настраивает порт на
чтение данных из внешнего устройства, запись числа 1 - на передачу данных во
внешнее устройство. Для режима двунаправленного обмена запись числа 0 настраивает порт
на чтение адреса из внешнего устройства и запись адреса во внешнее
устройство, запись числа 1 настраивает порт на чтение данных из внешнего
устройства и запись данных во внешнее устройство. Для режима совместимости регистр типа операции не используется.
Для порта типа В регистр не используется, при чтении содержимого
регистра считывается число 0.
10.2.4.
Регистр состояния выполненной команды (R9094)
Регистр состояния выполненной команды универсального параллельного
порта доступен только по чтению и может принимать значения 0, 1 или 2 в
зависимости от результата выполнения операции обмена данными. Число 0
устанавливается, если операция была выполнена успешно, число 1 - если
операция была принудительно закончена по окончанию временной задержки,
40
НПКД.401348.001 Д1
число 2 - если порт был не готов к выполнению операции. В статическом
режиме всегда устанавливается состояние 0.
Чтение состояния выполненной команды выполняется при обращении к
регистру памяти с адресом 9094.
Для порта типа Б и В регистр не используется, при чтении содержимого
регистра считывается число 0.
10.2.5.
Время ожидания ответа (R9095)
Регистр памяти с адресом 9095 определяет время ожидания ответа
внешнего устройства в режиме двунаправленного обмена. Содержимое
регистра может принимать значения от 0 до 255. Каждая единица соответствует
времени 1,25 мс. В других режимах данный параметр не используется.
Для порта типа Б и В регистр не используется, при чтении содержимого
регистра считывается число 0.
10.3.
Работа универсального параллельного порта
10.3.1.
Инициализация порта
Перед началом работы необходимо провести инициализацию
универсального параллельного порта, которая проводится в следующей
последовательности. Сначала программируется регистр режима (см.
п.
10.2.1)
, при этом порт
переходит в исходное состояние - сигналы D0 - D7
находятся в
"третьем" (высокоомном) состоянии, сигналы STROBE, AUTOFEED
, SELECT
IN
в состоянии логической "1". Если для выбранного режима необходимо выбрать тип операции, то
нужное значение обязательно записывается в соответствующий регистр
(см.
п.
10.2.3), даже если он уже находится в нужном состоянии. Если во время работы необходимо изменить тип операции, не изменяя
режима работы порта - программируется только регистр типа операции. При изменении режима работы инициализацию порта необходимо
провести полностью.
41
НПКД.401348.001 Д1
10.3.2.
Работа в статическом режиме
При работе в статическом режиме пользователь имеет прямой доступ ко
всем линиям универсального параллельного порта. Состояние линий D0 - D7
или DI0 - DI7 считывается при выполнении
команды чтения из регистра памяти с адресом 9091. При этом стек
поднимается, состояние линий преобразуется в число и заносится в регистр X
стека. При выполнении команды записи в регистр с адресом 9091, число из
регистра X стека преобразуется в байт и заносится в буферный регистр
параллельного порта. Если в регистре типа операции содержится число 1, то
состояние выводов буферного регистра передается на линии D0 - D7 или DO0 -
DO7.
Состояние сигналов STROBE, AUTOFEED
, SELECT IN,
BUSY
можно
определить при выполнении команды чтения из регистра памяти с адресом
9092. В считанном числе состояние бита 0 соответствует состоянию сигнала
STROBE,
состояние бита 1 - состоянию сигнала AUTOFEED,
состояние бита 2 -
состоянию сигнала SELECT IN, состояние бита 3, - состоянию сигнала BUSY,
при этом состояние бита 3 соответствует состоянию линии BUSY
порта,
остальные биты считывают состояние соответствующих триггеров в буферном
регистре порта. При выполнении команды записи в регистр с адресом 9092, число из
регистра X стека преобразуется в байт и заносится в буферный регистр.
Выходные сигналы битов 0, 1 и 2 подаются на линии STROBE, AUTOFEED
,
SELECT IN
порта, которые являются выходными линиями. Линия BUSY
порта
является входной и сигнал на ней не вырабатывается.
10.3.3.
Работа в режиме совместимости
Режим совместимости (режим
Centronics)
используется в порте типа А
для организации однонаправленной передачи данных из ЭВМ в принтер.
Диаграммы обмена в режиме совместимости соответствуют интерфейсу ИРПР-
М и режиму SPP параллельного порта персонального компьютера IBM PC/AT.
Цикл передачи данных выполняется следующим образом. В исходном состоянии сигнал STROBE
находится в высоком состоянии.
42
НПКД.401348.001 Д1
При выполнении команды записи в регистр памяти с адресом 9091 число
из регистра X стека преобразуется в байт, заносится в буферный регистр
параллельного порта и передается на линии D0 - D7.
Если принтер готов - сигнал BUSY
имеет низкий уровень, а сигналы
AUTOFEED
и SELECT IN
- высокий, ЭВМ вырабатывает по линии STROBE
импульс (длительностью около 100 мкс, активный уровень - низкий), после
чего устанавливает в регистре состояния (см.
п.
10.2.4) число 0.
Если принтер не готов, то импульс по линии STROBE
не вырабатывается,
в регистр состояния заносится число 2.
Состояние сигналов STROBE, AUTOFEED
, SELECT IN,
BUSY
можно
считать перед циклом передачи данных, выполнив команду чтения из регистра
памяти с адресом 9092. Состояние битов в полученном числе аналогично
статическому режиму. Возможно также управление сигналами AUTOFEED
и
SELECT IN
путем записи соответствующих чисел в регистр памяти с адресом
9092.
10.3.4.
Работа в режиме двунаправленного обмена
В режиме двунаправленного обмена в порте типа А реализовано четыре
типа циклов обмена между ЭВМ и внешним устройством - цикл передачи
данных из ЭВМ во внешнее устройство, цикл чтения данных из внешнего
устройства в ЭВМ, цикл записи адреса из ЭВМ во внешнее устройство, цикл
чтения адреса из внешнего устройства в ЭВМ. Диаграммы обмена
соответствуют аналогичным циклам режима EPP параллельного порта
персонального компьютера IBM
PC/AT. Передача данных и адреса из ЭВМ во внешнее устройство производится
при выполнении команды записи в регистр памяти с адресом 9091.
Если в регистре типа операции записано число 1, то выполняется цикл
передачи данных. ЭВМ проверяет сигнал BUSY и, если он имеет высокий уровень
(устройство готово), выставляет линию STROBE в низкий уровень.
Одновременно с этим на линии D0 - D7 выдается число из регистра X стека,
преобразованное в байт. Выдача данных стробируется низким уровнем сигнала AUTOFEED и
запускается временная задержка. В течении запрограммированного времени
43
НПКД.401348.001 Д1
ЭВМ ожидает подтверждение приема данных от внешнего устройства - низкий
уровень по линии BUSY
.
При успешно законченном цикле линии порта переводится в исходное
состояние, в регистр состояния выполненной команды (см.
п.
10.2.4) заносится
число 0. Если подтверждение приема не приходит в течении времени
ожидания, цикл принудительно заканчивается, линии порта переводится в
исходное состояние, в регистр состояния выполненной команды заносится
число 1. Если внешнее устройство не готово - цикл не начинается, в регистр
состояния выполненной команды заносится число 2.
Цикл передачи адреса выполняется в том случае, если в регистре типа
операции записано число 0. Цикл передачи адреса аналогичен циклу передачи
данных, только выдача данных стробируется низким уровнем сигнала SELECT
IN
, а число на линиях D0 - D7 принимается внешним устройством как адрес.
Чтение данных и адреса из внешнего устройства в ЭВМ производится
при выполнении команды чтения из регистра памяти с адресом 9091.
ЭВМ проверяет сигнал BUSY и, если устройство готово, оставляет сигнал
STROBE
в исходном состоянии, выставляет в низкий уровень линию
AUTOFEED,
если запрашиваются данные или линию SELECT IN
, если
запрашивается адрес, и переходит в режим ожидания готовности. Устройство
выставляет на линиях D0 - D7 число, соответствующее запрашиваемому
параметру, и переводит сигнал BUSY
в высокое состояние. ЭВМ считывает
число и переводит порт в исходное состояние. Стек поднимается, считанное
число заносится в регистр X стека, в регистр состояния выполненной команды
(см.
п.
10.2.4) заносится число
0.
Если внешнее устройство не выставляет готовность данных в течении
времени ожидания, цикл принудительно заканчивается, линии порта
переводится в исходное состояние, в регистр состояния выполненной команды
заносится число 1. Если внешнее устройство не готово - цикл не начинается, в
регистр состояния выполненной команды заносится число 2. В обоих случаях
стек поднимается, в регистр X стека заносится число 0.
Состояние сигналов STROBE, AUTOFEED
, SELECT IN,
BUSY
можно
считать, выполнив команду чтения из регистра памяти с адресом 9092.
Состояние битов в полученном числе аналогично статическому режиму.
44
НПКД.401348.001 Д1
Управление сигналами STROBE, AUTOFEED
, SELECT IN
в режиме
двунаправленного обмена вне циклов не предусмотрено.
11.
РАБОТА С ДВОИЧНЫМИ ЧИСЛАМИ
11.1.
Описание
В ЭВМ предусмотрена возможность работы с целыми двоичными
числами без знака. Разрядность двоичных чисел кратна байту (8 битам). Для
индикации двоичных чисел используется шестнадцатиричная позиционная
система исчисления. Числа кодируются цифрами от 0 до 9 и заглавными
буквами латинского алфавита от A до F
. Каждому байту соответствует два
символа. При выводе двоичных чисел на экран ЭВМ байты разделяются
пробелом.
11.2.
Функции для работы с двоичными числами 11.2.1.
Программирование разрядности двоичных чисел (
R9100)
Разрядность двоичных чисел может принимать значение от 1 до 4 байт
(от 8 до 32 двоичных разрядов). Чтение и запись разрядности производится при
обращении к регистру памяти с адресом 9100. При выполнении команды
записи значение регистра X
стека преобразуется в целое число, ограничивается
до 4 и записывается в регистр разрядности двоичных чисел. При этом запись
числа 0 аналогична записи числа 1.
При выполнении команды чтения стек поднимается, значение из регистра
разрядности заносится в регистр X стека.
11.2.2.
Вывод двоичного числа на графический экран (
R
9101)
Функция предназначена для вывода числа в двоичном виде на
графический экран. Выводимое число заносится в регистр X
стека. Операция производится
при выполнении команды записи в регистр памяти с адресом 9101. При
выполнении операции записанное число преобразуется в целое, ограничивается
в соответствии с установленной разрядностью, преобразуется в строку
символов и выводится на экран. Начальная координата задается в регистрах X0
и Y0 (см. п. 2.3.1)
, правила вывода строки символов аналогичны п. 2.3.15.
Максимальное выводимое число при установленной разрядности
:
45
НПКД.401348.001 Д1
- 1 байт
255 (
FF);
- 2 байта
65535 (
FF FF);
- 3 байта
16777215 (
FF FF FF);
- 4 байта
4294967295 (
FF FF FF FF)
.
Значение регистров стека после выполнения функции не изменяется.
Операция чтения из регистра памяти данных по указанному адресу не изменяет
стек ЭВМ.
11.2.3.
Вывод двоичного числа в строку комментариев (
R
9102)
Функция предназначена для вывода числа в двоичном виде в строку
комментариев. Выводимое число заносится в регистр X
стека. Операция производится
при выполнении команды записи в регистр памяти с адресом 9102. При
выполнении операции записанное число преобразуется в целое, ограничивается
в соответствии с установленной разрядностью, преобразуется в строку
символов и выводится в строку комментариев. Перед началом вывода строка
комментариев очищается. Значение регистров стека после выполнения функции не изменяется.
Операция чтения из регистра памяти данных по указанному адресу не изменяет
стек ЭВМ.
11.2.4.
Преобразование числа в последовательность байтов в
двоичном виде и обратно (
R
9103)
Функция выполняется при обращении к регистру памяти с адресом 9103.
При выполнении команды записи десятичное число, находящееся в регистр X
стека, преобразуется в двоичное число в соответствии с установленной
разрядностью. Последовательность байтов заносится в универсальный
байтовый буфер, начиная с ячейки, смещенной относительно начала на число,
находящееся в индексном регистре 0. При выполнении операции чтения стек поднимается. Из универсального
байтового буфера начиная с ячейки, смещенной относительно начала на число,
находящееся в индексном регистре 0, считывается двоичное число
установленной разрядности. Считанное двоичное число преобразуется в
десятичное и заносится в регистр X
стека. 46
НПКД.401348.001 Д1
12.
РАБОТА С ФАЙЛАМИ ИЗ ПРОГРАММЫ ПОЛЬЗОВАТЕЛЯ
12.1.
Описание
В ЭВМ организован доступ к командам дисковой операционной системы
(ДОС), с помощью которых можно производить операции с файлами и
каталогами на встроенном электронном диске (диск A
) и на внешнем диске
(диск B
). Доступ возможен как из программы пользователя, так и из
автоматического режима.
Все файлы на дисках ЭВМ сгруппированы в каталоги, которые кроме
файлов могут содержать подкаталоги (каталоги следующего уровня), которые
могут содержать свои подкаталоги и т.д. Таким образом, файловая структура
представляет собой дерево, имеющее один вход (головной каталог) с
неограниченным числом вложений и любым количеством ветвей (в пределах
ёмкости диска и ограничений на размер каталога). Передвижение по файловой
структуре возможно только в двух направлениях - вперед в подкаталог и назад
в материнский каталог. Доступ к файлам и подкаталогам осуществляется через активный каталог,
который загружается в специальную область ОЗУ, длиной 2048 байт и
представляет собой список, содержащий 64 строки с номерами от 0 до 63 по 32
байта. Каждому файлу/подкаталогу соответствует одна строка каталога,
которая содержит имя, определяет тип файла, дату и время его создания, длину
(для файла программы) и местонахождение на диске. В строке с номером 0
всегда содержится ссылка на материнский каталог и имя материнского
каталога. Список заполняется без промежутков сверху вниз, в сторону увеличения
номера строки, все байты незанятых строк заполняются кодами 0
FFh
. При
создании новых файлов, соответствующая строка пристыковывается снизу
списка, при создании подкаталога новая строка ставится в голову списка (в
строку с номера 1), остальные строки сдвигаются вниз. При удалении файлов и
подкаталогов список сжимается. 47
НПКД.401348.001 Д1
12.2.
Регистры дисковых операций
12.2.1.
Общее разрешение дисковых операций (
R9120)
Доступ к регистру по записи и чтению обеспечивается при обращении к
регистру памяти данных с адресом 9120. При записи числа 0, дисковые
операции запрещены, при записи числа 1 - дисковые операции разрешены.
12.2.2.
Разрешение операции (
R9128)
Регистр доступен по записи и чтению и предназначен для защиты от
случайного исполнения дисковых операций. Механизм защиты следующий. При выполнении любой дисковой операции требуется, чтобы в регистр X
стека было загружено определенное число (см. 12.3.2). Чтобы дисковая
операция выполнилась успешно, необходимо, чтобы это же число содержалось
в регистре разрешения операции. Для этого сначала содержимое регистра X
стека записывают в регистр разрешения операции путем выполнения команды
записи в регистр данных с адресом 9128, затем выполняют дисковую операцию.
Если при выполнении дисковой операции число в регистре разрешения
операции не совпадает с содержимым регистра X
стека - операция не
выполняется и устанавливается соответствующая ошибка. После выполнения
дисковой операции, независимо от ее результата, в регистр разрешения
операции автоматически заносится число 255 (0
FFh).
12.2.3.
Ошибки дисковых операций (
R9129)
Регистр ошибок при выполнении дисковых операций доступен только по
чтению при обращении к регистру памяти данных с адресом 9129. В регистре
сохраняется код ошибки последней выполненной дисковой операции. Код
ошибки может принимать следующие значения
:
0
- нет ошибок, операция выполнена успешно
;
1
- нет диска
;
2
- диск не форматирован
;
48
НПКД.401348.001 Д1
3
- нет места на диске
;
4
- нет места в каталоге
;
5
- ошибка имени файла/каталога
;
6
- невозможно удалить/создать/загрузить файл/каталог
;
7
- файл/каталог не выбран
;
8
- нет разрешения операции.
12.3.
Дисковые операции
12.3.1.
Выбор диска (
R9121)
Выбор диска производится при выполнении команды записи в регистр
памяти с адресом 9121, при этом в регистр X
стека должно быть введено число
0, если выбирается диск A
, или число 1, если выбирается диск B
. При выборе
диска в ОЗУ автоматически загружается головной каталог загружаемого диска.
Если указанный диск недоступен (отсутствует или неформатирован),
устанавливается соответствующая ошибка, предыдущее содержимое ОЗУ
каталога не изменяется. Операция выполняется автоматически при установке общего разрешения
дисковых операций, при этом выбирается диск A
и загружается его головной
каталог.
Значение регистров стека после выполнения функции не изменяется.
Операция чтения из регистра памяти данных по указанному адресу не изменяет
стек ЭВМ.
12.3.2.
Чтение строки каталога (
R
9122)
В отличие от других дисковых операций данная операция не требует
разрешения и предназначена для просмотра активного каталога. Каталог
просматривается построчно, для чего в регистр X
стека заносится номер строки
(от 0 до 63) и выполняется команда записи в регистр памяти с адресом 9122.
При этом строка каталога (32 байта) с указанным номером считывается из ОЗУ
каталога в байтовый буфер, начиная с ячейки, смещенной относительно начала
49
НПКД.401348.001 Д1
на число, запрограммированное в индексный регистр 0 байтового буфера.
Просмотр загруженной строки производится с использованием функций
универсального байтового буфера, описанных в разделе 5. Все строки каталога разбиты на фиксированные поля. Поля следуют от
начала строки и имеют следующее содержание
.
Поле
1, смещение от начала строки 0 - идентификатор, длина 1 байт. Определяет тип записи
:
0 - заголовок каталога
;
1 - не используется
;
2 - подкаталог
;
3 - файл программы
;
4 - файл десятичных данных
;
5 - текстовый файл
;
6 - файл двоичных данных.
Строка с идентификатором 0 всегда стоит в нулевой строке. Если в
начале нулевой строки другое значение байта - каталог не загружен.
Поле
2, смещение от начала строки 1 - номер кластера (адрес) начала
файла/каталога на диске, длина 2 байта.
Определяет местоположение файла/каталога на диске. Для заголовка
каталога определяет начало материнского каталога. Если адрес материнского
каталога равен 0000
h
, то загружен головной каталог диска.
Поле
3, смещение от начала строки 3 - имя файла/каталога, длина 20 байт.
Состоит из разрешенных символов, не может начинаться с пробела. В
заголовке каталога содержится имя активного каталога.
Поле
4, смещение от начала строки 23 - время и дата создания
файла/каталога, длина 8 байт.
Время и дата записаны в BCD
формате в последовательности - секунды,
минуты, часы, день, месяц, день недели, год. Последним байтом записано
случайное число от 0 до 255. Поле 5, смещение от начала строки 31 - длина файла, 1 байт.
50
НПКД.401348.001 Д1
Параметр определен только для файлов программ в страницах от 1 до
100.
Значение регистров стека после выполнения функции не изменяется.
Операция чтения из регистра памяти данных по указанному адресу не изменяет
стек ЭВМ.
12.3.3.
Загрузка файла/каталога (
R
9123)
Функция загружает файл или каталог по заданному номеру строки
активного каталога. Номер строки задается в регистре X
стека, операция
производится при выполнении команды записи в регистр памяти с адресом
9123. При выполнении операции из ОЗУ каталога считывается идентификатор
строки и, в зависимости от его типа, производится переход в подкаталог,
загрузка файла из диска в соответствующую область памяти ЭВМ или переход
в материнский каталог. Если заданная строка не содержит идентификатора,
операция не выполняется, формируется код ошибки 7. При загрузке файла программы в регистр Y стека должен быть
дополнительно загружен номер начальной страницы памяти программ. Если
длина загружаемой программы превышает выделенную область, то операция не
выполняется и формируется код ошибки 6.
Значение регистров стека после выполнения функции не изменяется.
Операция чтения из регистра памяти данных по указанному адресу не изменяет
стек ЭВМ.
12.3.4.
Удаление файла/каталога (
R
9124)
Функция предназначена для удаления файлов данных и подкаталогов по
заданному номеру строки активного каталога. Номер строки задается в
регистре X
стека, операция выполняется при выполнении команды записи в
регистр памяти с адресом 9124.
Функция не удаляет файлы программы и не удаляет подкаталоги,
содержащие файлы и подкаталоги. В этом случае формируется код ошибки 6.
51
НПКД.401348.001 Д1
Значение регистров стека после выполнения функции не изменяется.
Операция чтения из регистра памяти данных по указанному адресу не изменяет
стек ЭВМ.
12.3.5.
Создание файла/каталога (
R
9125)
Функция создает новый файл данных или подкаталог. Идентификатор
создаваемого файла задается в регистре X
стека (2 - для подкаталога
;
4, 5 или 6
- для файлов данных), операция производится при выполнении команды записи
в регистр памяти с адресом 9125. Имя создаваемого файла/каталога должно
быть предварительно загружено в байтовый буфер в поле имени (см. п. 12.3.2),
остальные поля не используются. Если имя создаваемого файла (каталога)
совпадает с именем уже существующего файла (каталога), операция не
производится и вырабатывается код ошибки 5.
Функция не создает файлы программы.
При создании файлов используются предварительно сохранённые в
энергонезависимой памяти значения (см. п. 6.2.3), прочие могут быть изменены
в результате выполнения операции.
Значение регистров стека после выполнения функции не изменяется.
Операция чтения из регистра памяти данных по указанному адресу не изменяет
стек ЭВМ.
12.3.6.
Перезапись файла (
R
9126)
Функция перезаписывает файл данных по заданному номеру строки
активного каталога. Номер строки задается в регистре X
стека, операция
производится при выполнении команды записи в регистр памяти с адресом
9126. При выполнении операции из ОЗУ каталога считывается идентификатор
строки и имя файла. После этого создается новый файл того же типа с тем же
именем, старый файл удаляется. Функция не перезаписывает файлы программы.
52
НПКД.401348.001 Д1
При перезаписи файлов используются предварительно сохранённые в
энергонезависимой памяти значения (см. п. 6.2.3), прочие могут быть изменены
в результате выполнения операции.
Значение регистров стека после выполнения функции не изменяется.
Операция чтения из регистра памяти данных по указанному адресу не изменяет
стек ЭВМ.
13.
ПРЕРЫВАНИЯ
13.1.
Описание
В ЭВМ организован механизм прерываний, позволяющий автоматически
реагировать на внешние и внутренние события такие как окончание счета
таймеров, завершение последовательного и параллельного обмена, нажатие на
кнопку клавиатуры. Функции прерывания выполняются только во время
исполнения программы пользователя и не работают в режиме пошагового
прохода. Настройка параметров прерываний возможна как из программы, так и
в автоматическом режиме.
Прерывания имеют один уровень вложения. При возникновении
прерывания выполнение основной программы откладывается, ЭВМ переходит
на выполнение программы, обслуживающей событие, вызвавшее это
прерывание. Если в это время происходят события, которые также необходимо
обслужить по прерыванию, их обработка откладывается до завершения
обработки текущего прерывания. Отложенные прерывания выстраиваются в
очередь в порядке запрограммированных приоритетов. При выходе из текущего
прерывания выполняется как минимум одна команда основной программы,
затем выполняется прерывание, находящееся в заголовке очереди, вся очередь
сдвигается, "хвост" очереди очищается. Очередь прерываний обрабатывается
до тех пор, пока полностью не очистится. Если ЭВМ не успевает обработать все
возникающие прерывания и очередь прерываний переполняется, программа
останавливается, вырабатывается ошибка "Переполнение очереди". В ЭВМ
реализована глубина очереди прерываний на 16 вложений.
53
НПКД.401348.001 Д1
Кроме автоматического вызова прерываний по событиям все прерывания
можно вызвать программным способом, при этом оба способа равнозначны и
вызванные ими прерывания обрабатываются одинаково. Программа обработки прерывания оформляется в виде подпрограммы, в
конце которой ставится команда РР
В/О (
PP
RTN) - "В
озврат из прерывания".
Программа обработки прерывания загружается в память программ ЭВМ с
адреса, которой запрограммирован для этого прерывания. Обработка прерывания производится следующим образом. При
возникновении прерывания ЭВМ заканчивает выполнение текущей команды
основной программы, сохраняет в специальной памяти содержимое регистров
X, Y, Z, T, X1 стека и содержимое первых 15-ти регистров памяти данных (от 0
до E
). После этого ЭВМ сохраняет в стеке подпрограмм адрес возврата и
загружает в программный счетчик адрес подпрограммы обработки прерывания.
После выполнения программы обработки прерывания по команде "Возврат из
прерывания" ЭВМ восстанавливает содержимое регистров стека и содержимое
первых 15-ти регистров памяти данных, сбрасывает логику прерываний и
загружает в программный счетчик адрес возврата в основную программу. Если в программе обработки прерываний вместо команды "Возврат из
прерывания" стоит команда возврата из подпрограммы "В/О", ЭВМ
возвращается к выполнению основной программы, но считает, что прерывание
не закончено, при этом регистры не восстанавливаются, логика прерываний не
сбрасывается. Если ЭВМ обращается к программе обработки прерывания не в
прерывании, а напрямую, как к подпрограмме, то в этом случае команда
"Возврат из прерывания" действует аналогично команде "В/О".
13.2.
Регистры прерываний
13.2.1.
Общее разрешение прерываний (
R9130)
Доступ к регистру общего разрешения прерываний по записи и чтению
обеспечивается при обращении к регистру памяти с адресом 9130. При записи
54
НПКД.401348.001 Д1
числа 0, прерывания запрещены, при записи числа 1 - прерывания разрешены.
Запись регистра возможна только при выполнении программы пользователя,
при остановке программы разрешение прерываний автоматически
сбрасывается. Одновременно с записью числа в регистр общего разрешения
прерывания очищается очередь прерываний.
13.2.2.
Регистры настройки прерываний (
R9131 - R9146)
Всего ЭВМ поддерживает 16 прерываний с номерами от 1 до 16. Для
каждого прерывания программируется два параметра - приоритет прерывания и
адрес программы обработки прерывания в памяти программ ЭВМ (вектор
прерывания). Доступ к параметрам обеспечивается при обращении к регистрам
памяти с адресами от 9131 по 9146 соответственно, при этом приоритет
прерывания заносится в регистр X стека, вектор - в регистр Y
стека. Приоритет может принимать целые значения от 0 до 255. При нулевом
приоритете прерывание запрещено, при записи числа 1 и выше - прерывание
разрешено и, чем больше число, - тем выше приоритет этого прерывания. 13.2.3.
Регистры разрешения аппаратных прерываний (
R9150 - R9158)
Каждое аппаратное прерывание имеет регистр разрешения. Доступ к
регистрам обеспечивается при обращению к регистрам памяти ЭВМ, адреса
которых соответствуют следующим событиям
:
- 9150
окончание счета таймера 0
;
- 9151
окончание счета таймера 1
;
- 9152
окончание счета таймера 2 (окончание звукового сигнала)
;
- 9153
нажатие на кнопку клавиатуры
;
- 9154
окончание передачи последовательного порта
;
- 9155
окончание приема последовательного порта
;
- 9156
переход сигнала BUSY
параллельного порта из состояния
лог. 1 в лог. 0;
- 9157
отпускание кнопки клавиатуры;
55
НПКД.401348.001 Д1
- 9158
окончание ожидания ответа последовательного порта.
Число, записанное в регистр разрешения, ставит в соответствие событию
номер прерывания и может принимать целое значение от 0 до 16. При записи в
регистр разрешения числа 0 - аппаратное прерывание запрещено, при записи
другого числа - разрешено. Например, запись в регистр данных с адресом 9153
числа 1 разрешает прерывание по нажатию кнопки клавиатуры, при этом
нажатие на кнопку вызывает прерывание номер 1 с параметрами (приоритетом
и вектором), запрограммированными по адресу 9131 (см. 13.2.2).
13.3.
Программный вызов прерываний
Любое настроенное прерывание можно вызвать из программы
пользователя путем записи в регистр с адресом 9149 числа, соответствующего
номеру вызываемого прерывания (от 1 до 16). Если прерывание разрешено, оно
вызывается в любом случае и не зависит от того свободен этот номер или
используется для прерывания от внешнего события.
13.4.
Сброс регистров прерываний
Функция предназначена для удаления всех ранее записанных в регистры
прерываний значений. Для выполнения сброса в регистр X стека записывается
число 1. Операция производится при выполнении команды записи в регистр
памяти с адресом 9148. Значение регистров стека после выполнения функции не изменяется.
Операция чтения из регистра памяти по указанному адресу не изменяет стек
ЭВМ.
14. АНАЛОГО-ЦИФРОВОЙ ПРЕОБРАЗОВАТЕЛЬ
14.1.
Описание
ЭВМ для преобразования значения напряжения входного аналогового
сигнала в числовой код могут иметь встроенный аналого-цифровой
56
НПКД.401348.001 Д1
преобразователь (далее - АЦП). Регистры функций АЦП используются при
наличии АЦП в ЭВМ.
АЦП работает в двух основных режимах - измерения мгновенных
значений и непрерывной работы. Режим непрерывной работы устанавливается
только во время исполнения программы и не работает в режиме пошагового
прохода. Настройка параметров АЦП возможна как из программы, так и в
автоматическом режиме калькулятора.
В режиме непрерывной работы АЦП для считывания доступны как
фильтрованные, так и нефильтрованные значения напряжения входного
сигнала.
Для измерения значения напряжения нескольких входных аналоговых
сигналов может быть установлена внешняя схема мультиплексирования
каналов, управление которой производится автоматически. В качестве управляющих сигналов мультиплексора используются
выводы AUTOFEED и SELECT IN параллельного порта. При включении
мультиплексора АЦП параллельный порт отключается.
14.2.
Регистры и функции АЦП
14.2.1.
Установка режима работы АЦП (R9170)
Регистр памяти с адресом 9170 устанавливает режим работы АЦП.
Регистр доступен по записи и чтению. Содержимое регистра может принимать
значения 0 или 1.
При записи числа 0 устанавливается режим измерения мгновенных
значений, при записи числа 1 - режим непрерывной работы. Значение 1 можно записать только во время выполнения программы
пользователя. При останове программы значение автоматически сбрасывается
на 0.
57
НПКД.401348.001 Д1
14.2.2.
Настройка мультиплексора входных сигналов (R9171)
Регистр памяти с адресом 9171 настраивает мультиплексор входных
сигналов АЦП. Регистр доступен по записи и чтению. Содержимое регистра
может принимать значения от 0 до 4.
При записи числа 0 мультиплексор не используется. При записи чисел от
1 до 4 мультиплексор включается, записанное число определяет количество
опрашиваемых каналов.
При включении мультиплексора одновременно записывается нулевое
значение в регистр памяти с адресом 9090, что вызывает отключение
параллельного порта. Запись других значений в регистр с адресом 9090
запрещается до выключения мультиплексора.
14.2.3.
Множитель периода дискретизации (R9172)
Регистр памяти с адресом 9172 содержит множитель периода
дискретизации для функции записи массива мгновенных значений напряжения
в двоичную память (п. 14.2.4). Содержимое регистра может принимать
значения от 1 до 8. Значение периода кратно величине 1,25 мс.
14.2.4. Запись массива мгновенных значений напряжения (R9179)
Запись массива мгновенных значений напряжения входного сигнала
осуществляется в область двоичной памяти ЭВМ, в регистры памяти с
адресами от 1000 до 5095.
Функция выполняется только в режиме измерения мгновенных значений
(п. 14.2.1). Запись массива начинается при выполнении команды записи в
регистр памяти с адресом 9179. В регистре X стека при этом должно
находиться число выполняемых отсчётов от 1 до 2048, при записи числа 0
функция не выполняется.
Записываемое в массив значение представляет собой двухбайтовое число,
в котором старшие биты определяют измеренное значение, младшие биты
обнулены. Количество старших бит соответствует разрядности АЦП
установленного в ЭВМ. Значения записываются в память двоичных данных
58
НПКД.401348.001 Д1
начиная с адреса 1000. Первым записывается младший байт числа, затем
старший.
Если при выполнении функции включен мультиплексор (п. 14.2.2), перед
каждым измерением устанавливаются сигналы на линиях выборки номера
канала. Порядок опроса каналов аналогичен режиму непрерывной работы АЦП
(см. п. 14.2.5). Период записи измеренных значений в массив, в мс, вычисляется по
формуле:
1,25
×N
, где N - множитель периода дискретизации, от 1 до 10 (см. п. 14.2.3).
Во время выполнения функции, которое может занимать до 25,6 секунд,
другие действия ЭВМ не выполняются. 14.2.5.
Измеренные значения напряжения (R9175-R9178)
Регистры памяти с адресами от 9175до 9178 содержат измеренные
значения напряжения входного сигнала в вольтах по каналам от 0 до 3
соответственно.
В режиме 0 (см. п. 14.2.1) регистры содержат мгновенное значение
напряжения входного сигнала. Если мультиплексор включен (см. п.
14.2.2),
перед измерением на линиях выборки номера канала выставляется номер
канала, соответствующий адресу регистра.
В режиме 1 регистры содержат отфильтрованное значение измеренного
напряжения входного сигнала по соответствующему каналу. Сигналы
управления на мультиплексор выдаются автоматически с периодом 10
мс.
Каналы опрашиваются последовательно, начиная с нулевого. Содержимое
регистра памяти с адресом 9171 определяет количество опрашиваемых каналов:
если записано число 1, то подключается только нулевой канал мультиплексора;
если 2, то нулевой и первый; если 3 - нулевой, первый и второй; если 4 -
нулевой, первый, второй и третий. Если мультиплексор выключен,
59
НПКД.401348.001 Д1
отфильтрованное значение напряжения входного сигналя считывается из
регистра памяти с адресом 9175.
14.2.6.
Постоянная времени цифрового фильтра (R9180-R9183)
Регистры памяти с адресами от 9180 до 9183 определяют постоянную
времени цифрового фильтра по каналам от 0 до 3 соответственно. Содержимое
регистров используется только в режиме непрерывной работы АЦП.
Содержимое каждого регистра может принимать значение от 0 до 10.
Постоянная времени, в мс, рассчитывается по формуле:
10
×
N
×
2
M
, где N - число опрашиваемых каналов АЦП, от 1 до 4;
M - содержимое регистра памяти, от 0 до 10.
14.2.7.
Нефильтрованные значения напряжения (R9185-R9188)
Регистры памяти с адресами от 9185 до 9188 содержат нефильтрованные
значения напряжения входного сигнала в вольтах по каналам от 0 до 3.
Значения соответствуют последним измеренным при опросе каналов в режиме
непрерывной работы АЦП.
15. ПОРТ ПОСЛЕДОВАТЕЛЬНОГО ПЕРИФЕРИЙНОГО ИНТЕРФЕЙСА
15.1.
Описание
Порт предназначен для организации обмена данными с внешними
устройствами по последовательному периферийному интерфейсу SPI (далее -
ППИ). Приём и передача данных по порту синхронизированы с общим тактовым
сигналом, генерируемым ЭВМ. Режим работы порта - дуплексный, то есть
передача и приём данных выполняются одновременно. Для обмена данными
порт использует универсальный байтовый буфер.
Для подключения внешних устройств к порту ППИ используется разъем
ВУ
.
На разъём
выведены сигналы: SI - входной сигнал внешнего устройства,
60
НПКД.401348.001 Д1
SO - выходной сигнал внешнего устройства, SCK - тактирование внешнего
устройства и CS1 - выборка внешнего устройства.
15.2.
Режим работы ППИ
Регистр памяти с адресом 9190 устанавливает устанавливает режим
работы порта ППИ. Содержимое регистра может принимать значения от 0 до 3
и влияет на диаграмму сигналов на линиях порта во время обмена (см. рис. 3). Рис. 3. Диаграммы сигналов ППИ в зависимости от установленного
режима работы.
15.3.
Обмен данными через порт ППИ
Данные для передачи предварительно загружаются в универсальный
байтовый буфер со смещением, указанным в индексном регистре 0 (см. п. 5.2).
Для выполнения обмена в регистр памяти с адресом 9191 записывается
число передаваемых байтов. При этом сигнал CS1 устанавливается в состояние
логического 0 и данные начинают последовательно передаваться на линию
сигнала SI старшим битом вперёд. Посылка каждого бита сопровождается
синхросигналом по линии сигнала SCK. Диаграмма передачи соответствует
установленному режиму работы ППИ.
61
SCK - режим 0
CS1
SCK - режим 1
SCK - режим 2
Запись в ВУ
SCK - режим 3
Чтение из ВУ
НПКД.401348.001 Д1
Одновременно с передачей ведётся приём данных по линии сигнала SO.
Каждый принятый байт записывается в универсальный байтовый буфер на
место переданного. По окончанию передачи сигнал по линии CS1 снимается.
При чтении из регистра памяти с адресом 9191 всегда считывается
нулевое значение.
62
НПКД.401348.001 Д1
Приложение А
(справочное)
Описание шрифтов ЭВМ
1. Шрифты 0 и 1 имеют набор символов из русских и латинских букв,
цифр и знаков препинания и предназначены для вывода текстовых сообщений.
Шрифт 2 предназначен для вывода чисел и включает цифры от 0 до 9,
шестнадцатеричные цифры от A до F и набор знаков препинания.
Размер шрифта 0 по вертикали - 8 точек, шрифта 1 - 14 точек и шрифта 2
- 19 точек. Размер по горизонтали для каждого символа определяется
знакогенератором ЭВМ и приведён в табл.
А1.
Таблица А1
Значение
Символ
Размер по горизонтали, точек DEC
HEX
шрифт 0
шрифт 1
шрифт 2
0
00h
▌
3
1
01h
2
02h
3
03h
4
04h
5
05h
6
06h
7
07h
8
08h
9
09h
10
0Ah
11
0Bh
12
0Ch
13
0Dh
14
0Eh
15
0Fh
16
10h
►
3
17
11h
18
12h
19
13h
3
63
НПКД.401348.001 Д1
Продолжение таблицы А.1
Значение
Символ
Размер по горизонтали, точек DEC
HEX
шрифт 0
шрифт 1
шрифт 2
20
14h
21
15h
22
16h
23
17h
24
18h
↑
5
25
19h
↓
5
26
1Ah
→
6
27
1Bh
←
6
28
1Ch
29
1Dh
30
1Eh
31
1Fh
пробел
5
32
20h
пробел
2
8
11
33
21h
!
1
6
5
34
22h
"
3
8
8
35
23h
#
5
8
14
36
24h
$
4
8
11
37
25h
%
5
8
19
38
26h
&
6
8
16
39
27h
'
2
5
5
40
28h
(
3
6
7
41
29h
)
3
6
7
42
2Ah
*
5
8
10
43
2Bh
+
5
8
11
44
2Ch
,
3
5
7
45
2Dh
-
5
8
11
46
2Eh
.
3
5
7
47
2Fh
/
5
8
7
48
30h
0
5
8
11
64
НПКД.401348.001 Д1
Продолжение таблицы А.1
Значение
Символ
Размер по горизонтали, точек DEC
HEX
шрифт 0
шрифт 1
шрифт 2
49
31h
1
5
8
11
50
32h
2
5
8
11
51
33h
3
5
8
11
52
34h
4
5
8
11
53
35h
5
5
8
11
54
36h
6
5
8
11
55
37h
7
5
8
11
56
38h
8
5
8
11
57
39h
9
5
8
11
58
3Ah
:
3
5
4
59
3Bh
;
3
5
4
60
3Ch
<
3
8
12
61
3Dh
=
5
8
11
62
3Eh
>
3
8
12
63
3Fh
?
5
8
9
64
40h
@
5
8
65
41h
A
5
8
17
66
42h
B
5
8
17
67
43h
C
5
8
17
68
44h
D
5
8
17
69
45h
E
5
8
17
70
46h
F
5
8
17
71
47h
G
5
8
72
48h
H
5
8
73
49h
I
3
8
74
4Ah
J
5
8
75
4Bh
K
5
8
76
4Ch
L
5
8
77
4Dh
M
6
8
78
4Eh
N
5
8
65
НПКД.401348.001 Д1
Продолжение таблицы А.1
Значение
Символ
Размер по горизонтали, точек DEC
HEX
шрифт 0
шрифт 1
шрифт 2
79
4Fh
O
5
8
80
50h
P
5
8
81
51h
Q
5
8
82
52h
R
5
8
83
53h
S
5
8
84
54h
T
5
8
85
55h
U
5
8
86
56h
V
5
8
87
57h
W
5
8
88
58h
X
5
8
89
59h
Y
5
8
90
5Ah
Z
5
8
91
5Bh
[
2
6
92
5Ch
\
5
8
93
5Dh
]
2
6
94
5Eh
^
5
8
95
5Fh
_
5
8
96
60h
`
2
5
97
61h
a
4
8
98
62h
b
4
8
99
63h
c
4
8
100
64h
d
4
8
101
65h
e
4
8
102
66h
f
4
8
103
67h
g
4
8
104
68h
h
4
8
105
69h
i
2
8
106
6Ah
j
3
8
107
6Bh
k
4
8
108
6Ch
l
3
8
66
НПКД.401348.001 Д1
Продолжение таблицы А.1
Значение
Символ
Размер по горизонтали, точек DEC
HEX
шрифт 0
шрифт 1
шрифт 2
109
6Dh
m
5
8
110
6Eh
n
4
8
111
6Fh
o
4
8
112
70h
p
4
8
113
71h
q
5
8
114
72h
r
4
8
115
73h
s
4
8
116
74h
t
3
8
117
75h
u
5
8
118
76h
v
5
8
119
77h
w
5
8
120
78h
x
5
8
121
79h
y
4
8
122
7Ah
z
4
8
123
7Bh
{
3
8
124
7Ch
|
1
6
125
7Dh
}
3
8
126
7Eh
~
5
8
127
7Fh
⌂
5
8
128
80h
А
5
8
129
81h
Б
5
8
130
82h
В
5
8
131
83h
Г
5
8
132
84h
Д
6
8
133
85h
Е
5
8
134
86h
Ж
7
8
135
87h
З
5
8
136
88h
И
5
8
137
89h
Й
5
8
138
8Ah
К
5
8
67
НПКД.401348.001 Д1
Продолжение таблицы А.1
Значение
Символ
Размер по горизонтали, точек DEC
HEX
шрифт 0
шрифт 1
шрифт 2
139
8Bh
Л
5
8
140
8Ch
М
7
8
141
8Dh
Н
5
8
142
8Eh
О
5
8
143
8Fh
П
5
8
144
90h
Р
5
8
145
91h
С
5
8
146
92h
Т
5
8
147
93h
У
5
8
148
94h
Ф
7
8
149
95h
Х
6
8
150
96h
Ц
6
8
152
97h
Ч
5
8
152
98h
Ш
7
8
153
99h
Щ
8
8
154
9Ah
Ъ
6
8
155
9Bh
Ы
7
8
156
9Ch
Ь
5
8
157
9Dh
Э
5
8
158
9Eh
Ю
7
8
159
9Fh
Я
5
8
160
0A0h
а
4
8
161
0A1h
б
4
8
162
0A2h
в
4
8
163
0A3h
г
4
8
164
0A4h
д
4
8
165
0A5h
е
4
8
166
0A6h
ж
5
8
167
0A7h
з
4
8
168
0A8h
и
4
8
68
НПКД.401348.001 Д1
Продолжение таблицы А.1
Значение
Символ
Размер по горизонтали, точек DEC
HEX
шрифт 0
шрифт 1
шрифт 2
169
0A9h
й
4
8
170
0AAh
к
4
8
171
0ABh
л
4
8
172
0ACh
м
5
8
173
0ADh
н
4
8
174
0AEh
о
4
8
175
0AFh
п
4
8
176
0B0h
÷
5
177
0B1h
≥
3
178
0B2h
≠
5
179
0B3h
×
5
180
0B4h
↵
7
181
0B5h
↻
8
182
0B6h
183
0B7h
↔
9
184
0B8h
185
0B9h
π
6
186
0BAh
187
0BBh
188
0BCh
189
0BDh
2
2
190
0BEh
x
3
191
0BFh
y
3
192
0C0h
↵
8
193
0C1h
↤
7
194
0C2h
⇤
8
195
0C3h
⇥
8
196
0C4h
←
7
197
0C5h
→
7
198
0C6h
↑
6
69
НПКД.401348.001 Д1
Продолжение таблицы А.1
Значение
Символ
Размер по горизонтали, точек DEC
HEX
шрифт 0
шрифт 1
шрифт 2
199
0C7h
↓
6
200
0C8h
↖
8
201
0C9h
↘
8
202
0CAh
↔
8
203
0CBh
204
0CCh
205
0CDh
206
0CEh
207
0CFh
208
0D0h
209
0D1h
210
0D2h
211
0D3h
212
0D4h
213
0D5h
214
0D6h
215
0D7h
216
0D8h
217
0D9h
218
0DAh
219
0DBh
220
0DCh
221
0DDh
222
0DEh
223
0DFh
224
0E0h
р
4
8
225
0E1h
с
4
8
226
0E2h
т
3
8
227
0E3h
у
4
8
228
0E4h
ф
5
8
70
НПКД.401348.001 Д1
Продолжение таблицы А.1
Значение
Символ
Размер по горизонтали, точек DEC
HEX
шрифт 0
шрифт 1
шрифт 2
229
0E5h
х
5
8
230
0E6h
ц
5
8
231
0E7h
ч
4
8
232
0E8h
ш
5
8
233
0E9h
щ
6
8
234
0EAh
ъ
5
8
235
0EBh
ы
6
8
236
0ECh
ь
4
8
237
0EDh
э
4
8
238
0EEh
ю
6
8
239
0EFh
я
5
8
240
0F0h
Ё
5
8
241
0F1h
ё
5
8
242
0F2h
243
0F3h
244
0F4h
245
0F5h
246
0F6h
247
0F7h
248
0F8h
249
0F9h
250
0FAh
251
0FBh
√
7
252
0FCh
253
0FDh
254
0FEh
255
0FFh
71
НПКД.401348.001 Д1
2. Шрифт 254 является загружаемым из памяти программ. Структура
загружаемого шрифта приведена в табл.
А2.
Таблица А.2
Структура загружаемого шрифта
Смещение, байт
Размер, байт
Описание
0
1
Размер изображения символов шрифта по
вертикали в точках
Таблица кодов символов, n - количество символов в таблице
...
4m+1
1
Код символа в таблице знакогенератора от
0 до 254 (m - номер символа в таблице,
число от 0 до n-1)
4m+2
1
Размер изображения символа по
горизонтали в точках
4m+3
2
Смещение графического образа символа
относительно начала структуры
...
4n+1
1
Код 0FFh - окончание таблицы
Таблица графических образов
4n+2
зависит от
размеров
изображений
символов
Для каждого символа шрифта -
последовательность байт графического
образа по столбцам сверху-вниз слева-
направо. Последовательность аналогична
выводимой через регистры функций 9015,
9016 (см. пп. 2.3.12, 2.3.13).
72
НПКД.401348.001 Д1
Приложение Б
(справочное)
Коды кнопок клавиатуры
Клавиша
Код
Клавиша
Код
0
0
F
20
1
1
K
21
2
2
P
22
3
3
ШГ вправо
23
4
4
ШГ влево
24
5
5
В/О
25
6
6
С/П
26
7
7
ИП
27
8
8
П
28
9
9
БП
29
,
10
ПП
30
/-/
11
Р-ГРД-Г
31
ВП
12
Выход
32
Cx
13
Ввод
33
B
↑
14
→
34
+
15
←
35
-
16
↑
36
×
17
↓
37
÷
18
↔
19
73
Автор
maxterminal
Документ
Категория
Компьютеры
Просмотров
170
Размер файла
1 494 Кб
Теги
ЭКВМ ПМК программирование ЯМК
1/--страниц
Пожаловаться на содержимое документа