Open In App

Difference between Indirect and Immediate Addressing Modes

Last Updated : 30 Jun, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

Prerequisite – Addressing Modes 

1. Indirect Addressing Mode: 

In indirect addressing mode, the address field in the instruction points to the memory location or register where the effective address of the operand is present. 

Two memory accesses are required. One to get the value stored at the given address field. Second to get the effective address of operand at the address found. It can be further classified as Register Indirect addressing and Memory Indirect Addressing.

  

Example: Add the contents of the address stored at register B.

ADD [B] 

In the address field of the instruction, here register B holds the address of the operand. 

2. Immediate Addressing Mode: 

In immediate addressing mode, the operand is a part of the instruction.

Here the Operand = Address Field 

 

Example: Add 8 to the accumulator.

ADD 8 

No memory reference is required to fetch data. So no additional calculations are required to work out the effective address. It is a fast method. But the downside is that it has a limited range.

Now let’s compare Indirect and Immediate Addressing Modes.

S. No. Parameters Indirect Addressing Mode Immediate Addressing Mode
1. Address Field The address field of the instruction holds the address of the operand.  There is no address field as the operand is a part of the instruction. It has an operand field instead of an address field.
2. Memory Reference It requires two references to memory. It does not require any reference to memory for fetching data.
3. Process Speed It is slower compared to the immediate mode. It is a faster process.
4. Range It has more range than in immediate mode. It has a limited range.
5. Categories It is further classified into two categories- Memory Indirect and Register Indirect No further classification.
6. Example ADD [B] ADD 5
7. Advantage Availability of enormous address space. Memory reference is not required.
8. Disadvantage More memory references are required. Limitation on operand value
9. Application It aids in the implementation of pointers and arrays as arguments. Registers are initialized to a fixed value.

Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads