Q. Define the ADDRESSING MODES?
The elementary set of operands in 8086 can reside in memory, register and immediate operand. How can these operands be retrievedby various addressing modes? The answer to the question above is provided in the subsequent sub-section. Large number of addressing modes assists in addressing complex data structures with ease. A number of specific Terms and registers roles for addressing:
Base register (BX, BP): These registers are employed for pointing to base of a stack, array etc.
Index register (SI, DI): These registers are employed as index registers in data and/or extra segments.
Displacement: It signifies offset from the segment address.
Addressing modes of 8086
Mode
|
Description
|
|
Direct
|
Effective address is the displacement of memory variable.
|
|
Register Indirect
|
Effective address is the contents of a register.
|
[BX]
|
[SI]
|
[DI]
|
[BP]
|
Based
|
Effective address is the sum of a base register and a displacement.
|
LIST[BX]
(OFFSET LIST + BX)
|
[BP + 1]
|
Indexed
|
Effective address is the sumof an index register and a displacement.
|
LIST[SI]
|
[LIST +DI]
|
[DI + 2]
|
Based Indexed
|
Effective address is the sum of a base and an index register.
|
[BP + DI]
|
[BP + DI]
|
Based Indexed with
displacement
|
Effective address is the sum of a base register, an index register, and a displacement.
|
[BX + SI + 2]
|