43 lines
1.4 KiB
Plaintext
43 lines
1.4 KiB
Plaintext
Memory Address Determination
|
|
|
|
The effective memory address referenced by a PDP-10 instruction is
|
|
determined by the instructions address (Y), index (X), and indirect (I)
|
|
fields.
|
|
|
|
|
|
Direct Addressing "Y"
|
|
|
|
When Y is specified without X or I, the instruction's effective address
|
|
is simply Y. The instruction uses the contents of memory location Y.
|
|
|
|
|
|
Indexed Addressing "Y(X)"
|
|
|
|
When Y and X are specified but I is zero, the effective address is
|
|
determined by using Y as a base then moving forward a number of memory
|
|
locations corresponding to the current value of accumulator X.
|
|
|
|
|
|
Indirect Addressing "@Y"
|
|
|
|
When I is set, the effective address is determined by taking the
|
|
contents of memory location Y and interpreting it as another memory
|
|
location the contents of which will be used by the instruction.
|
|
|
|
Indirect and indexed addressing can be combined: "@Y(X)"
|
|
|
|
|
|
The Three I's
|
|
|
|
Unfortunately, three related concepts in MACRO assembly language have
|
|
been given similar names: Index, Indirect, and Immediate.
|
|
|
|
Indexed and indirect addressing are explained above.
|
|
|
|
Immediate is an optional modifier to some instructions. When the
|
|
immediate modifier is specified, the instruction's effective address
|
|
is determined as normal, then the value of the effective address
|
|
itself is used as the numeric argument to the instruction, instead of
|
|
the contents of the effective address as would be used in a
|
|
non-immediate MOVE.
|