Professional Documents
Culture Documents
Addressing
g Modes
Addressing Modes
1.
2.
Addressing Modes
Immediate
Direct
Indirect
Register
Register Indirect
Displacement (Indexed)
Stack
4
Immediate Addressing
g
Operand
Direct Addressing
g
Address A
Memory
O
Operand
d
e.g. EA = (((A)))
Multiple
M
lti l memory accesses tto fifind
d operand
d
Hence slower
10
Address A
Memory
Pointer to operand
Operand
11
Shorter instructions
Faster instruction fetch
12
No memory access
Very fast execution
Very limited address space
Multiple registers helps performance
register int a;
Register Address R
Registers
O
Operand
d
14
Register
g
Indirect Addressing
g
Register Address R
Memoryy
Registers
Pointer to Operand
Operand
16
Displacement Addressing
EA = A + (R)
Address field hold two values
A = base value
R = register that holds displacement
or vice versa
17
Pointer to Operand
O
Operand
d
18
Relative Addressing
19
Base-Register
Base
Register Addressing
A holds displacement
R holds pointer to base address
R may be explicit or implicit
e.g. segmentt registers
i t
in
i 80x86
80 86
20
Indexed Addressing
A = base
R = displacement
EA = A + R
G d for
Good
f accessing
i arrays
EA = A + R
R++
21
Combinations
Postindex
EA = ((A)) + (R)
( )
Preindex
EA = (A+(R))
22
Stack Addressing
23