ГЛАВА 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)
Номер стгедующеш интерпретирушош оператора в БЕЙСИК-
строке. Запись в ячейкиНомера строки й номера оператора повлечет
за собой переход к указанной; точке программы при выполнении.
□ РРС: адреса 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".