Next: Program Status Word
Up: Specifications
Previous: Storage Operands
The address used to refer to main storage either is contained in a
register
designated by the R field in
the instruction or is calculated from the following
three binary numbers:
- Base Address
is a 24-bit number contained in a general register
specified by
the program in a four-bit field, called the B field, in the
instruction. Base
addresses can be used as a means of independently addressing each
program and
data area. in array type calculations, it can specify the location of an
array,
and, in record-type processing, it can identify the record. The base
address
provides for addressing the entire main storage. The base address may
also be
used for indexing purposes.
- Index
is a 24-bit number contained in a general register
designated by the program in a four-bit field, called the X field, in the
instruction. It is included only in the address specified by the RX
instruction format. The RX format instructions permit double indexing; that
is, the index can be used to provide the address of an element within an
array.
- Displacement
is a 12-bit number contained in a field, called
the D field, in the instruction. The displacement provides for relative
addressing of up to 4,095 bytes beyond the location designated by the base
address. in array-type calculations, the displacement can be used to specify
one of many items associated with an element. In the processing of records,
the displacement can be used to identify items within a record.
In forming the address, the base address and index are treated as
unsigned
24-bit positive binary integers. The displacement is similarly treated
as a
12-bit positive binary integer, and 12 high-order zeros are appended.
The three
are added as 24-bit binary numbers, ignoring overflow. The sum is
always 24
bits long. The bits of the generated address are numbered 8-31 ,
corresponding
to the numbering of the base-address and index bits in the general
register.
A zero in any of the X2, B1, or B2 fields indicates the absence of the
corresponding address component. For the absent component, a zero is
used in
forming the address, regardless of the contents of General register 0. A
displacement of zero has no special significance.
An instruction can designate the same general register both for address
computation and as the location of an operand. Address computation is
completed
prior to the execution of the operation.
Unless otherwise indicated in the individual instruction definition,
the
computed operand address designates an operand in main storage. When a
main-storage operand is designated, the address designates the leftmost
byte of
the operand. For branching instructions, the second-operand address is
used as
the branch address. For shifting instructions, the second-operand
address is
not used as an address but specifies the shift amount.
Next: Program Status Word
Up: Specifications
Previous: Storage Operands