Addressing Modes
Addressing Modes
Addressing Modes
ES Extra Segment
BIU
CS Code Segment
Registers
SS Stack Segment
DS Data Segment
IP Instruction Pointer
AX AH AL Accumulator
BX BH BL Base Register
CX CH CL Count Register
EU
DX DH DL Data Register
Registers
SP Stack Pointer
BP Base Pointer
Source Index
SI
Register
Destination Index
DI
Register
FLAGS
Base Pointer
Destination Index
Extra Segment
Addressing modes
Addressing
modes
Register
Register Relative Based
Direct Based Indexed Relative
Indirect Indexed
.
OPCODE Immediate Operand
CS BX Pointer to Operand
Operand +
DS : BP
SS SI
Segment *10
ES DI
Reg
If reg is SI,DI,BX DS default segment
=
Microprocessor Dr. Gauri Shukla 22
8086 - Addressing modes for Data Memory
3.3 Indexed:
In this addressing mode, the data is available at an effective address
formed by adding
i. displacement
ii. with the content of any one of the index registers SI,DI in the
default segment.
(SI)
EA = (DI)
+
displacement
3.4 Based:
In this addressing mode, the data is available at an effective address
formed by adding
i. displacement
ii. with the content of any one of the registers BX, BP in the default
segment.
Registers
PA = segment : EA
Pointer to
Memory
Operand
CS (BX) (SI)
DS : (BP) + Pointer to
(DI) Operand + Operand
SS
ES
Segment
Reg
Microprocessor Dr. Gauri Shukla 28
8086 - Addressing modes for Data Memory
(BX) + (SI) +
displacement
(BP) (DI)
• PA = segment : EA
CS
DS : (BX) + (SI) +
displacement
SS (BP) (DI)
ES
Example:
4. String addressing
SI points to 1st byte or word of source string & DS –
default segment reg
DI points to 1st byte or word of destination string &
ES – default segment reg
Do not use the normal memory addressing
modes
2 types –
Memory mapped I/O
6. Implied:
In this addressing mode, the operands are
implied and hence not specified in the
instruction.