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

addressing-modes-of-8086

The document discusses the various addressing modes of the 8086 microprocessor, which are essential for understanding how operands are accessed during instruction execution. It outlines eight types of addressing modes: Immediate, Direct, Register, Register Indirect, Indexed, Register Relative, Base Plus Index, and Base Relative Plus Index, each with specific characteristics and examples. These modes facilitate data transfer between registers and memory locations in different ways.

Uploaded by

aditirathod1918
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

addressing-modes-of-8086

The document discusses the various addressing modes of the 8086 microprocessor, which are essential for understanding how operands are accessed during instruction execution. It outlines eight types of addressing modes: Immediate, Direct, Register, Register Indirect, Indexed, Register Relative, Base Plus Index, and Base Relative Plus Index, each with specific characteristics and examples. These modes facilitate data transfer between registers and memory locations in different ways.

Uploaded by

aditirathod1918
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Addressing Modes of

8086
Why study addressing modes?

Addressing modes help us to understand the types of


operands and the way they are accessed while
executing an instruction.
Types of addressing mode in 8086
1. Immediate addressing mode

2. Direct addressing mode

3. Register addressing mode

4. Register Indirect addressing mode

5. Indexed addressing mode

6. Register relative addressing mode

7. Base plus index addressing mode


1: Immediate addressing mode

 In this type of mode, immediate data is part of instruction


and appears in the form of successive byte or bytes

10 ABH

MOV AX,10ABH AX
2: Direct addressing mode

 In this type of addressing mode a 16-bit memory address is


directly specified in the instruction as a part of it.

Memory
22 5000
33 5001
MOV AX,[5000H] 5002

AX
3: Register addressing mode
 Here, the data is stored in the register and it can be a 8-bit
or 16-bit register.
 All the registers, except IP, may be used in this mode.

10 AB BX
MOV AL,BLH BH BL
MOV AX,BXH FF 33 AX
AH AL
4: Register Indirect addressing mode

 The address of the memory location which contains data or


operand is determined in a indirect way, using the offset
register.
Memory
22 5000
AX
33 5001

MOV AX,[BX] 5002

50 00 BX
5: Indexed addressing mode
 In this addressing mode, offset of the operand is stored in
one of the index registers.
 DS is the default segment for index register SI and DI.
Memory
22 5000
AX
33 5001
MOV AX,[SI] 5002

50 00 SI
6: Register relative addressing mode

 In this 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 registers BX, BP, SI and DI in the
default (either DS or ES) segment.
Memory
44 5051
AX
33 5052

MOV AX, 50H[BX] 5053

50 00 + 50H = 5050H
Final
Index
BX Offset Address
7: Base plus index addressing mode
 In this mode the effective address is formed by adding
content of a base register (any one of BX or BP) to the
content of an index register (SI or DI).
 Default segment register DS.
12 3000
AX
MOV AX, [BX] [SI] 34 3001
3002

10 00 + 20 00 = 3000H
Final
BX SI Index
Address
8: Base relative plus index addressing mode

 In the effective address is formed by adding an 8 or 16-bit


displacement with sum of contents of any one of the base
registers (BX or BP) and any one of the index registers, in a
default segment.
12 3050
MOV AX,50H[BX][SI] AX
34 3051
3052

50H + 10 00 20 00 = 3050H
Final
BX SI Index
Address
Addressing Modes
 Register - transfers a byte or word from the source register or
memory location to the destination register or memory location
MOV BX, CX
 Immediate - transfers an immediate byte or word of data into
the destination register or memory location
MOV AX, 3456h
 Direct - moves a byte or word between a memory location and
a register
MOV AL, [1234h] (1234h is treated as a displacement within
data segment)
Addressing Modes(cont.)
 Register Indirect (base relative or indexed) - transfers a byte
or word of data between a register and the memory location
addressed by an index (DI or SI) or base register (BP or BX)
MOV AX, [BX]
 Base Plus Index (base relative indexed) - transfers a byte or
word of data between a register and the memory location
addressed by a base register (BP or BX) plus index (DI or SI)
register
MOV DX, [BX + DI]
Addressing Modes(cont.)
 Register Relative - transfers a byte or word of data between a
register and the memory location addressed by an index (DI or SI)
or base register (BP or BX) plus displacement
MOV AX, [BX + 1000h]

 Base Relative Plus Index (base relative indexed) - transfers a byte


or word of data between a register and the memory location
addressed by a base register (BP or BX) plus an index register (DI
or SI)
MOV AX, [BX + SI + 100h]

You might also like