Skip to content
Related Articles
Open in App
Not now

Related Articles

Difference between Register Mode and Register Indirect Mode

Improve Article
Save Article
  • Difficulty Level : Easy
  • Last Updated : 09 Jan, 2023
Improve Article
Save Article

Prerequisite – Addressing Modes 

1. Register Mode: In register addressing mode, the operand is placed in one of the 8-bit or 16-bit general-purpose registers. The data is in the register that is specified by the instruction.

Example:

MOV R1, R2 

Instruction has register R2 and R2 has operand. 

2. Register Indirect Mode: In register indirect addressing mode, the address of the operand is placed in any one of the registers. The instruction specifies a register that contains the address of the operand. 

Example:

ADD R1, (R2) 

Instruction has register R2 and R2 has the memory address of operand. 

Difference between Register Mode and Register Indirect Mode are as follows:time-consumingregisteredregistered

ParametersREGISTER MODEREGISTER INDIRECT MODE
OperandThe operand is placed in the general-purpose register.The operand’s offset is placed in one of the registers.
Address FieldIn register mode, the address field contains the effective address of the operand. In register indirect mode, the address field contains a reference of the effective address.
Register ReferencesIt requires only one register reference to access data.It requires two register references to access data.
CalculationsNo further calculation is required to perform the operation.Requires further calculation to find the effective address.
Processing SpeedRegister addressing mode is fast.Register indirect addressing mode is slow.
Accessing of dataIt is easier to access the data in register mode.It is a bit complex to access the data in register indirect mode.
UsesIt uses temporary variables.It uses pointers.
AdvantageRequirement of a small address field and no time consuming memory accesses.There is no such constraint imposed on the address range by the address field.
DisadvantageConstrained Address SpaceTo retrieve the operand, there is need for two memory references for the execution of instruction: one to get its address and another to get its value.
My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!