Computer Hardware User's Guide

Group Addressing Mode Instruction Encoding
13-22
Table 13–10. Indirect Addressing
(a) Indirect addressing with displacement
Mod Field Syntax Operation Description
00000 *+AR
n
(
disp
) addr = AR
n
+
disp
With predisplacement add
00001 *–AR
n
(
disp
) addr = AR
n
disp
With predisplacement subtract
00010 *++AR
n
(
disp
) addr = AR
n
+
disp
AR
n
= AR
n
+
disp
With predisplacement add and modify
00011 *–AR
n
(
disp
) addr = AR
n
disp
AR
n
= AR
n
disp
With predisplacement subtract and modify
00100 *AR
n
++(
disp
) addr = AR
n
AR
n
= AR
n
+
disp
With postdisplacement add and modify
00101 *AR
n
––(
disp
) addr = AR
n
AR
n
= AR
n
disp
With postdisplacement subtract and modify
00110 *AR
n
++(
disp
)% addr = AR
n
AR
n
= circ(AR
n
+
disp
)
With postdisplacement add and circular modify
00111
*AR
n
––(
disp
)% addr = AR
n
AR
n
= circ(AR
n
disp
)
With postdisplacement subtract and circular modify
(b) Indirect addressing with index register IR0
Mod Field Syntax Operation Description
01000 *+AR
n
(IR0) addr = AR
n
+ IR0 With preindex (IR0) add
01001 *–AR
n
(IR0) addr = AR
n
– IR0 With preindex (IR0) subtract
01010 *++AR
n
(IR0) addr = AR
n
+ IR0
AR
n
= AR
n
+ IR0
With preindex (IR0) add and modify
01011 *AR
n
(IR0) addr = AR
n
– IR0
AR
n
= AR
n
– IR0
With preindex (IR0) subtract and modify
01100 *AR
n
++(IR0) addr = AR
n
AR
n
= AR
n
+ IR0
With postindex (IR0) add and modify
01101 *AR
n
(IR0) addr= AR
n
AR
n
= AR
n
– IR0
With postindex (IR0) subtract and modify
01110 *AR
n
++(IR0)% addr = AR
n
AR
n
= circ(AR
n
+ IR0)
With postindex (IR0) add and circular modify
01111
*AR
n
(IR0)% addr = AR
n
AR
n
= circ(AR
n
– IR0)
With postindex (IR0) subtract and circular modify
Legend: addr memory address ++ add and modify
AR
n
auxiliary registers AR0–AR7 subtract and modify
circ() address in circular addressing % where circular addressing is performed
disp
displacement IR
n
index register IR0 or IR1