Глава 25
Системные переменные
Байты памяти с 23552 до 23733 предназначены для специального
использования. В них размещаются т.н. системные переменные. Не
надо путать их имена с именами переменных в программе. Компьютер
не распознает ссылки к этим переменным из бейсик-программы по их
именам. Имена используются только для мнемонического обозначения
этих переменных в этом описании.
Информация, записанная в первом столбце таблицы, имеет следую-
щее значение:
х-перамеииая не должна изменяться, т.к. это может нарушить ра-
боту системы.
N-изменеиие переменной не приводит к длительному эффекту,
число - число байтов переменной (для 2-х байтовых переменных
младший байт -1-й).
Например, необходимо изменить значение на V в 2-х байтовой пе-
ременной по адресу N:
10 POKE N, V-256MNT (V/256)
20 POKE N+l, INT (V/256)
Для просмотра нового значения можно использовать оператор:
PEEK N+256+PEEK (N+1)
|
зи. |
адрес |
имя |
Содержание |
|
N8 |
23552 |
KSTATE |
используется при чтении с клавиатуры |
|
N1 |
23560 |
LAST К |
запоминается вновь нажатая клавиша |
|
1 |
23561 |
REPDEL |
время в 50-х долях секунды,в течение |
|
1 |
23562 |
REPPER |
Задержка,в 50-х долях секунды,между |
|
N2 |
23563 |
DEFADD |
адрес аргументов функций пользовате- |
|
N1 |
23565 |
К DATA |
второй байт управления цветом с клави- |
|
N2 |
23566 |
TVDATA |
байты цвета,ат,тав управления телевиз. |
|
Х38 |
23568 |
STRMS |
адреса подключенных каналов |
|
2 |
23606 |
CHARS |
адрес ^символьного набора-2 5 6.Обычно |
|
1 |
23608 |
RASP |
продолжительность звукового сигнала. |
|
1 |
23609 |
PIP |
длительность задержки,устраняющей |
|
1 |
23610 |
ERR NR |
код сообщения -1.Начальное значение |
|
XI |
2361 1 |
FLAGS |
управляющие флажки бейснка. |
|
XI |
23612 |
TV FLAG |
флажок телевизора. |
|
Х2 |
23613 |
ERR SP |
адрес в аппаратном стеке,используемый |
|
N2 |
23615 |
LIST SP |
адрес возврата из автоматического |
|
N1 |
23617 |
MODE |
режим.Спецификация [К] , [L] , [С], [Е] |
|
2 |
23618 |
NEW PPC |
номер строки,на которую должен быть |
|
2 |
23621 |
PPC |
номер строки,оператор в которой |
|
1 |
23623 |
SUB PPS |
порядковый номер, выполняющегося |
|
1 |
23624 |
DORDCR |
цвет рамки экрана,содержит атрибуты. |
|
2 |
23025 |
E PPC |
количество текущих отрок (с курсором). |
|
X2 |
23627 |
VARS |
адреса переменных. |
|
N2 |
23629 |
DEST |
адрес переменной в задании. |
|
X2 |
23631 |
CHANS |
адрес канала данных. |
|
X2 |
23633 |
CURCHL |
адрес данных для ввода-вывода. |
|
X2 |
23635 |
PROG |
адрес бейсик-программы. |
|
X2 |
23637 |
NXTLIN |
адрес следующей строки в программе. |
|
X2 |
23639 |
DATADD |
адрес терминатора последнего символа |
|
X2 |
23641 |
E LINE |
адрес выведенной команды. |
|
2 |
23643 |
К CUR |
адрес курсора. |
|
X2 |
23645 |
CH ADD |
адрес следующего интерпретируемого |
|
2 |
23647 |
X PRT |
адрес символа,следующего за маркером С?]. |
|
X2 |
23649 |
WORK SP |
адрес временной рабочей области. |
|
X2 |
236$ 1 |
STK ВОТ |
адрес "дна" программируемого стека. |
|
X2 |
23653 |
STK END |
адрес начала резервной области памяти. |
|
N1 |
23655 |
BREG |
В-регистр калькулятора. |
|
N2 |
23656 |
MEM |
адрес области,используемой как память |
|
1 |
23658 |
PLAG52 |
старшие флажки. |
|
XI |
23659 |
DF SZ |
число строк (включая и одну чистую) |
|
2 |
23660 |
S TOP |
количество верхних строк программы в |
|
автоматическом листинге. | |||
|
2 |
23662 |
OLDPPC |
номер строки,иа которую указывает |
|
1 N1 |
23664 23665 |
OSPPC |
номер оператора в строке,иа которую |
|
N2 |
23666 |
STR LEN |
размер расстояний между строками. |
|
N2 |
23668 |
T ADDR |
адрес следующего символа в синтакси- |
|
2 |
23670 |
SEED |
начальное значение для RND, |
|
3 |
23672 |
FRAMES |
счетчик кадров - приращение через |
|
2 |
23675 |
UDG |
адрес первого определяемого |
|
1 |
23677 23678 |
COORDS |
Х-координата точки графопостроителя |
|
1 |
23679 |
P POSN |
33-позиционное число для позиционирования принтера |
|
1 |
23680 |
PR CC |
младший байт адреса позиции для |
|
I |
23681 |
не используется. | |
|
2 |
23682 |
ECHO E |
33-позиционное и 24-строковое числа |
|
2 |
23684 |
DF CC |
адрес PRINT-позиции в области экрана. |
|
2 |
23686 |
DF CCL |
подобно DF СС в нижней части экрана. |
|
XI |
23688 23689 |
S POSN |
33-позиционное число для PRINT 23-строковое число для PRINT позиции. |
|
X2 |
23690 |
S POSNL |
подобно S POSN для^ нижней части. |
|
1 |
23692 |
SCR CT |
счетчик сверток:всегда иа 1 больше |
|
1 |
23693 |
ATTR P |
сплошные цвета. |
|
1 |
23694 |
MASK Р |
используется для высвечивания цветов |
|
N1 |
23695 |
ATTR Т |
временный указатель цветов |
|
N1 |
23696 |
MASK Т |
временный MASK Р |
|
1 |
23697 |
Р FLAG |
старшие флажки. |
|
N30 |
23698 |
МЕМВОТ |
область памяти для калькулятора, |
|
2 |
23728 |
не используется | |
|
2 |
23730 |
RAMTOP |
адрес последнего байта области |
|
2 |
23732 |
P-RAMT |
адрес последнего байта физического ОЗУ. |
Следующая программа выдаст вам первые 22 байта области систем-
ных переменных:
10 FOR N=0 ТО 21
20 PRINT PEEK (PEEK 23627+256»РЕЕК 23628+N)
3 0 NEXT N
Теперь замените строку 20 на:
20 PRINT РЕЕК (23755+N)
И вы дополнительно получите дамп самой программы.