HIGH$ to
FFFFH
Driver/Filter/User
or System tasks
Area
in
which drivers, filters,
and tasks that are continuously
used by the system are stored.
Items
in
this area include the
spooler, drivers and filters that
cannot fit into the area
reserved within TRSDOS, and
MEMDISK (when it resides
in
Bank
0).
Assembly language
routines that are to be called
from BASIC may
be
placed
here
as
long
as
the programs
follow the rules outlined
in
the
Technical Reference Manual.
User
Program
Your User Program space is dynamic. It is dependent
on
the number
of data files you requested when loading BASIC (called "concurrent"
files), the HIGH$ marker, the amount of stack space, and the highest
memory location you specified when loading BASIC. For information
on
how
to
load BASIC, see Chapter
1.
Assuming that the HIGH$ marker
is
at the top of physical memory
(FFFFH) and that the highest memory location (the 'M' option) was
~,
not specified when BASIC was loaded, then four or less concurrent
files do not alter the amount of User Program space. The fifth
concurrent file decreases it
by
312 bytes,
and
six or more decrease it
by 564 bytes each.
IF
HIGH$ is not at FFFF$, or if M was specified when BASIC was
loaded, then use the PRINT FRE(0) command to see the amount of
User Program space available.
The number of concurrent data files also determines where the top of
the stack will
be.
BASIC uses the following formula:
M-(564 x number of concurrent files)-564
= location value
The location value given by this formula is set
as
the top of the stack.
You can set aside additional stack space by using the CLEAR
statement. However, the more stack space you use, the less User
Program space you will have.
A-102