0% found this document useful (0 votes)
2 views3 pages

Types of Addressing Modes in Computer Architecture

The document outlines various addressing modes used by 8086 microprocessors, including implied, immediate, register, register indirect, auto indexed (increment and decrement), direct, indirect, indexed, based indexed, PC relative, and base register addressing modes. Each mode is described with its operation, examples, and specific characteristics. These addressing modes are essential for data manipulation and control flow in computer architecture.

Uploaded by

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

Types of Addressing Modes in Computer Architecture

The document outlines various addressing modes used by 8086 microprocessors, including implied, immediate, register, register indirect, auto indexed (increment and decrement), direct, indirect, indexed, based indexed, PC relative, and base register addressing modes. Each mode is described with its operation, examples, and specific characteristics. These addressing modes are essential for data manipulation and control flow in computer architecture.

Uploaded by

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

Types of Addressing Modes in Computer Architecture

Addressing Modes used by 8086 microprocessors are discussed below:

Implied mode

In implied addressing the operand is specified in the instruction itself. In this mode the data is 8 bits
or 16 bits long and data is the part of instruction. Zero address instruction are designed with implied

addressing mode.

Example: CLC
(used to reset Carry flag to 0)

Immediate addressing mode (symbol #)

In this mode data is present in address field of instruction. Designed like one address instruction
format. Note: Limitation in the immediate mode is that the range of constants are restricted by size

of address field.

Example: MOV AL, 35H


(move the data 35H into AL register)

Register mode

In register addressing the operand is placed in one of 8 bit or 16 bit general purpose registers. The
data is in the register that is specified by the instruction. Here one register reference is required to

access the data.

Example: MOV AX,CX


(move the contents of CX register to AX register)

Register Indirect mode

In this addressing the operand’s offset is placed in any one of the registers BX,BP,SI,DI as specified in
the instruction. The effective address of the data is in the base register or an index register that is
specified by the instruction. Here two register reference is required to access the data.
The
8086 CPUs let you access memory indirectly through a register using the register indirect addressing
modes.

MOV AX, [BX]


(move the contents of memory location addressed by the register BX to the register AX)

Auto Indexed (increment mode)

Effective address of the operand is the contents of a register specified in the instruction. After
accessing the operand, the contents of this register are automatically incremented to point to the
next consecutive memory location.(R1)+. Here one register reference, one memory reference and
one ALU operation is required to access the data. Example:

Add R1, (R2)+ // OR


R1 = R1 +M[R2]
R2 = R2 + d

Useful for stepping through arrays in a loop. R2 - start of array d - size of an element

Auto indexed ( decrement mode)

Effective address of the operand is the contents of a register specified in the instruction. Before
accessing the operand, the contents of this register are automatically decremented to point to the
previous consecutive memory location. -(R1)Here one register reference, one memory reference and
one ALU operation is required to access the data. Example:

Add R1,-(R2) //OR


R2 = R2-d
R1 = R1 + M[R2]

Auto decrement mode is same as auto increment mode. Both can also be used to implement a stack
as push and pop . Auto increment and Auto decrement modes are useful for implementing “Last-In-
First-Out” data structures.

Direct addressing/ Absolute addressing Mode (symbol [ ])

The operand’s offset is given in the instruction as an 8 bit or 16 bit displacement element. In this
addressing mode the 16 bit effective address of the data is the part of the instruction. Here only one
memory reference operation is required to access the data.

Example: ADD AL,[0301] //add the contents of offset address 0301 to AL

Indirect addressing Mode (symbol @ or () )


In this mode address field of instruction contains the address of effective address. Here two
references are required. 1st reference to get effective address. 2nd reference to access the data.
Based on the availability of Effective address, Indirect mode is of two kind:

 Register Indirect: In this mode effective address is in the register, and corresponding register
name will be maintained in the address field of an instruction. Here one register reference,
one memory reference is required to access the data.

Example : MOV A, @R0

 Memory Indirect: In this mode effective address is in the memory, and corresponding
memory address will be maintained in the address field of an instruction. Here two memory
reference is required to access the data.

Example : MOV AX, [[5000H]]

Indexed addressing mode

The operand’s offset is the sum of the content of an index register SI or DI and an 8 bit or 16 bit
displacement.

Example: MOV AX, [SI +05]

Based Indexed Addressing

The operand’s offset is sum of the content of a base register BX and an index register SI or DI.

Example: ADD AX, [BX+SI]

Based on Transfer of control, addressing modes are:

PC relative addressing mode

PC relative addressing mode is used to implement intra segment transfer of control, In this mode
effective address is obtained by adding displacement to PC.

EA= PC + Address field value


PC= PC + Relative value.

Base register addressing mode

Base register addressing mode is used to implement inter segment transfer of control. In this mode
effective address is obtained by adding base register value to address field value.

EA= Base register + Address field value.


PC= Base register + Relative value

You might also like