Microprocessor -8086 Addressing
Modes
The different ways in which a source operand is denoted in an
instruction is known as addressing modes. There are 8 different
addressing modes in 8086 programming −
Immediate addressing mode
The addressing mode in which the data operand is a part of the
instruction itself is known as immediate addressing mode.
Example
MOV CX, 4929 H, ADD AX, 2387 H, MOV AL, FFH
Register addressing mode
It means that the register is the source of an operand for an
instruction.
Example
MOV CX, AX ; copies the contents of the 16-bit AX register into
; the 16-bit CX register),
ADD BX, AX
Direct addressing mode
The addressing mode in which the effective address of the memory
location is written directly in the instruction.
Example
MOV AX, [1592H], MOV AL, [0300H]
Register indirect addressing mode
This addressing mode allows data to be addressed at any memory
location through an offset address held in any of the following
registers: BP, BX, DI& SI.
Example
MOV AX, [BX] ; Suppose the register BX contains 4895H, then the contents
; 4895H are moved to AX
ADD CX, {BX}
Based addressing mode
In this addressing mode, the offset address of the operand is given
by the sum of contents of the BX/BP registers and 8-bit/16-bit
displacement.
Example
MOV DX, [BX+04], ADD CL, [BX+08]
Indexed addressing mode
In this addressing mode, the operands offset address is found by
adding the contents of SI or DI register and 8-bit/16-bit
displacements.
Example
MOV BX, [SI+16], ADD AL, [DI+16]
Based-index addressing mode
In this addressing mode, the offset address of the operand is
computed by summing the base register to the contents of an
Index register.
Example
ADD CX, [AX+SI], MOV AX, [AX+DI]
Based indexed with displacement mode
In this addressing mode, the operands offset is computed by
adding the base register contents. An Index registers contents and
8 or 16-bit displacement.
Example
MOV AX, [BX+DI+08], ADD CX, [BX+SI+16]