Indirect Addressing
6-10
Example 6–5. Indirect Addressing With Predisplacement Add and Modify
The address of the operand to fetch is the sum of an auxiliary register (AR
n) and
the displacement (
disp). The displacement is either an 8-bit unsigned integer
contained in the instruction word or an implied value of 1. After the data is
fetched, the auxiliary register is updated with the address generated.
Operation:
operand address = AR
n + disp
AR
n = ARn + disp
Assembler Syntax:
*++AR
n (disp)
Modification Field:
00010
(+)
0
0
31
24 23
Address
x
x
AR
n
31
disp
0
0
0
31
8
7
Integer
Operand
0...0
Example 6–6. Indirect Addressing With Predisplacement Subtract and Modify
The address of the operand to fetch is the contents of an auxiliary register
(AR
n) minus the displacement (disp). The displacement is either an 8-bit
unsigned integer contained in the instruction word or an implied value of 1.
After the data is fetched, the auxiliary register is updated with the address
generated.
Operation:
operand address = AR
n – disp
AR
n = ARn – disp
Assembler Syntax:
*– –AR
n(disp)
Modification Field:
00011
(–)
0
31
24 23
Address
x
x
AR
n
31
disp
0
0
0
31
8
7
Integer
Operand
0...0
0