Операционная система Спектрума 1993 г.

Глава 4 - системные переменные.


ГЛАВА 4
СИСТЕМНЫЕ ПЕРЕМЕННЫЕ

Интерпретатор БЕЙСИКа должен запоминать то;:чтош собира-
ется делать. Он находится в ПЗУ, но должен использовать;®!ЗУ; для
размещения информации. Т.к. ПЗУ неизменно, адреса сиСтёмных
переменных предварительно должны быть определены так-;чтобы
быть доступными в одном и том же месте. В СПЕКТРУ Me это: дости-
гается как фиксацией их адресов в определеннойо&дастипамяти, так
и индексацией их относительно регистра "IY", всегда показывающего
адрес 5C3Ah (ERRNR).

СИСТЕМНЫЕ ПЕРЕМЕННЫЕ^К ;!;-

□ KSTATE
□ адреса 23552 - 23559 (5C00h - 5CQ7h)

Эти адреса используются при считывании с клавиатуры. Их мож-
но разбить на два множества из четырёх ^одинаковых в использова-
нии. То, какое множество используется в данный момент зависит от
состояния другого.

В первой позЩйй: каждого множества; располагается значение
"CAPS SHIFT" нажатого;ключа или 255 (FFh), если ключ не был
нажат, сигнализируя о тбм^ что множество свободно для использова-
ния. Второй байт - счетчик, уменьшающий значение на 1 при каждом
освобождении множества. Он первоначально установлен в 5. Но если
множество свободно, то в 0. Задержка: для повтора при длительном
нажатии здесь в третьем байте, первоначально загруженном из
"REPPER". ASCII код нажатого ключа находится в последней пози-
ции множества до тех пор,: «ока второй байт не придет в 0 (множество
свободно). Чтобы разъяснить это, я покажу программу, использую-
щую эти переменные. Если ключ нажат, то сканирующая подпрог-
рамма смотрит, свободно ли первое множество, и если да, то исполь-
зуется оно*иначе проверяется второе. В свободном множестве "CAPS
SHIFT" код нЩатргр ключа помещается в первую ячейку, вторая
ячейка устанавливайся;; в 5; а в третью загружают задержку для
повтора "REPDEL". Код нажатого ключа декодируется в ASCII, по-
мещается в последнюю ячейку и копируется в "LAST К". Бит 5
"FLAGS" активизируется,:сигнализируя, что был нажат новый ключ
и происходит возврат к вызывающей программе. Если оба множества
заняты, число во втором байте каждого множества декрементируется
и производится возврат к вызывающей программе.

Как только один из счетчиков достигает 0, код нажатого ключа
запоминается и производится сравнение кодов ключей двух мно-
жеств. Их совпадение означает, что ключ все еще нажат, и программа
разрешает автоповтор. Не путайте эту программу с процедурой раз-
деления ключей. Задержка для повтора содержится в третьем байте
и первоначальна загружается из "REPDEL". По истечении времени
до первого повтора (до повтора программа вызывается столько раз,
сколько позволяет счетчик задержки см. выше) и не нарушенном
равенстве кодов в множествах, третий байт загружается из системной
переменной "REPPER". Код вновь помещается в системную перемен-
ную "LAST К", бит 5 "FLAGS" активизируется и происходит возврат
к вызывающей программе. При последующих вызовах программы
сканирования клавиатуры процесс повторяется, но с более короткой
задержкой из "REPPER", т.к. коды больше не совпадают. Если нажа-
ли другую клавишу, то выполнение произойдет, как если бы множе-
ство было свободно.

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

□ LAST К: адрес 23560 IY - 50 (5С08И)

Содержит код последней нажатой клавиши.

□ REPDEL: адрес 23561 IY - 49 (5С09И)

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

□ REPPER: адрес 23562 IY - 48 (5С0АИ)

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

□ DEFADD: адреса 23563/4 IY - 47 (5С0В/СИ)

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

□ К DATA: адрес 23565 IY - 45 (5C0Dh)

Используется для временного размещения информации о цвете
при вводе параметров цвета (т.е. второй байт - номер цвета после "Е"
курсора).

□ TVDATA: адреса 23566/7 IY - 44 (5C0E/Fh)

