Работа с ZX-Spectrum 1993 г.

Основы работы. Глава 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 Адрес физической вершины памяти компью-
| тера.




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Di:Нalt:Results - Результаты пати.
ZIP - приложение к газете.
Обзор - Софт, игры, письма...
Мелочи - доработка ассемблера ALASМ 4.1.
Навiны - предварительный результаты Forever2e3, анонс летних пати Millennium, Paradox 2000, CAFe 2000.

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