Difference between Direct and Indirect Addressing Modes
Prerequisite: Addressing Modes
1. Direct Addressing Mode:
In direct addressing mode, address field in the instruction contains the effective address of the operand and no intermediate memory access is required. Now a days it is rarely used.
Attention reader! Don’t stop learning now. Practice GATE exam well before the actual exam with the subject-wise and overall quizzes available in GATE Test Series Course.
Learn all GATE CS concepts with Free Live Classes on our youtube channel.
Add the content of R1 and 1001 and store back to R1:
Add R1, (1001)
Here 1001 is the address where operand is stored.
2. Indirect Addressing Mode:
In Indirect addressing mode, address field in the instruction contains the memory location or register where effective address of operand is present. It requires two memory access. It is further classified into two categories: Register Indirect, and Memory Indirect.
LOAD R1, @500
Above instruction is used to load the content of memory location stored at memory location 500 to register R1. In other words we can say, effective address is stored at memory location 500.
Difference between Direct and Indirect Addressing Modes:
|S.NO||Direct Addressing Mode||Indirect Addressing Mode|
|1.||Address field contains the effective address of operand||Address field contains reference of effective address|
|2.||Requires only one memory reference||Requires two memory references|
|3.||Fast addressing||Slower than direct addressing mode|
|4.||No further classification||Further classified into two categories|
|5.||No further calculation is required to perform the operation||Require further calculation to find the effective address|