Difference Between Direct And Indirect Addressing Instruction

DIRECT ADDRESSING INSTRUCTION:

This is one of the addressing instructions which are widely used in the computer system for storing data into the main memory or the registers of that very system.

The type of addressing instruction in which the instruction code which is the secondary part is directly corresponding to the operand’s memory address is called as Direct addressing instruction.

INDIRECT ADDRESSING INSTRUCTION:

This is also one of the addressing instructions which are widely used in the computer system for storing data into the main memory or the registers of that very system.

The type of addressing instruction in which the instruction code which is the secondary part is directly corresponding to the operand’s effective address is called as Indirect addressing instruction.

 

Difference Between Direct and Indirect Addressing Instruction

Direct Addressing InstructionIndirect Addressing Instruction
Contains the effective address of the operandProvides the address for the part of memory where the effective address is stored
Access of the data is done through a single reference of memoryIt has mostly multiple references of the memory to search the operand
no extra overhead required to search for the operand’s effective addressOverhead to search for the operand’s effective address
It is very fast and does not bog down the systemIt slows down the system and lowers the execution speed as well
It firstly reads the instruction and then it reads the operandit firstly reads the instruction, then it reads the effective address and then lastly it reads the operand
Faster memory accessSlower memory access
It requires small address spaceIt requires large address space

 

Key Differences

 

  • In case of direct addressing instruction, the instruction of this type already contains the effective address of the operand, whereas; in case of indirect addressing instruction, the instruction provides the address for the part of memory where the effective address is stored.
  • In case of direct addressing instruction, this type of instruction the access of the data is done through a single reference of memory, whereas; in case of indirect addressing instruction, this type of instruction has mostly multiple references of the memory to search the operand.
  • In case of direct addressing instruction, this type of instruction has no extra overhead required to search for the operand’s effective address, whereas; in case of indirect addressing instruction, this type of instruction has many overheads to search for the operand’s effective address.
  • The direct addressing instruction is very fast and does not bog down the system, whereas; the indirect addressing instruction slows down the system and lowers the execution speed as well.
  • In case of direct addressing instruction, it firstly reads the instruction and then it reads the operand, whereas; in case of indirect addressing instruction, it firstly reads the instruction, then it reads the effective address and then lastly it reads the operand.
  • When we talk about the direct addressing instruction, then we must understand the fact that there is a limited address space; whereas; when we talk about the indirect addressing instruction, then we must understand the fact that there is a very large address space to cater to.
  • The direct addressing instruction provides the functionality of faster memory access; whereas; the indirect addressing instruction provides the functionality of relatively slower memory access.

Leave a Reply