Indirect Addressing
6-12
Example 6–9. Indirect Addressing With Postdisplacement Add and Circular Modify
The address of the operand to fetch is the contents of an auxiliary register
(AR
n). After the operand is fetched, the displacement (disp) is added to the
contents of the auxiliary register using circular addressing. This result is used
to update the auxiliary register. The displacement is either an 8-bit unsigned
integer contained in the instruction word or an implied value of 1.
Operation:
operand address = AR
n
AR
n = circ(ARn + disp)
Assembler Syntax:
*AR
n ++ (disp)%
Modification Field:
00110
(+)
0
0
31
24 23
Address
x
x
AR
n
31
disp
0
0
0
31
8
7
Integer
Operand
0...0
(%)
Example 6–10. Indirect Addressing With Postdisplacement Subtract and Circular Modify
The address of the operand to fetch is the contents of an auxiliary register
(AR
n). After the operand is fetched, the displacement (disp) is subtracted from
the contents of the auxiliary register using circular addressing. This result is
used to update the auxiliary register. The displacement is either an 8-bit
unsigned integer contained in the instruction word or an implied value of 1.
Operation:
operand address = AR
n
AR
n = circ(AR n – disp)
Assembler Syntax:
*AR
n – – (disp)%
Modification Field:
00111
(–)
0
0
31
24
23
Address
x
x
AR
n
31
disp
0
0
0
31
8
7
Integer
Operand
0...0
(%)