Chapter Three
Addressing Modes of
8086
Introduction
Based on flow of execution
• Sequential control flow instruction
• Arithmetic and logical instruction
• Data transfer instruction
• Processor control instruction
• Control transfer instruction
• Jump
• Call
• Interrupt
• return
Cont.
• The different ways in which a processor can
access data in the instruction are called addressing
modes.
• It is also expressed as way of locating data or operands.
• 8086 assembly language instructions can be used to
illustrate the addressing modes
• Format of MOV instruction:
MOV destination, source
Cont’d…
Source of data can be
• Immediate data
• A specified register
• A memory location specified in 1 of 24
different ways
Destination of data can be
• A specified register
• A memory location specified in 1 of 24
different ways
Classification of Addressing Modes Cont’d…
• Immediate addressing mode
• Direct addressing mode
• Register addressing mode
• Register Indirect addressing
mode
• Indexed addressing mode
• Register relative addressing
mode
• Based indexed addressing
mode
• Relative based indexed
addressing mode
Immediate Addressing Modes
Immediate data is a part of instruction.
The immediate data may be 8-bit or 16-bit in size.
MOV AX, 0005H
In the above example, 0005H is the immediate data.
Direct addressing mode
Memory Address (Offset) Is Directly Specified In
The Instruction .
MOV AX, [2500H]
Here, data besides in a memory location in the data
segment.
Physical Address Of Memory Location Is Calculated
Using DS=5000H And Offset Value 2500H.
Physical Address = DS*10H + Offset
Register Addressing Mode
Source and Destination Can Be One Of The 8086
Registers
Example:
MOV AX, BX ; 16-bit Data Transfer
Register Indirect Addressing Mode
The Offset Address Of Data Is In Either BX Or SI Or
DI Registers.
The Default Segment Is Either DS Or ES.
Example: MOV AX, [BX].
Here, Data Is Present In A Memory Location In DS
Whose Offset Address Is In BX.
The Effective Address Of The Data Is Given As
10H*DS+[BX].
Indexed Addressing Mode
Here, data is available at an offset address
stored in SI in DS as well as DI in ES.
MOV AX, [SI].
Register Relative Addressing Mode
MOV Ax, 50H [BX].
Here, physical address is given as:
10H*DS+50H+[BX]
Based Indexed Addressing Mode
MOV AX, [BX] [SI].
Here, BX is the base register and SI is the index
register.
The physical address is computed as is the index
register.
The physical address is computed as: 10H*DS+[BX]+
[SI].
Relative Based Indexed Addressing
Mode
MOV AX, 50H [BX] [SI]
Here, 50H is an immediate displacement, BX is a base
register and SI is an index
The physical address of data is computed as:
10H*DS+[BX] + [SI] + 50H.
Control transfer instruction
JMP, CALL , RET, INT
• Intersegment: when control is transfer to another segment.
• There are two ways direct and indirect address.
Eg. Direct address
JMP 5000H, 2000H
Effective address 2000H in segment 5000H
Eg. Indirect address
JMP 5000H, [2000H]
Effective address DS*10H + address found at [2000H] memory
location
Cont.
• Intra-segment: control transfer within the same segment.
• There are two ways direct and indirect address
Eg. Direct address
JMP SHORT LABEL
For controlling loop operation.
Eg. Indirect address
JMP [BX]
Effective address DS*10H + address referred by BX in memory
location