Большие возможности вашего Спектрума 1969 г.

Системные переменные - таблица системных переменных.


7. СИСТЕМНЫЕ ПЕРЕМЕННЫЕ.

компьютер выделяет место в оперативной памяти от адреса 23352
по адрес 23733 для размещения в них некоторых переменных, кото-
рые нужны для нормального функционирования компьютера. тем
не менее, пользователь может использовать информацию, содержа-
щуюся в них для повышения эффективности программирования.
первоначальные значения системных переменных устанавлива-
ются после включения компьютера. их устанавливают те процеду-
ры, которые содержатся в пзу и стартуют после включения. вы мо-
жете в любое время посмотреть содержание однобайтной систем-
ной переменной с помощью команды print peek addr, где addr-это
ее адрес, а для двухбайтной- print peek addr + 256*реек (addr+1).

вы можете и сами заслать какие-либо значения (от о до 255) в адрес
системной переменной оператором роке, но в некоторых случаях
такое изменение будет иметь лишь кратковременный характер и
предыдущее значенйе будет само восстановлено (такие систем-
ные переменные помечены буквой n), а в некоторых случаях изме-
нение приведет к сбросу компьютера (такие переменные помече-
ны буквой x).

ТАБЛИЦА СИСТЕМНЫХ ПЕРЕМЕННЫХ

длина адрес имя содержание

n8 23552 kstate использ-ся при сканировании клавиатуры.

n1 23560 last к запоминает последнюю нажатую клавишу.

1 23561 repdel время.в течении которого надо задержать
нажатую клавишу .чтобы произошел
авто - повтор. измеряется в 50-х долях
секунды исходная установка-35. но можете
заслать сюда свое значение.

1 23562 repper интервал между повторениями нажатой и

задержанной клавиши. измеряется в 50-х
долях секунды. исходное значение - 5.

n2 23563 defadd при расчете функции, заданной

пользователем, здесь хранится адрес ее
аргументов. в противном случае - 0.

n1 23565 к data второй байт кода управления цветом при
вводе с клавиатуры.

n2 23566 tv data здесь храниться информация о цвете и о
параметрах at и tab для телевизора.

х38 23568 strms адреса каналов, подключенных к потокам.

2 23606 chars эта системная переменная указывает на

адрес.который л ежит на 256 байтов ниже, чем
набор символов (знаков),начинающийся с
символа "пробел" и кончающийся символом
"копирайт". обычно этот набор находится в
пзу, но вы можете организовать свой набор в
озу и изменить chaps,4tobbl она на него
указывала.

1 23608 rasp продолжительность предупредительного
звукового сигнала.

1 23609 pip продолжительность звукового щелчка при

нажатии клавиши.

1 23610 errnr на единицу меньше, чем код сообщения об
ошибке. в исходном состоянии - 255.

xi 23611 flags различные флаги. необходимые для работы

операционной системы.
xi 23612 tv flag флаги, связанные с работой телевизора.
х2 23613 errsp адрес параметра на машинном стеке, который

используется как адрес возврата после ошибки.
n2 23615 listsp адрес возврата после автоматического листиш а
n1 23617 mode указывает на тип курсора к, l, с или g.
2 23618 newppc номер строки, к которой следует переход

1 23620 nsppc номер оператора в строке, к которому следует

переход. заслав нужное значейие в newppc, а
затем в nsppc, вы можете вызвать переход к
нужному оператору в нужной строке.

2 23621 ррс номер строки, в которой расположен

исполняемый в данный момент оператор.
1 23623 subppc номер оператора в строке, который в данный
' момент исполняется.

1 23624 bordcr цвет бордюра, умноженный на 8. здесь же

СОДЕРЖАТСЯ АТРИБУТЫ НИЖНЕЙ ЧАСТИ ЭКРАНА

2 23625 е ррс номер текущей строки (в которой находится

курсор).

х2 23627 vars адрес программных переменных.
n2 23629 dest адрес переменной при исполнении оператора
присвоения.

