ГЛАВА 4
ОРГАНИЗАЦИЯ ПАМЯТИ КОМПЬЮТЕРА
Для работы операционной системы компьютера в его памяти выделено
несколько областей. Они отделены друг от друга некоторыми границами, ко-
торые могут быть постоянными, а могут и изменяться в зависимости от
конкретных требований.
КАРТА ПАМЯТИ КОМПЬЮТЕРА
Фиксированные границы обозначены числом (адресом), переменные
границы - именем системной переменной, в которой они хранятся.
О - 16383 -ПЗУ;
16384-22527 - электронная область, где хранится
изображение в черно-белом виде;
22528 - 23295 - область атрибутов, т.е. информация
о цвете, признаки яркости и мер-
цания;
23296-23551 - буфер ZX-принтера. При отсутствии
принтера часто используется для
хранения небольших процедур в
машинных кодах. Здесь они не
повреждаются BASIC'om. а. кроме то«
го. размещение их в нижней
половине памяти повышает
быстродействие. В компьютерах 128К
в этой области хранятся дополнитель-
ные системные переменные для под-
держания повышенных возможностей
этих машин. Там ничего нельзя поме-
щать в эту область памяти.
23552 - 23733 - область системных переменных (см.
выше);
23734 - (CHANS-1) - карты памяти микродрайва, при
работе с микродрайвом здесь
хранится информация, например, о&
испорченных секторах ленты и т.п.,
Если же этого устройства нет. то дан-
ная область не отводится.
CHANS -(PROG-2) здесь - информация о каналах.
PROG - (VARS-1) - текст программы, записанной на
BASlC'e, но он хранится несколько в
иной форме, чем то. что Вы видите на
экране.
VARS - (ELINE-2) - область хранения переменных, с ко-
торыми оперирует BASIC-программа.
ELINE -(WORKSP-1) - буфер редактора. Сюда помещается
строка программы, когда Вы ее
вводите или редактируете.
WORKSP - (STKBOT-1) - буфер инструкции INPUT.
STKBOT - (STKEND-1) - стек калькулятора. К нему
обращается интерпретатор BASIC'a.
Калькулятор выполняет
арифметические действия. Его мож-
но вызывать из машинного кода ко-
мандой ASSEMBLERS RST 40. По
окрнчании операции результат поме-
щается на вершину стека.
STKEND - SP - свободное пространство, куда
развиваются навстречу друг другу
стек калькулятора и машинный, стек.
Здесь SP - это не системная
переменная, а указатель машинного
стека. Его можно использовать из
машинного кода, а из BASIC'a он не-
доступен.
SP - ERR SP - машинный стек. Он нужен
процессору Z80 для выполнения
обработки адресов, данных и пр.
(ERR SP+1)- RAMTOP - стек возвратов (GO SUB-СТЕК).
Здесь хранится и номер строки, к ко-
торой надо вернуться после выпол-
нения подпрограммы (по RETURN).
RAMTOP - UDG - свободная область. Может быть
использована для хранения процедур
в машинных кодах.
UDG - PRAMT - область графики пользователя.
PRAMT - физическая вершина памяти:
для SPECTRUM'a 16 РкАМТ - 32767,
а для SPECTRUM'a 48 - 65535.