Locations 256 through
511
are
comprised mainly of the
BASIC
Stack. A por-
tion of the
area
beginning at location 256 and proceeding upward
is
used by the
Tape
Read
routine for error correction and by
BASIC
as
an
expansion butter.
The
stack begins at location
511
and proceeds downward. Storage
is
allocated
dynamically
as
needed by
BASIC
and the hardware. An
OUT
OF
MEMORY error
occurs
if
the stack pointer reaches the end of available space in this
area.
Locations 512 through 633
are
used by the
OS
as
working storage locations.
This
area
is
detailed in Table 6-2.
Locations 634 through 825 form a 192-byte tape butter for the console tape
cassette. Locations 826 through 1023 form a second 192-byte tape butter for the
optional second cassette unit. User-written assembly language programs can
be
~
stored
in
tape butter
#2
if there
is
no
second cassette
used
on
the system.
, Locations 1024 through the end of available
RAM
are
used
for storage of the
user program and variables. The program begins at location 1024 and
is
stored
upward toward the
end
of memory. Variable storage begins after the end of the
program. Array storage begins at the end of variable storage. Strings
are
stored
beginning at the
end
of memory
and
working downward. An
OUT
OF
MEMORY
error occurs if
an
upgoing pointer meets the downgoing pointer.
Addresses
8192-32767:
Expansion RAM
24K
Memory addresses 8192 through 32767
are
allocated for expansion of
RAM
to
32K.
8192
12288
16384
20480
24576
28672
32767
Expansion
RAM
Expansion
RAM
Expansion
RAM
Expansion
RAM
Expansion
RAM
Expansion
RAM
4K
306