[an error occurred while processing this directive]
III.3

            НУЛЕВАЯ СТРАНИЦА ПАМЯТИ ЭВМ "АГАТ-9"
             (в среде DOS 3.3 и BASIC-AGAT 9.1)


-------------------------------------------------------------
ячейки         содержимое ячейки и его           управляющая
0-ой страницы  значение                          среда
-------------------------------------------------------------

.ин2;       *1
.ин0
¤00-¤02        Kоманда перехода к языку          (BASIC)  
               в BASIC-APPLESOFT (JMP ¤E003)
               (в BASIC-AGAT 9.1 ошибка)

.ин2;       *2
.ин0
¤03-¤05        Kоманда перехода к языку          (BASIC)
               (назначение не известно).

.ин2;       *2
.ин0
¤0A-¤0C        Kоманда перехода для директивы    (BASIC)
               BASICа "USR". По умолчанию
               установлен JMP ¤E1AC (выдать
               "ошибочное значение").
¤0A            код команды JMP (¤4C)
¤0B-¤0C        адрес кодовой подпрограммы

.ин2;       *3
.ин0
¤0D-¤17        Флаги и счетчики общего назна-    (BASIC)
               чения. Используются при интер-
               претации программы.
¤11            Флаг типа переменной:
               (<¤80- число)
               (>¤80- строка)
¤12            Флаг подтипа переменной:
               (<¤80-целое число)
               (>¤80-вещественное)

.ин2;   *4
.ин0
¤19            Биты D7-D3 содержат старший       (MONITOR)
               байт активной текстовой страницы.          
               (остальные биты не используются)

.ин2;       *4
.ин0
¤20-¤23        Содержат величины, обуславливаю-  (MONITOR)
               щии размеры активного текстового
               окна.
¤20            левая граница окна (¤00-¤3F)
¤21            правая             (¤00-¤40)
¤22            верхняя            (¤00-¤1F)
¤23            нижняя             (¤00-¤20)

.ин2;   *4
.ин0
¤24            Горизонтальная позиция курсора    (MONITOR)
               (¤00-¤3F)                         (BASIC)

.ин2;   *4
.ин0
¤25            Вертикальная позиция курсора      (MONITOR)
               (¤00-¤1F)

.ин2;       *4
.ин0
¤28-¤29        Адрес первого байта текстовой     (MONITOR)
               строки, на которой стоит курсор.

¤2D            Знак, выдаваемый в качестве       (MONITOR)
               курсора. Обычно прочерк (¤DE).    (BASIC)
.сс
-------------------------------------------------------------
ячейки         содержимое ячейки и его           управляющая
0-ой страницы  значение                          среда
-------------------------------------------------------------

.ин2;   *5
.ин0
¤30            Цвет отображаемого пикселла для   (BASIC)
               графических режимов в особом
               формате. Устанавливается опера-
               тором "COLOR="

