There are no gaps between code and data or separate segments
(as on a PC), the Code followed on from the last word of
Lower Data and Upper Data followed on from the last word of
Code.
Lower Data could be directly addressed and was generally
used for constants and frequently accessed data items and
could be a maximum of 4K (less reserved areas) in length -
12-bit addressing. Upper Data was indirectly addressed. A
small program could easily be less than 4K in length and
have no Upper Data at all.
Accumulators X1 - X3 could be used as 'modifiers' to access
Upper Data.
| Words 0 - 7 |
These are accumulator register, generally
referred to as X0 to X7. The
accumulators X1, X2 and X3 are
the modifier registers.
These words may be used by object programs as
operands in both the X and N fields. In
cases where the X field of an instruction
refers to two adjacent X and X+1, if 7
is quoted as X then 0 is taken as X+1.
In cases where the N field of an instruction
is interpreted as a double length operand (as for
example in floating-point orders), N(M) must
not address location 7. |
| Word 8 |
This location is used by EXECutive and the central
processor hardware for control purposes (Program
Counter). It must never be used by the object
program. |
| Word 9 |
This location is used by EXECutive to provide reply
information to the object program after an
ALLOT instruction; on certain processors it is
also used by the hardware. |
| Words 10 and 11 |
These locations are used for communication between
object programs and some software packages (e.g.
Magnetic Tape Housekeeping). Object programs may use
these words only in accordance with the relevant
software specifications. |
| Words 12 and 13 |
These locations are used by EXECutive to store the
floating point accumulator (A) and must not be
directly used by object programs. |
| Words 14 and 15 |
These locations are used for communication between
object programs and some software packages. Object
programs may use these words only in accordance with
the relevant software specifications. |
| Words 16 to 29 |
These locations are reserved for use by various
compilation systems. Object programs may use these
words only in the manner defined by the compiler
specifications. For instance, words 20 to 29 are used
as start points (Entry 0 thru Entry 9) when
programs are set into an active state. |
| Word 30 |
This location contains the 24 switch bits. The
switches are numbered from 0 to 23, switch 0 being
represented by B0 of the word, and so on. The
'ON' state of a switch is represented by the
appropriate bit being set to 1. Switches may be set
or unset by operators, by means of the ON and OFF
console directives. Object programs may examine
or alter the state of any bit in word 30. |
| Word 31 |
This location is used by EXECutive to provide
information to the object program as to why it has
been re-activated. (SUSAR, SUSIN and certain
RCTP instructions.) |
| Words 32 to 44 |
These locations are always reserved, and must not be
used by object programs. For programs without
subprograms or members, words 35 to 44 are used in
connection with the General Purpose Loader.
otherwise, these words are reserved for a different
use. |
Locations that are Reserved in
Subprogramming
The following locations are reserved for use by
EXECutive when a program consists of two or more
subprograms or members. When these circumstances
exist, the relevant words may not be used by object
programs. Words 0 to 15 of each subprogram or member
are stored in these locations. |
| Words 32 to 63 |
These locations are always reserved if the program
consists of two or more subprograms or members. |
| Words 64 to 79 |
These locations are always reserved if the program
consists of three or more subprograms or members. |
| Words 80 to 95 |
These locations are always reserved if the program
consists of four or more subprograms or members. |
| NOTE: The references above to the
number of subprograms and members assume that they
are consecutively numbered, starting from 1. Should
this not be so, the reserved area must be calculated
on the basis of n subprograms or members, where n is
the highest number used to refer to a subprogram or
member. |