8086 Addressing Mode - Final
8086 Addressing Mode - Final
Addressing Mode:
Operand may accessible from Accumulator, GRP, and Memory hence
Where is operand available?
How to access it, by instruction? Determine through addressing mode. Instruction is of two type
1. sequential control instructions (data transfer ,arithmetic, logical, processer control)
2. Control transfer instruction (Branch ,CALL, RET, JUMP)
Hence as according to instruction addressing mode is of two types
For sequential control transfer there are 8 addressing mode
Note: for the memory addressing mode has to calculate PHYSICAL address because memory is
of 20 bit where physical addressed= segment adds*10H+offset add,
|
Where element of offset address are
a. Displacement: it is 8 /16 bit immediate value given in instruction
b. Base: it is the content of the base register, BX or BP
c. Index: it is the content of the Index register, SI or DI
KITE Page 1
Sushila soni Lecturer ET & T
NOTE: there are two limitations to use segment register in mov instruction
1. MOV AL, [8088H]; move the content of 8088h offset address into AL register
2. MOV [1234H], DL: move the content of DL into 1234h
3. MOV AX, [1234H]; move the content 1234h into AL and content of 1235h into AH register.
In this addressing mode you can access memory indirectly through the register
KITE Page 2
Sushila soni Lecturer ET & T
KITE Page 3
Sushila soni Lecturer ET & T
MOV AL, disp [BX], if BX = 1000h, and MOV AL, 20[BX], then AL load from DS: 1020h
MOV AL, disp [BP], if BP = 2020h, and MOV AL, 1000[BP], then AL load from SS: 3020h
Default segment register for BX is “DS”, and for BP “SS”, and if you want to change default segment
then it is possible through segment override prefix symbol. Likewise
MOV AL, SS: disp [BX]
MOV AL, DS: disp [BP]
KITE Page 4
Sushila soni Lecturer ET & T
MOV AL, disp [BX + SI] MOV AL, disp [BP + SI]
MOV AL, disp [BX + DI] MOV AL, disp [BP + SI]
KITE Page 5
Sushila soni Lecturer ET & T
KITE Page 6