.ин2;   *4
.ин0
¤32            Цвет символа, выводимого на экран (MONITOR
               в формате ДК.                     (BASIC)

.ин2;   *3
.ин0
¤33            Знак приглашения.
               MONITOR  (¤AA "*")                (MONITOR)
               BASIC    (¤5D "}")                (BASIC)
               DOS 3.3  (¤00 или ¤5D)            (DOS)

.ин2;       *6
.ин0
¤36-¤37        Адрес подрограммы системного
               вывода. Устанавливается главной
               активной средой. Обычно DOS.
               (¤474)-если DOS не активна        (BASIC)
               (¤488)-если DOS активна           (DOS)

.ин2;       *6
.ин0
¤38-¤39        Адрес подпрограммы системного
               ввода. Устанавливается аналогично.
               (¤477)-если DOS не активна        (BASIC)
               (¤48E)-если DOS активна           (DOS)

.ин2;       *3
.ин0
¤42-¤43        Адрес свободного буфера файла     (DOS)
               в банке D.

.ин2;       *1
.ин0
¤45-¤49        служебный ячейки подпрограмм      (MONITOR)
               IOSAVE (¤FF4B) и IOREST (¤FF40)   (DOS)
               Монитора. Хранят соответственно:
¤45            регистр A
¤46                    X
¤47                    Y
¤48                    P (обнуляется DOS)
¤49                    S

.ин2;       *1
.ин0
¤4E-¤4F        Счетчики цикла в подпрограмме     (MONITOR)
               KEYIN Монитора. Используются
               для задержки при мигании курсора

.ин2;       *3
.ин0
¤50-¤61        Указатели общего значения для       (BASIC)
               интерпретатора BASIC.

.ин2;       *3
.ин0
¤62-¤66        Результаты последней операции       (BASIC)
               умножения или деления в формате
               с плавающей запятой.

.ин2;   *3
.ин0
¤66            Имеет значение для процедуры        (BASIC)
               смены адреса начала программы
               пользователя (при этом ¤66=¤00)
.сс
-------------------------------------------------------------
ячейки         содержимое ячейки и его           управляющая
0-ой страницы  значение                          среда
-------------------------------------------------------------

¤67-¤68        Адрес начала программы.             (BASIC)
               (по умолчанию ¤1901)

¤69-¤6A        Адрес начала области хранения       (BASIC)
               простых переменных. Устанавли-
               вается директивой "LOMEM:" BASICа.

¤6B-¤6C        Адрес начала области хранения       (BASIC)
               переменных-массивов.

¤6D-¤6E        Адрес конца используемого массива   (BASIC)
               чисел.

¤6F-¤70        Адрес начала области хранения       (BASIC)
               текстовых переменных. Эта область
               распространяется от указанного
               значения до ¤C000 (начала адресов
               ввода/вывода).

.ин2;       *3
.ин0
¤71-¤72        Указатель общего назначения.        (BASIC)

¤73-¤74        Адрес "конца OZU" для BASICа.       (BASIC)
               Устанавливается "HIMEM:"

¤75-¤76        Номер выполняемой в данное время    (BASIC)
               строки программы.

¤77-¤78        "Старый номер строки". Устанавли-   (BASIC)
               вается при нажатии клавиши "f=" или
               выполнении команд "STOP" и "END".
               Равен номеру строки в которой про-
               изошло прерывание программы.

¤79-¤7A        "Указатель старого текста".         (BASIC)
               Содержит адрес ячейки на 1 меньше
               той, в которой содержится следующий
               выполняемый оператор программы.

¤7B-¤7C        Текущий номер строки, в котором     (BASIC)
               содержатся те введенные оператором
               "DATA" данные, считывание которых
               происходит в данное время оператором
               "READ".

¤7D-¤7E        Указывает абсолютный номер ячейки   (BASIC)
               OZU, начиная с которой произво-
               дится считывание данных оператором
               "READ".

¤7F-¤80        Указатель используемого в данное    (BASIC)
               время источника данных для
               оператора "INPUT". При выполнении
               команды "READ" указывает на тот
               оператор "DATA", с которого про-
               изводится считывание данных.
.сс
-------------------------------------------------------------
ячейки         содержимое ячейки и его           управляющая
0-ой страницы  значение                          среда
-------------------------------------------------------------

.ин2;       *3
.ин0
¤81-¤82        Содержит имя последней из исполь-   (BASIC)
               зовавшихся переменных.

.ин2;       *3
.ин0
¤83-¤84        Адрес указателя к значению пос-     (BASIC)
               ледней из использовавшихся пере-
               менных.

.ин2;       *3
.ин0
¤85-¤9C        Ячейки общего назначения            (BASIC)
¤8B            ¤03   (значение не известно)
¤90-¤92        Переход на подпрограмму.
               (¤90 содержит код JMP (¤4C))
               Используется директивой "PEEK".

.ин2;       *1
.ин0
¤9D-¤A3        Главный накапливающий сумматор      (BASIC)
               для чисел в формате с плавающей
               запятой.
¤9D            показатель степени
¤9E-¤A1        мантисса
¤A2            служебная ячейка (содержит ¤9D-#¤80)
¤A3            знак числа (¤00-"+",¤FF-"-")

.ин2;   *1
.ин0
¤A4            Ячейка общего назначения для под-   (BASIC)
               программ интерпретатора, выполняю-
               щих математические операции с числами
               представленными в формате с плавающей
               запятой.

.ин2;       *1
.ин0
¤A5-¤AB        Дополнительный сумматор для чисел.  (BASIC)
               Формат как у главного сумматора.

.ин2;       *3
.ин0
¤AC-¤AE        Указатели и флаги общего значения.  (BASIC)

¤AF-¤B0        Адрес конца программы пользователя. (BASIC)
               (не меняется при выполнении дирек-
               тивы "LOMEM")

.ин2;       *6
.ин0
¤B1-¤C8        Программа "CHRGET" (взять символ).  (BASIC)
               BASIC вызывает ее каждый раз,
               когда ему требуется другой символ.
.ин2;                            *2
.ин0
¤B8-¤B9        Указатель последнего символа, полу-
               ченного при помощи "CHRGET".

.ин2;       *3
.ин0
¤C9-¤CA        "Случайное число". Используется     (BASIC)
               функцией BASICа "RND (X)".

.ин2;       *5
.ин0
¤D0-¤D5        Данные, необходимые для отобра-     (BASIC)
               жения на экране дисплея графи-
               ческой информации.
¤D0            Указатель графического режима       (MONITOR)

.ин2;       *2
.ин0
¤D8-¤DF        Данные, устанавливаемые програм-    (BASIC)
               мой обработки ошибок при включе-
               нии в программу оператора "ONERR
               GOTO".
.сс
-------------------------------------------------------------
ячейки         содержимое ячейки и его           управляющая
0-ой страницы  значение                          среда
-------------------------------------------------------------

¤D8            Флаг команды "ONERR GOTO";
               устанавливается, если оператор
               найден в тексте программы:
               (<¤80 - не включен)
               (>¤80 - включен)
¤DA-¤DB        Номер строки программы, в кото-
               рой произошла ошибка.
¤DC-¤DD        Содержит адрес меньший на 1 адреса
               ячейки, в которой содержится опера-
               тор, при попытке выполнения которого
               произошла ошибка. Используется опера-
               тором BASICа "RESUME".
¤DE            Код ошибки.
¤DF            Содержит указатель регистра S (для
               возвращения по "RESUME").

.ин2;   *3
.ин0
¤E4            Цвет установленный для графичес-    (BASIC)
               кого режима.

.ин2;       *5
.ин0
¤E5-¤E7        Данные, необходимые при отображе-   (BASIC)
               нии графических изображений
¤E7            Значение масштаба воспроизведения
               образов. Устанавливается директивой
               "SCALE".

.ин2;   *6
.ин0
¤E8            Указатель подключенных банков       (DOS)
               к сегментам 4 и 5.                  (MONITOR)
               Должен хранить байт ¤44, показы-
               вающий, что к сегменту 4 подключен

.ин2;   *6
.ин0;          4 банк, а к сегменту 5 - ¤44+¤10 (5-ый).
¤E9            Указатель подключенных банков
               к сегментам 6 и 7 (аналогично).

.ин2;       *5
.ин0
¤E8-¤E9        Адрес начала таблицы форм линий     (BASIC)
               (образов).

.ин2;   *3
.ин0
¤EA            Счетчик коллизий при отображении    (BASIC)
               на экране дисплея графики высокого
               разрешения.

.ин2;       *2
.ин0
¤F0-¤F3        Служебные флаги.                    (BASIC)
¤F1            Значение скорости вывода информа-
               ции в обратном коде. Устанавли-
               вается директивой "SPEED".
¤F2            Флаг включения отладки программы.
               Устанавливается директивами BASICа
               "TRACE" (>¤80) и "NOTRACE" (<¤80).

.ин2;       *2
.ин0
¤F4-¤F8        Указатели для оператора "ONERR       (BASIC)
               GOTO"

.ин2;   *3
.ин0
¤FF            Специальный указатель для запуска    (DOS)
               программы.                           (BASIC)

.сс

(*) ПРИМЕЧАНИЯ:
---------------

1-Ячейки можно использовать.
2-Изменение содержимого ячеек ведет или может привести к 
  нарушению правильности выполнения некоторых операторов 
  интерпретатора или системы в целом.
3-Назначение ячеек до конца не известно. Вероятно можно
  использовать.
4-Изменения содержимого приведет к нарушению правильности
  отображения информации в текстовых режимах.
5-Изменение содержимого приведет к нарушению отображения
  графической информации.
6-Изменение данных приведет к отключению интерпретатора и
  DOS.

! Многие ячейки ZERO PAGE не указаны в таблице. Это означает, что либо их функции не вполне ясны, либо что они имеют множественное значение и используются различными системами (то есть состояние их не важно и каждый раз переустанавливается заново). Для более полного изучения ZERO PAGE в среде BASIC-DOS рекомендуется обратиться к исходным текстам этих программ.

.ст Раздел III:4

[an error occurred while processing this directive]