Computer Hardware User's Guide
Indirect Addressing
6-16
Example 6–17. Indirect Addressing With Postindex 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 index register (IR0 or IR1) is added
to the auxiliary register. This value is evaluated using circular addressing and
replaces the contents of the auxiliary register.
Operation: operand address = AR
n
AR
n
= circ(AR
n
+ IR
m
)
Assembler Syntax: *AR
n
++(IR
m
)%
Modification Field: 01110 if
m
= 0
10110 if
m
= 1
Index
(+)
0
031 24 23
Addressxx
AR
n
31
xx
0
31
24 23
Operand
(%)
IR
m
Example 6–18. Indirect Addressing With Postindex 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 index register (IR0 or IR1) is subtracted from the
auxiliary register. This result is evaluated using circular addressing and replaces
the contents of the auxiliary register.
Operation: operand address = AR
n
AR
n
= circ(AR
n
– IR
m
)
Assembler Syntax: *AR
n
–– (IR
m
)%
Modification Field: 01111 if
m
= 0
10111 if
m
= 1
(–)
0
0
31 24 23
Addressxx
AR
n
31
xx
0
31
24 23
Index
Operand
(%)
IR
m