Аналогична предыдущей, но используется для вывода (применя-
ется также с "AT" и "TAB", поэтому в двух ?

□ STRMS: адреса 23568 - 23605 IY » 42 (5C1;0N ~
5C35h)

Содержит адреса каналов, связанных с потоками. Изначально
потоки от -3 до 3 в первых 14 байтах. ИнформацШГр внешних лЬтоках
(вплоть до 19) дополняется по мере их открывания;в ;ео0тйётствую-
щем месте.

□ CHARS: адреса 23606/7 IY4 :

Содержит адрес теоретического старта таблицы литер. Для каж-
дой литеры резервируется 8 байт. Он;на 256 меньше,; чем его место-
положение в памяти, т.к. все литеры;адресуются относительно этой
ячейки умножением их ASCII кода на вбсёмБ^; ASCII коды 0-31 непе-
чатаемые, поэтому обрабатываются не этой таёяицей. Последний
интерпретируемый ASCII код 127 (7Fh), но СПЕКТРУМ использует
оставшиеся 128 значений полногФДиапазона восьми бит для симво-
лов-слов. Они обрабатываютсяотдёльйй;й; не затрагивают таблицу
литер.

-М-

iiiiih

□ RASP: аДрас 23608 IY - 2 ;(5C38h)

Содержит продолжительность звука^тёнерируемого при печати
ниже 22 строки или выходе;за;пределы доступной памяти.

□ PIP: адрес 23609 IY - 1 (5С39И)

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

U ERR NR: адрес 23610 1Y + О (5СЗАИ)

Содержит число, на единицу меньшее, чем код сообщения, гене-
рируемьщ;при; ошибке. Может быть использована для ваших собст-
венных сообщений; или применения стандартных сообщений для ва-
ших нужд (см. главу;2):.;:;::

□ FLAGS: адрес 23611 IY + 1 (5СЗВИ)

Бит 0 установлен при отмене пробела перед выводимым символом
или если пробел непосредственно предшествовал символу.
Бит сброшен, если пробел должен быть напечатан.

Бит 1 установлен, если поток 3 (обычно принтер) должен исполь-
зовать подпрограммой RST 16, и сброшен для потока 2
(обычно основной экран).

Бит 2 установлен, если печать производится в режиме "L". Сбро-
шен в режиме «К».

Бит 3 установлен, сигнализируя при ожидании ввода о режиме
"L", сброшен при режиме «К».

Бит 5 установлен, если после последнего сброса был введен новый
ключ (см. «Сканирование клавиатуры» в главе 2 и коммен-
тарии к системной переменной "KSTATE").

Бит 6 определяет тип выражения. Установлен для численного и
сброшен для строкового, используется интерпретатором
БЕЙСИКа.

Бит 7 сброшен при проверке интерпретатором БЕЙСИКа синтак-
сиса вводимой строки и установлен при выполнении про-
граммы.

□ TV FLAG: адрес 23612 IY + 2 (5C3Ch)

Бит 0 установлен, если контролируется нижний экран, сброшен
- основной.

Бит 3 сигнализирует, что текущий режим мог изменится и нуж-
дается в проверке.

Бит 4 активен, если печатается листинг, в противном случае
сброшен.

Бит 5 сигнализирует, что нужно очистить нижний экран (напри-
мер когда ожидается печать сообщения).

□ ERRSP: адреса 23613/4 IY + 3 (5C3D/Eh)

В этих ячейках содержится адрес на машинном сте^е, к которому
осуществится возврат при ошибке выполнения команды БЕЙСИКа.
Он часто меняется БЕЙСИКом и при ошибке берется рестартом. Его
можно заменить машинным кодом и при ошибке сделать переход в
вашу собственную программу, как показано в программе "DEBASE"
(приложение G, раздел "SAVE/LOAD" МИКРОДРАЙВа). При
ошибке переменная должна быть сброшена. Ошибка удаляется, если
"ERR NR" содержит 255 (FFh). Заметьте, что сообщение "О ОК"
считается ошибкой.

□ LIST SP: адреса 23615/6 IY + 5 (5C3F/40h)

"LIST SP" используется для сохранения значения указателя стека
с тем, чтобы стек мог быть восстановлен по окшаднии листинга. Это
необходимо, т.к. листинг мог быть прекращен в рэ&Жчвых местах, с
различными величинами на машинном стеке (нэдрйШрйутем "N" в
ответ на "SCROLL?").

□ MODE: адрес 23617 IY + 7 (5C41N)

Ей определяется курсор, используемый при вводе;;Влияет лишь
на первый нажатый ключ. Исключение - переход к инициализации
графического режима. Однако может бы!гь;зкшезна при получении
различных курсоров для ввода (например еаш;вы;сделаете "РОКЕ
MODE,32", вы получите ввод мерцающей графики) |;;Можете поэкс-
периментировать, т.к. система не испортится.

□ NEWPPC: адреса 23618/9 IY + 8 <SG42/3h)

Содержит номер БЕЙСИК-строки следующего интерпретируе-
мого оператора.

□ NSPPS: адрес 23620 IY +10 (5C44h)

Номер стгедующеш интерпретирушош оператора в БЕЙСИК-
строке. Запись в ячейкиНомера строки й номера оператора повлечет
за собой переход к указанной; точке программы при выполнении.

11 (5С45/6И)

□ РРС: адреса 23621/2 IY +;

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

ШЗ ёЩ^РС; адрес 23623 IY + 13 (5С47И)

Содержит номер: обрабатываемого оператора.

□ BORDCR: адрес 23624 IY + 14 (5С48И)

Содержит значение цвета бордюра умноженное на восемь и атри-
буты для нижнего экрана. Битами 7 и 6 можно сделать нижний экран
мерцающим или подсвеченным.

□ ЕРРС: адреса 23625/6 IY + 15 (5С49/АИ)

"ЕРРС" содержит номер текущей строки (т.е. отмеченной курсо-
ром, она будет переведена в область редактора, адресуясь из "Е LINE"
при вводе команды "EDIT".

□ VARS: адреса 23627/8 IY + 17 (5С4В/СИ)

Содержит адрес начала области переменных. Используя вместе с
"Е LINE" можно рассчитать полную длину переменных БЕЙСИК-
программы.

□ DEST: адреса 23629/30 IY + 19 (5C4D/Eh)

Содержит адрес первой буквы имени используемой в данное вре-
мя переменной. Если будет использоваться новая переменная, то 80h
загружается непосредственно до того, как в "Е LINE" помещается
адрес начала новой переменной.

□ CHANS: адреса 23631/2 IY + 21 (5C4F/50h)

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

□ CURCHL: адреса 23633/4 IY + 23 (5С51/2И)

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

□ PROG: адреса 23635/6 IY + 25 (5С53/4И)

Адрес начала области БЕЙСИК-программы. Является следую-
щим байтом после области информации о каналах или любых исполь-
зуемых интерфейсом 1 буферов ввода-вывода.

□ NXTLIN: адреса 23637/8 IY + 27 (5С55/6И)

Содержит адрес начала следующей БЕЙСИК-строки в програм-
ме.

□ DATADD: адрес 23639/40А IY + 29 (5С57/8И)

Адрес конца последнего использованного пункта данных, или
начала строки, даваемой командой "RESTORE" или следующей по-
сле нее, если команды не было. Это сохраняет порядок, в котором
используются элементы данных и, если данных после этой точки нет,
то генерируется ошибка "OUT OF DATA".

□ Е LINE: адреса 23641/2 IY + 31 (5С59/АИ)

"Е LINE" - адрес начала редактируемой области, начало любой
строки в области редактора.

□ К CUR: адреса 23643/4 IY + 33 ($C5B/Ch)

Содержит адрес курсора в текущей строке. Используется при
редактировании или написании новой строки в области редактора.

□ СН ADD: адреса 23645/6 IY + 35 (5C5D/EH)

Содержит адрес следующей команды при: интерпретации БЕЙ-
СИКОМ (все числа помечаются "CHRS:;i:4"й^опуёкаются).

□ X PTR: адреса 23647/8 IYШ37 (5C5F/60h)

Эти ячейки содержат адрес места,' гд ё;Hajry щен синтаксис БЕЙ-
СИКа при вводе новой строки программы, отмеченного "?". Исполь-
зуется также интерпретатором для временного размещения инфор-
мации.

□ WORKSP: адреса 23649/50 IY f 39 (5С61/2И)

Адрес текущей рабочей области, первый байт свободной области,
создаваемый вызовом; "CALL 5717 (1655Щ'; подпрограммы "МАКЕ
ВС SPACE" см. главу 5;;раздел «Стандартные потоки»).

□ STKBOT: адреса 23651/2 JY + 41 (6С63/4И)

Адрес начала стека;калькулятора.; Подробнее разъяснено в главе

8. ,:;;;;;;;;;;;,

□ STKEND: адреса 23653/4 IY + 43 (5С65/6И)

Адрес вершины (конец) стека калькулятора. Опять-таки подроб-
нее ш;к главе S,

□ BREG: аДЩ 23655 IY + 45 (5С67И)

Регистр «В» для использования калькулятором (см. главу 8).

□ MEM: адреса 23656/7 IY + 46 (5С68/9И)

Содержит адрес области памяти калькулятора (см. главу 8).

□ FLAGS2: адрес 23658 IY + 48 (5C6Ah)

Бит 0 установлен, если надо очищать основной экран при распо-
ложении строки в основной области.

Бит 1 активен, если буфер принтера использовался программой
16К ПЗУ и сброшен после очистки буфера программой
"CLEARING PRINTER BUFFER", описанной в главе 2.

Бит 2 установлен, если экран чист.

Бит 3 установлен после использования "CAPS LOCK".

Бит 4 установлен, если используется канал «К».

□ DF SZ: адрес 23659 IY + 49 (5C6Bh)

Количество строк в нижнем экране. Возможен сбой системы
БЕЙСИКа если это число меньше трех, т.к. всегда оставляется одна
резервная строка между основным экраном и любыми сообщениями
в нижнем. Если для сообщений места нет, то интерпретатор перево-
дит для них строки вверх.

□ S ТОР: адреса 23660/1 IY + 50 (5C6C/Dh)

Номер первой строки программы, выводимой по команде БЕЙ-
СИКа "LIST".

□ OLDPPC: адреса 23662/3 IY + 52 (5C6E/Fh)

Содержит номер строки следующей за той, при исполнении кото-
рой были выполнены команды "BREAK" или "STOP" (т.е. строки,
интерпретированной после ввода команды "CONTINUE").

□ OSPPC: адрес 23664 IY + 54 (5С70И)

То же, что и предыдущее, но указывает номер оператора в строке.

□ FLAGX: адрес 23665 IY + 55 (5С71И)

Системная переменная "FLAGX" - грубый эквивалент "FLAGS"
(адрес 23611 (5СЗВЮ. Используется интерпретатором при выполне-
нии команд "INPUT" вместо нее.

Бит 1 установлен, если интерпретатор БЕЙСИКа работает с но-
вой переменной.

Бит 5 установлен, когда 16К ПЗУ работает в режиме ввода и
сброшен в режиме редактирования.

Бит 6 установлен при обработке строки.

Бит 7 установлен, если интерпретатор БЕЙСИКа работает с ко-
мандой "INPUT LINE".

11111111111111

□ STRLEN: адреса 23666/7 IY + 56 (5С72/Щ

Содержит либо длину используемой в данный момент существу-
ющей строковой переменной, либо букву численной или новой стро-
ковой переменной в младшем байте (в формеди

одисаннои в разделе

выполнение команд "SAVE" и "LOAD", см. главу;;2):,

□ TADDR: адреса 23668/9 IY + 58 (5C74/5h)

Обычно содержит адрес следующего;элемента;в;таблидах синтак-
сиса, размещенных в основной ПЗУ начиная с 6782 <;Ш48Ю. Однако
используется также и для других целей
ми.

некоторыми подпрограмма-

□ SEED: адреса 23670/1 IY + 60 (5С76/7И)

Является началом случайного; числа. Если команда
"RANDOMIZE" не имеет числа, то берётся из;двух младших байтов
"FRAMES", в противном случае из числа в кшанде "RANDOMIZE".

□ FRAMES: aApeca 23672 - 23674 IY + 62 (5C78h -
5C7Ah)

По этому адресу содержится трёхбайтовый счетчик системы. Ус-
тановлен в 0 при первом подключении;СПЕКТРУМа и инкременти-
руемый при каждом: вызове обычной программы прерываний. По-
следний значимый байт счетчика 23672 (5С78Ю.

□ UDG: адреса 23675/6 IY + 65 (5С7В/СИ) (User
.;; Defined Graphics)

Адрес начала;определенной пользователем графики.

□ COORDS: адреса 23677/8 IY + 67 (5C7D/Eh)

"COORDS" задают координаты X и Y последней выведенной точ-
ки. Может быть использована для определения стартовой позиции
при выполнении команд "DRAW" и "CIRCLE" без команды "PLOT";
X - горизонталь - в 23677 (5C7Dh).

□ Р POSN: адрес 23679 IY + 69 (5C7Fh)

Содержит номер колонки следующей позиции, используемой бу-
фером принтера (такая же как и "S POSN": адреса 23688/9 IY + 78
(5С88/ 9Ю описанная ниже, но для принтера).

□ PR СС: адрес 23680 IY + 70 (5С80И)

Это младший байт используемого в данный момент адреса буфера
принтера. Идентична "DF СС: адреса 23684/5 IY + 48 (5С84/5Ю" и
для буфера принтера может быть смещена изменением так называе-
мого неиспользованного байта, описанного ниже, который на самом
деле является старшим байтом системной переменной "PR СС". К
сожалению он сбрасывается по окончании печати каждой строки,
чтобы указать начальный адрес. Поэтому необходима осторожность,
если он перемещался.

□ NOT USED: адрес 23681 IY + 71 (5C81h)

Обычно не используется, если буфер принтера на обычном месте
(см. "PR СС"). Может быть использована, но только как указано
выше.

□ ECHO Е: адреса 23682/3 IY + 72 (5С82/ЗИ)

Как и "S POSN" это колонка и номер строки для следующей
позиции печати, но для буфера ввода. Используется при вводе строки
на БЕЙСИКе.

□ DF СС: адреса 23684/5 IY + 74 (5С84/5И)

Содержит адрес верхней линии пикселей следующей позиции
печати. "DF QC" может быть использована для изменения позиции
обычных печатаемых символов путем перевода на одну строку вниз,
но это может привести к неожиданным последствиям, т.к. программа
RST 16 (10h) просто прибавляет 256 (100Ю к каждой последующей
строке печатаемого элемента. «СХЕМА ЭКРАНА СПЕКТРУМА» в
приложении может быть использована для просмотра результатов
перевода вниз более чем на одну строку пикселей.

□ DFCCL: адреса 23686/7 IY + 76 (5С86/7И)

Это тоже самое, что и предыдущее, но для нижней строки экрана.

□ S POSN: адреса 23688/9 IY + 78 (5fc88/9h)

Ячейки содержат номера колонки и строки следующей позиции
печати в основном экране и устанавлиМЩся^йу^ем "CALL 3545
(DD9h)". Эта подпрограмма детально описана в; главе.:? (33 - левая
колонка, 24 - верхняя строка).

□ SPOSNL: адреса 23690/1 IY + 80 (5C8A/Bh)

Как и "S POSN", эти ячейки содержат номера;колонки и строки,
но для нижнего экрана.

□ SCR СТ: адрес 23692 IY + 82

Содержит число на единицу большее, чем число переводов экрана
без запроса "SCROLL?". Это число должно всегда бытьболыпе 0, т.к.
программа в машинных кодах может; вылететь, если при запросе
получит отрицательный ответ.

□ ATTR Р: адрес 23693ЖЛ 83 (5C8Dh)

Содержит атрибуты для любой ;;печати на экран ("PRINT",
"DRAW", "PLOT" и т.д.). Устанавливается;операторами управления
цветом БЕЙСИКа и может быть загружена;;йз программы в машин-
ных кодах. В этом случае все последующие цвета будут изменены.

□ MASK Р: адрес 23694 IY + 84 (5С8ЕИ)

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

□ ATTR Т: ад^ёс 23695 IY + 85 (5C8Fh)

Задает временные атрибуты: для установки цвета элемента, вы-
водимого 'командойRST 16 (10h).

□ MASK Т: адрес 23696 IY + 86 (5С90И)

Используется в качестве маски для разделения между элемента-
ми с заранее определенными цветами и элементами, взятыми из
"ATTR Т". Для любого бита, установленного в 1, бит атрибута будет
взят из атрибутов экрана для текущей позиции, в противном случае
- из "ATTR Т".

□ Р FLAG: адрес 23697 IY + 87 (5С91И)

Это флаг, используемый для разделения параметров печати для
любого вывода на экран через ПЗУ. Четные биты - временные биты,
в то время как нечетные - постоянные, каждый относится к одному
элементу.

Бит О/1 установлен, если должна использоваться "OVER 1".

Бит 2/3 установлен, если должна использоваться "INVERSE".

Бит 4/5 установлен, если должна использоваться "INK 9".

Бит 6/7 установлен, если должна использоваться "PAPER 9".

□ МЕМВОТ: адреса 23698 - 23727 IY + 88 (5С92И -
5CAFh)

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

Ячейки 23728/9 IY + 118 (5СВ0/1Ю не используются.

□ RAMTOP: адреса 23730/1 IY + 120 (5СВ2/ЗИ)

Основное использование этого адреса, содержащего адрес послед-
него байта области БЕЙСИКа, состоит в гарантировании того, что
стек калькулятора имеет достаточный объем (см. главу 8). Адрес
устанавливается БЕЙСИКовой командой стирания числа, которая
также инициирует машинный стек с этого адреса.

□ P-RAMT: адреса 23732/3 IY + 122 (5CB4/5h)

Содержит адрес последнего байта физической ОЗУ.

Далее следуют системные переменные 8К ПЗУ, которые можно
использовать только после установки в компьютер интерфейса МИК-
РОДРАЙВа.

СИСТЕМНЫЕ ПЕРЕМЕННЫЕ 8К

FLAGS3: адрес 23734 IY + 124 (5СВ6Ю

Бит 0 установлен, если выполняется расширенная команда.

Бит 1 установлен, если выполняется команда "CLEAR#".

Бит 2 установлен, если системная переменная "ERR SP" была
изменена 8К ПЗУ.

Бит 3 установлен, для подпрограмм "NETWORK".

Бит 4 установлен, для подпрограмм "LOAD" 8К ПЗУ.

Бит 5 установлен, для подпрограмм "SAVE" 8К ПЗУ.
Бит 6 установлен, для подпрограмм "MERGE" 8К ПЗУ.
Бит 7 установлен, для подпрограмм "VERI^^'iSK ПЗУ.

□ VECTOR: адреса 23735/6 IY + 125 (5СВ7/8Н)

Содержит адрес, по которому будет сделан переход, если обнару-
жится ошибка в синтаксисе интерпретаторами :1;6К и 8К ПЗУ; Обыч-
но установлена в 496 (lFOh) - это ошибка 16К Но. может быть
изменена для указания программ, проверяющих сшйаксйс. Позже
это изложено в главе 7.

□ SBRT: адреса 23737 - 23746 (5СВ9Ш 5©C2h)

Вообще-то это не системная переменная, а небольшая подпрог-
рамма, используемая 8К ПЗУ для выЗфва подпрограмм 16К ПЗУ.
Подробно описала в главе 3.

□ BAUD: адреса 23747Щ<5$РЗ/4И)

Значение, используемое для определения скорости "BAUD" вво-
дя/вывода RS232. Рассчитывается следующем образом:

3 500 ООО / (26 * скорость "BAUD") - 2 —BAUD

2 500 ООО - скорость часов СПЕКТРУМа. Может быть использо-
вана для получения нестандартных скоростей. Запрещенное значе-
ние - 12 (ОСЬ) - соответствует скорости 19 200.

□ NTSTAT: адрес 23749 (5CC5h)

Номер пункта сети, соединенного со СПЕКТРУМом в данное
время.

□ ilQBORD: адрес 23750 (5СС6И)

СодёрЩгг;и;вет бордюра во время операций ввода/вывода, загру-
жается номером;цвета. Обычно это 0 - черный, но может быть изме-
нена. """х:!:!:::!!::::::..

■ чини

□ SER FL: адреса 23751/2 (5СС7/8И)

Используется при вводе RS232. Первый байт - флаг, установлен-
ный в 0 на входе в программу ввода и в 1 при получении байта. Второй
байт - полученный байт на выходе из подпрограммы ввода.

□ SECTOR: адреса 23753/4 (5СС9/АИ)

Используется 8К ПЗУ для подсчета секторов МИКРОДРАЙВа.

□ CHADD_: адреса 23755/6 (5ССВ/СИ)

Это эквивалент "CH_ADD" 16К ПЗУ, но для 8К ПЗУ. Использу-
ется для размещения адреса "CH_ADD" при проверке расширенного
синтаксиса и при необходимости перемещается.

□ NTRESP: адрес 23757 (5CCDh)

Содержит код передаваемого в сеть ответа. Следующие 8 байт
делают заголовок сети (как описано в главе 3).

□ NTDEST: адрес 23758 (5CCEh)

Содержит пункт сети, на который работает вывод.

□ NTSRCE: адрес 23759 (5CCFh)

Содержит адресуемый пункт сети.

□ NTNUMB: адреса 23760/1 (5CD0/1h)

Содержит номер блока информации, пройденного в данное время
по сети.

□ NTTYPE: адрес 23762 (5CD2h)

Содержит идентификатор блока сети, 0 - для обычного блока, 1 -
для последнего блока.

□ NTLEN: адрес 23763 (5CD3h)

Содержит длину перемещаемого в сети блока.

□ NTDCS: адрес 23764 (5CD4h)

Содержит контрольную сумму для следующего блока данных.

□ NTHCS: адрес 23765 (5CD5h)

Содержит контрольную сумму для семи байтов заголовка.

Следующие восемь байтов создают спецификацию первого фай-
ла.

□ D_STR1: адреса 23766/7 (5CD6/7h)

При работе МИКРОДРАЙВа задает номер драйва (из двух бай-
тов).

При работе сети задает номер пункта назначений^;;;:;::..

При работе RS232 скорость "BAUD":

Более полное описание "D__STR1" см. в главе 3, где каждый из
способов использования обсуждается при объяснении работы про-
грамм , в которых эта переменная применяется^;!;:..

□ S_STR: адрес 23768 (5CD8h)

Содержит номера потока (0-15).

iiiiiiiii

□ L_STR: адрес 23769 (5CP^ti)

В вышеприведенном случае содертйт;тшт. канала.

□ N_STR: адреса 23770/1 {5CDA/Bh)

Содержит длину имени

□ T_STR1: адрес 23772/3 a(5CDC/Dh)

"TJSTR 1" содержит адрес начала имени файла.

Следующие восемь байтов используются командами "LOAD" и
'MOVE".

1!!i!!1!! 1111

□ D_STR2: адреса 23774/5 (5CDE/Fh) до T_STR2:
адреса 23780/1 (5CE4/5h)

Эти восемь байтов анЯШШЧЙЗй; предыдущим восьми, задающим
спецификацию первого: файла. Следующие байты в точности экви-
валентны байтам заголовка подпрограмм 16К ПЗУ, но используются
8 К ПЗУ;Коб объяснении см. в: главе 3).

□ N DO О:: адрес.237.82 (5CE8h)

Содержит тип подпрограмма, 1 - массив чисел, 2 -

массив строк, 3 - коды.

□ HD OB: адреса 23783/4 (5СЕ7/8И)

Содержит длину данных.

□ HD OD: адреса 23785/6 (5CE9/Ah)

Содержит начало данных.

□ HD_OF: адреса 23787/8 (5СЕВ/СИ)

Содержит имя массива или длину программы.

□ HD_11: адреса 23789/90 (5CED/Eh)

Содержит номер строки автономного старта. Может также ис-
пользоваться обходным кодом 32h (см. главу 3).

□ COPIES: адрес 23791 (5CEFh)

Задает число копий, выдаваемых при команде "SAVE".




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Читатель-читателю - В.Сироткин. Защита программ (взгляд на проблему).
Скоро - Скоро появится новый журнал "ZX-Power 2" (г.Харьков)
Саентология - Пролог. Введения и цели.
Chaos Construction 2001 - мини интервью с Kano.
Разное - Реклама - двигатель торговли и не только.

В этот день...   21 ноября