In PDP-3, 511 registers of the main magnetic core memory are available
for use as automatic index registers. Their addresses are specified by
octal digits 3 to 5 of the instruction word. These registers are memory
locations 001-777 (octal). Address 000 specifies that no index register
is to be used with the instructions. The contents of octal digits 7
through 11 of the selected index register are added to the unmodified
address (octal digits 7 through 11 of the instruction).
This sum is used to locate the operand. The addition is done in the
Index Adder which is a 15 bit 1's complement adder. The contents of the
Accumulator and the In-Out Register are unaffected by the indexing
process. An instruction which has used indexing is retained in memory
with its original address unmodified. Memory registers 1-777 (octal) are
available for use as normal memory registers if they are not being used
as index registers. The left half of these registers is available for
the storage of constants, tables, etc., when octal digits 7 through 11
act as index registers.
Three special instructions snx, spx and lir, are available to facilitate
resetting, advancing, and sampling of the index registers. Since the
index registers are normal memory registers, their contents can also be
manipulated by the standard computer instructions.