What are addressing modes of 8086?

What are addressing modes of 8086?

It is a type of mode where the source operand is specified in various forms in an instruction.There are 8 different addressing modes in 8086 programming −
Immediate addressing mode
The addressing mode in which the data operand value is a part of the instruction itself is known as immediate addressing mode. In this instead of data segment, immediate addressing mode is used.
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. Transfer of data occurs using registers is called register addressing mode.
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 address of the memory location is supplied as a part of instruction directly is called direct addressing mode.
Example

MOV AX, [1592H], MOV AL, [0300H]

Register indirect addressing mode
This addressing mode allows the data to be addressed at any memory location through an offset address given in a CPU 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 exhibited 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 combining 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 values are computed by adding together the contents of the base register and an Index register contents with the addition of 8 or 16-bit displacement.
Example
MOV AX, [BX+DI+08], ADD CX, [BX+SI+16]

Scroll to Top