Difference between Indirect and Immediate Addressing Modes

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 address stored at register B.



ADD [B] 

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 Direct and Immediate Addressing Modes.

Indirect Addressing Mode Immediate Addressing Mode
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 requires two reference to memory. It does not require any reference to memory.
It is slower compared to immediate mode. It is a faster process.
It has more range than in immediate mode. It has a limited range.
It is further classified into two categories. No further classification.
Example: ADD [B] Example: ADD 5

Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.