Computer Hardware User's Guide
Indirect Addressing
6-14
Example 6–13. Indirect Addressing With Preindex Add and Modify
The address of the operand to fetch is the sum of an auxiliary register (AR
n
) and
an index register (IR0 or IR1). After the data is fetched, the auxiliary register is
updated with the generated address.
Operation: operand address = AR
n
+ IR
m
AR
n
= AR
n
+ IR
m
Assembler Syntax: *++AR
n
(IR
m
)
Modification Field: 01010 if
m
= 0
10010 if
m
= 1
(+)
0
0
31 24 23
Addressxx
AR
n
31
IR
m
x
0
31
Index
Operand
24 23
x
Example 6–14. Indirect Addressing With Preindex Subtract and Modify
The address of the operand to fetch is the difference between an auxiliary register
(AR
n
) and an index register (IR0 or IR1). The resulting address becomes the new
contents of the auxiliary register.
Operation: operand address = AR
n
– IR
m
AR
n
= AR
n
– IR
m
Assembler Syntax: *––AR
n
(IR
m
)
Modification Field: 01011 if
m
= 0
10011 if
m
= 1
(–)
0
031 24 23
Addressxx
AR
n
31
IR
m
x
0
31
Index
Operand
24 23
x