Storage Allocation
After
Loading the
Compiler
After
Processing the
Source Program
After
the
standard
processor deck
or
tape
has
been
read
into 1620 storage,
and
before processing of
the
source statements has begun, storage
is
allocated as
follows
(numbers
in parentheses
pertain
to printer-oriented systems):
l.
The
multiply-add tables are in locations 00100
through
00399.
2.
The
compiler
program
begins in location 00402.
3.
The
work areas in which
the
source program will
be
processed
have
been
cleared
where
necessary. These areas,
and
a constant defining
the
end
of
the
symbol
table
area used for function names,
are
in locations 16800
(17600)
through
17498 (18143).
4.
In
the
standard
system (20,000 positions of
storage),
twelve 10-digit
fields are located
in
positions 19880
through
19999.
The
alphabetic repre-
sentation of
the
names of the six relocatable subroutines, in the' two forms
allowed - one with
and
one
without
the
terminal F -
are
stored in
the
12 fields.
The
name
of each additional relocatable
subroutine
inserted
by
the
user will
be
added
to this list,
and
will
appear
in
the
symbol table in
both
forms.
5.
The
rest of
the
symbol table from location 17500 (18320)
through
19879
contains 238 (156) 10-digit fields, each containing
the
constant 00000000
=F
=F.
The
end
of
the
symbol
table
is
defined
by
the
constant
O=F
in
loca-
tions 17498 (18318)
through
17499 (18319).
If
the
system has
been
modified for use
with
the
1623
Core
Storage unit,
the
symbol table will occupy
the
highest positions of storage.
If,
for example,
the
highest available address is 59999,
the
subroutine names will
appear
in
loca-
tions
59880
through
59999.
The
constant defining
the
end
of
the
symbol
table
will
be
in locations 40008 (40318)
through
40009 (40319).
After compilation, the areas previously cleared for
the
symbol
table
will contain:
1.
The
alphabetic form of every variable
used
in
the
source program.
2.
In
the
next lower field
after
the
name
of every variable array, a field of
the
form 0 I I I I
NNNNN,
where
the
Is
represent
the
first specification
listed
in
the
DIMENSION
statement
for
the
array,
and
the
Ns
represent
the
address of
the
last element
in
the
array.
3.
Every
constant
used
in
the
source program.
Floating
point
constants will
have
the
form of an 8-digit mantissa
and
a 2-digit exponent. Fixed
point
constants
are
in
4-digit subfields (right-justified) within
the
10-digit fields
in
which they appear.
4.
All statement numbers will
be
in
the
form LLLLLOMMMM,
where
the
Ms represent
the
statement
number,
and
the
Ls
the
location in
the
object
program
of
the
first instruction compiled for
the
source
statement
indi-
cated.
5.
Intermediate
storage,
or
accumulator numbers, from 000
through
998,
as
required
and
aSSigned
by
the
compiler.
6.
In
the
next lower field after
the
final field
used
in
the
symbol
table
by
the
compiler,
the
constant 6000000999 will appear.
A record, consisting of
three
5-digit fields which has
been
punched
into
the
object
program
at
the
conclusion of compilation, is stored
in
locations 00402
through
00416.
The
first of these fields contains
the
address of
the
first location
available for
the
storage of relocatable subroutines
after
the
object
program
has
been
properly loaded.
The
next field contains
the
address of
the
end
of
Analysis
of
the
FORTRAN
Program 65