|
Основы работы. Глава 3. - системные переменные.
|
ГЛАВА 3
СИСТЕМНЫЕ ПЕРЕМЕННЫЕ
Компьютер выделяет место в памяти с байта 23552 по 23733 для размещения системных переменных, которые нужны для нормального функционирования. Пользователь может использовать эту информацию для повышения эффективности программирования. Начальные значения систем- ных переменных устанавливаются после включения компьютера. Этим занимаются процедуры, записанные в ПЗУ и стартующие после включения автоматически. В любое время Вы можете просмотреть содержимое этих переменных с помощью команд:
PRINT РЕЕК АДР - для однобайтной
переменной;
PRINT РЕЕК АДР + 256* РЕЕК (АДР+1) - для двухбайтной.
Вы можете и сами оператором РОКЕ заслать какие-либо значения в адрес системной переменной, но в некоторых случаях такое изменение бу- дет жить недолго, т.к. система сама восстановит нужное ей значение (такие системные переменные помечены буквой N), а в некоторых случаях изме- нение приведет к сбросу компьютера (такие переменные помечены буквой
СИСТЕМНЫЕ ПЕРЕМЕННЫЕ
СИСТЕМНЫЕ ПЕРЕМЕННЫЕ
ча- ние |
Дли- на |
Адрес |
Имя |
Содержание |
1 |
2 |
3 |
4 |
5 |
N |
8 |
235S2 |
KSTATE• |
Используется при сканировании клавиатуры. |
N |
1 |
23560 |
LAST К |
Запоминает последнюю нажатую клавишу. |
|
■ |
23561 |
REPDEL |
Количество 50-х долей секунды, в течете ко- торых надо удерживать нажатую клавишу, что-, бы начался ее автоповтор, исходная установка ' - 35, но можете занести свое значение. |
1 |
2 |
3 |
4 |
5 |
|
1 |
23362 |
REPPER |
Интервал между повторениями нажатой и удерживаемой клавиши. |
N |
2 |
23563 |
DEFADD |
При расчете функции, заданной пользовате- лем, здесь хранится адрес ее аргументов. В противном случае 0. |
N |
1 |
23565 |
К DATA |
2-й байт кола управления цветом при вводе с клавиатуры. |
N |
2 |
23566 |
TV DATA |
Данные о цвете и об «АТ» и «ТАВ» телевизора. |
X |
38 |
23568 |
STRMS |
Адреса каналов, подключенных к потокам. |
|
2 |
23606 |
CHARS |
Адрес, который лежит на 356 байтов ниже, чем набор символов (знаков), начиная с «пробе- ла» и кончая символом «копирайт». Обычно этот набор находится в ПЗУ, но Вы можете соз- дать свой набор и изменить CHARS так, чтобы она указывала на него. |
|
|
23608 |
RASP |
Продолжительность предупредительного зву- кового сигнала. |
|
1 |
23609 |
PIP |
Продолжительность звука-щелчка при на- жатии клавиши. |
|
1 |
23610 |
ERR NR |
На 1 меньше, чем код сообщения об ошибке. В исходном состоянии - 255. |
|
1 |
23611 |
FLAGS |
Различные флаги для операционной системы. |
|
1 |
23612 |
TV FLAGS |
Флаги, связанные с работой телевизора. |
X |
2 |
23613 |
ERR SP |
Адрес параметра на машинном стеке, кото- рый используется как адрес возврата после ошибки. |
N |
2 |
23615 |
LIST SP |
Адрес возврата после автоматического листинга. |
N |
1 |
23617 |
MODE |
Указывает на тип курсора: К, L, С или G. |
|
2 |
23618 |
NEWPPC |
Номер строки, к которой следует переход. |
|
' |
23620 |
NSPPC |
Номер оператора в строке, к которому следу- ет переход, заслав нужное значение в NEWPPC. Вы можете вызвать переход к нужному опера- тору в нужной строке. |
|
• 2 |
23621 |
PPC |
Номер строки, в которой расположен испол- няемый в данный момент оператор. |
|
1 |
23623 |
SUBPPC |
Номер оператора (в строке), который в дан- ный момент выполняется. |
|
1 |
23624 |
BORDOR |
Цвет бордюра, умноженный на 8. здесь же со- держатся атрибуты нижней части экрана. |
|
2 |
23625 |
E PPC |
Номер текущей строки (в которой - курсор). |
X |
2 |
23627 |
VARB |
Адрес программных переменных. |
1 |
2 |
3 |
--
4 |
5 |
N |
2 |
23620 |
i)i:sr |
Адрес переменной при исполнении оператора присвоения (LET). |
X |
2 |
23631 |
CHANS |
Адрес информации о каналах. |
X |
2 |
23633 |
CURCIII. |
Адрес информации, которая к данный момент вводится или выводится. |
X |
2 |
23635 |
PROG |
Адрес, с которого начинается программа, написанная на BASIC'e. |
X |
2 |
23637 |
NXTLIN |
Адрес следующей строки программы. |
X |
2 |
23639 |
DATADD |
Адрес разделителя после последнего введен- ного параметра из блока DATA. |
X |
2 |
23641 |
CLINK |
Адрес вводимой команды. |
|
2 |
23643 |
К CUR |
Адрес курсора. |
X |
2 |
23645 |
CH ADD |
Адрес следующего интерпретируемого симво- ла. |
|
2 |
23647 |
X PTR |
Адрес символа после маркера «?». |
X |
2 |
23649 |
WORKSP |
Адрес рабочего пространства. |
X |
2 |
23651 |
STKBOT |
Адрес основания стека калькулятора. |
X |
2 |
23653 |
STKEND |
Адрес вершины стека калькулятора. |
N |
1 |
23655 |
BREG |
Содержимое регистра «В» калькулятора. |
N |
2 |
23656 |
MEM |
Адрес области памяти калькулятора, обычно, но не всегда, совпадает с MEM ВОТ. |
|
1 |
23658 |
FLAGS2 |
Флаги. |
X |
1 |
23659 |
DF SZ |
Количество строк в нижней части экрана (в системном окне). |
|
2 |
23660 |
STOP |
Номер верхней программной строки при авто- матическом листинге. |
|
2 |
23662 |
OLDPPC |
Номер строки, к которой выполняется пере- ход. |
|
1 |
23664 |
OSPPC |
Номер оператора в строке, к которому выпол- няется переход по CONTINUE. |
|
1 |
23665 |
FLAGX |
Вспомогательные флаги. |
N |
2 |
23666 |
STRLEN |
Длина строковой переменной (стринга) в опе- раторе присваивания. |
N |
2 |
23668 |
T ADDR |
Адрес следующего параметра в синтаксичес- кой таблице. |
|
2 |
23670 |
SEED |
Здесь хранится величина для функции RND. Исходное значение можно задать: RANDOMIZE N. |
|
3 |
23672 |
FRAMES |
с . 3-х байтная деееменная (старший байт — первыш^Получает приращение на л каждую T/5D долю секунды, можно
|»«,к»иза1,ийкЬнтрол!| |
1 |
2 |
3 |
4 |
5 |
|
|
|
|
PRINT (256*256*PEEK 23672 + 256*PEEK 23673 +PEEK 23674)/50 покажет, сколько секунд прошло с момента включения компьютера. |
|
2 |
23675 |
UDG |
Адрес 1-го символа графики пользователя. Вы можете его изменить. |
|
1 |
23677 |
COORDS |
Координата X последней помещенной на экран точки. |
|
1 |
23678 |
|
Координата Y -"-. |
|
1 |
23679 |
P POZN |
Номер колонки (позиции), в которой на- ходится принтер. |
|
1 |
23680 |
PR CC |
Младший байт адреса следующей позиции печати по LPRINT (в буфере принтера). |
|
1 |
23681 |
|
Не используется. |
|
2 |
23682 |
ECHO E |
Номер колонки и номер строки конца буфера клавиатуры. |
|
2 |
23684 |
DF CC |
Адрес позиции печати в экранной памяти. |
|
2 |
23686 |
DFCCL |
То же, но для нижней части экрана. |
X |
1 |
23688 |
S POSN |
Номер колонки позиции печати. |
X |
1 |
23689 |
|
Номер строки позиции печати. |
X |
2 |
23690 |
SPOSNL ! |
I То же (см. S POSN) - для нижней части экра- на. |
|
1 |
23692 |
SCR CT |
На 1 больше, чем необходимое число передвижек строк на экране до остановки с за- ! просом «SCROLL ?». Если Вы организуете пос- тоянна подачу (после PRINT) в эту ячейку ; любого числа > 1. то печать будет идти непре- ' рывно. без запроса «SCROLL ?». |
|
Г |
23693 |
ATTR P |
Тек щие цветовые атрибуты для всего экрана. |
|
1 |
23694 |
MASK P |
Маска локальных атрибутов, каждый бит этой переменной, если он равен 1, показывает, что соответствующий цветовой атрибут надо брать не из ATTR Р. а из того, что уже есть на экране в позиции, для которой выполняется печать. |
N |
1 |
23695 |
ATTR T |
Временные атрибуты, их установка спра- ведлива только для выполнения текущего опе- ратора PRINT, INPUT. |
N |
■ |
23696 |
MASK T |
То же что и MASK Р. но для временных атрибутов. |
|
1 |
23697 |
PFLAG |
Флаги атриб тов. |
N |
30 |
23698 |
MEMBOT |
Область памяти кальк>лятора, используется для хранения чисел, которые неудобно поме- щать в стек калькулятора. |
1 |
2 |
з |
4 |
5 |
|
2 |
23728 |
|
[ Не используется. |
|
2 |
23730 | |
RAMTOP |
Адрес вершины области, доступной для раз- | мещения программ на BASIC'e. |
|
2 |
23732 |
PRAMT |
1 Адрес физической вершины памяти компью- | тера. |
|
|