х2 23631 chans АДРЕС ИНФОРМАЦИИ О КАНАЛАХ.

х2 23633 curchl адрес информации, которая в настоящий

МОМЕНТ ВВОДИТСЯ ИЛИ ВЫВОДИТСЯ.
х2 23635 PROG АДРЕС, С КОТОРОГО НАЧИНАЕТСЯ ПРОГРАММА,

написанная на бейсике.
х2 23637 nxtun адрес следующей строки программы.
х2 23639 datadd адрес разделителя после последнего
введенного параметра из блока data.
х2 23641 el1ne адрес вводимой команды.
2 23643 "к cur адрес курсора.

х2 23645 сн add адрес следующего интерпретируемого символа.
2 23647 xptr адрес символа после маркера"?".
х2 23649 worksp адрес рабочего пространства.
х2 23651 stkbot адрес основания стека калькулятора.
х2 23653 stkend адрес вершины стека калькулятора.
n1 23655 breg содержимое регистра "в" калькулятора.
n2 23656 mem адрес области, используемой в качестве

области памяти калькулятора. обычно совпадает
с мемвот, но не всегда.

1 23658 flags2 флаги.

xi 23659 dfsz количество строк в нижней части экрана
(в системном окне).

2 23660 stop номер верхней программной строки при

автоматическом листинге.
2 23662 oldpps номер строки, к которой выполняется
переход по continue.

1 23664 ospcc номер оператора в строке, к которому

выполняется переход по continue.
n1 23665 flagx вспомогательные флаги.
n2 23666 strlen длина строковой переменной (стринга В

операторе присвоения.
n2 23668 taddr адрес следующего параметра в
синтаксической таблице.

2 23670 seed здесь хранится величина для функции rjjd

исходное значение можно установить
оператором randomize n.

3 23672 frames трехбайтная переменная (старший байт

первый). получает приращение на единицу
каждую пятидесятую долю секунды. может
использоваться при организации контроля
bpemehhtak,komahmprint(256»256*peek23672+
+256*реек23673+реек23674)/50 покажет сколько
времени (в секундах) прошло с того момента,
как вы включили компьютер.

2 23675 udg адрес 1-го символа графики пользователя вы
можете его изменить.

1 23677 coords координата x последней помещенной на
экран точки

1 23678 координата y последней помещенной на

экран точки.

1 23679 ppozn номер колонки позиции, в которой находится
принтер.

1 23680 pr сс младший байт адреса следующей позиции
печати по lpr1nt (в буфере принтера).

1 23681 не используется.

2 23682 echo е номер колонки и номер строки конца буфера

клавиатуры.

2 23684 dfcc адрес в экранной области памяти позиции печати.

2 23686 dfccl то же, но для нижней части экрана.

xi 23688 sposn номер колонки позиции печати.

xi 23689 номер строки позиции печати.

х2 23690 sposnl то же, что и sposn, но для нижней части экрана.

1 23692 scr ст на единицу больше. чем необходимое

количество передвижек строк на экране до
остановки с запросом scrol-l? если вы
организуете постоянную подачу после
print какого-либо числа большего, чем 1 в эту
ячейку, то печать будет идти непрерывно. без
запроса scroll?

1 23693 attrp текущие цветовые атрибуты (для всего экрана).

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

n1 23695 attrt временные атрибуты. их установка

справедлива только для выполнения текущего
оператора print. input.

n1 23696 maskt то же, что и mask р. но для временных атрибутов.

1 23697 pflag флаги атрибутов.

n30 23698 мемвот область памяти калькулятора. используется
для хранения чисел. которые неудобно
помещать в стек калькулятора.

2 23728 не используется.

2 23730 ramtop адрес вершины области, дост упной для
размещения программы на бейсике.

2 23732 p-ramt адрес физической вершины памяти компьютера.




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Наш смак - яичница глазунья.
О всем про все - "Проклятые места России".
Вступление - Вот и лето скоpо наступит.
Реклама - реклама и объявления.
Werewolf - Мальчик-волк!

В этот день...   20 апреля