macro/address.txt
2022-03-10 20:40:38 +09:00

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.