0% found this document useful (0 votes)
126 views

Addressing Modes 8086

The document describes 8 addressing modes of the 8086 processor: 1) Immediate, 2) Direct, 3) Indirect, 4) Register, 5) Register Indirect, 6) Displacement (Indexed), 7) Based Indexed, and 8) Relative Based Indexed. Each mode describes how the effective address is calculated to access operands in memory or registers.

Uploaded by

Antra Gurain
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
126 views

Addressing Modes 8086

The document describes 8 addressing modes of the 8086 processor: 1) Immediate, 2) Direct, 3) Indirect, 4) Register, 5) Register Indirect, 6) Displacement (Indexed), 7) Based Indexed, and 8) Relative Based Indexed. Each mode describes how the effective address is calculated to access operands in memory or registers.

Uploaded by

Antra Gurain
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Addressing

Modes
8086
Addressing Modes
1. Immediate
2. Direct
3. Indirect
4. Register
5. Register Indirect
6. Displacement (Indexed)

0
1. Immediate Addressing
• Operand is part of instruction
• Operand = address field
• e.g. ADD AX, 5h
• LDA #5
– 5 is operand

• No memory reference to fetch data


• Fast
• Limited range

0
2. Direct Addressing
• Address field contains address of operand
• Effective address EA = address field (A)
ADD AX, value
Value DB 05h
– Add contents of cell value to accumulator AX

• MOV AX, [5000H]


• 16-bit memory address (offset) directly specified in
the instruction as a part of it.

0
Direct Addressing Diagram

0
3. Register Addressing
• Operand is held in register named in
address filed
• EA = R
• Limited number of registers
• Very small address field needed
– Shorter instructions
– Faster instruction fetch
– MOV AX, BX
– ADD AX, BX

0
Register Addressing Diagram

0
4. Indirect Addressing Diagram

AX

0
Register Indirect Addressing

• In this addressing mode, the offset address of


data is in either BX or SI or DI Register. The
default segment is either DS or ES.
• EA =[AX]
• Operand is in memory cell pointed to by contents
of register R
• MOV AX, [BX].
• Memory cell pointed to by address field contains
the address of (pointer to) the operand
• e.g. ADD BX, [AX]
– Add contents of cell pointed to by contents of
AX to accumulator
0
Register Indirect Addressing Diagram

0
Displacement Addressing
• EA = A + (R)
• Effective address=start address +
displacement
• Effective address=Offset + (Segment
Register)
• Use direct and register indirect
• Address field hold two values
– A = base value
– R = register that holds displacement
– or vice versa
0
Displacement Addressing
Diagram

0
5. Relative Addressing (PC-
Relative)
• A version of displacement addressing
• R = Program counter, PC
• EA = A + (PC)
• i.e. get operand from A cells from current location
pointed to by PC
6. Register relative addressing mode: - the data is
available at an effective address formed by adding
an
• 8-bit or 16-bit displacement with the content of any
one of the register BX, BP, SI & DI in the default
• (either in DS & ES) segment.
• MOV AX, 50H [BX] 0
Indexed Addressing
• A = base
• R = displacement
– EA = A + (R)

• In this addressing mode, offset of the operand is stored


one of the index registers. DS & ES are the default
segments for index registers SI & DI respectively.
• MOV AX, [SI]
• data is available at an offset address stored in SI in DS.

0
7. Based Indexed Addressing
• The effective address of data is formed in this
addressing mode, by adding content of a base
register (any one of BX or BP) to the content
of an index register (any one of SI or DI). The
default segment register may be ES or DS.
• MOV AX, [BX][SI]

0
8. Relative Based Indexed
Addressing

• The effective address of data is formed in this


addressing mode, by adding content of a base
register (any one of BX or BP) to the content
of an index register (any one of SI or DI). The
default segment register may be ES or DS.
• MOV AX, [BX][SI]

You might also like