Addressing modes in 8086 microprocessor


In this section we will see the addressing modes of Intel 8086 microprocessor.

There are eight addressing modes in 8086 MPU. These modes are:

  • Immediate Addressing Mode

  • Register Addressing Mode

  • Direct Addressing Mode

  • Register Indirect Addressing Mode

  • Based Addressing Mode

  • Indexed Addressing Mode

  • Based-Index Addressing Mode

  • Based-Index with displacement addressing mode

Immediate Addressing

The addressing mode in which the data operand is a part of the instruction itself is known as immediate addressing mode.

MOV CX, 4929 H, ADD AX, 2387 H, MOV AL, FFH

 

Register Addressing

It means that the register is the source of an operand for an instruction.

MOV CX, AX; copies the contents of the 16-bit AX register into

; the 16-bit CX register),

ADD BX, AX

 

Direct Addressing

The addressing mode in which the effective address of the memory location is written directly in the instruction.

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

 

Register Indirect Addressing

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.

MOV AX, [BX]; Suppose the register BX contains 4895H, then the contents

; 4895H are moved to AX

ADD CX, {BX}

 

Based Addressing

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.

MOV DX, [BX+04], ADD CL, [BX+08]

 

Indexed Addressing

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.

MOV BX, [SI+16], ADD AL, [DI+16]

 

Based Index Addressing

In this addressing mode, the offset address of the operand is computed by summing the base register to the contents of an Index register.

ADD CX, [AX+SI], MOV AX, [AX+DI]

 

Based Index with Displacement Addressing

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.

MOV AX, [BX+DI+08], ADD CX, [BX+SI+16]

 

 

Updated on: 30-Jul-2019

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements