Difference between PC relative and Base register Addressing Modes
Prerequisite – Addressing Modes
1. PC relative addressing mode: PC relative addressing mode is used to implement the intra-segment transfer of control, In this mode effective address is obtained by adding displacement to the PC.
EA = PC + Address field value PC = PC + Relative value
2. Base register addressing mode: Base register addressing mode is used to implement inter segment transfer of control. In this mode effective address is obtained by adding base register value to address field value.
EA = Base register + Address field value PC = Base register + Relative value
Difference between PC Relative And Base Register Addressing modes:
PC Relative Addressing Mode | Base Register Addressing Mode |
---|---|
The content of the program counter is added to the addressing field of the instruction i to obtain the effective address. | The base register content is added to the addressing field of the instruction to obtain the effective address. |
The addressing field of the instruction is mostly a signed number which can be either positive or negative. | A base register holds a base address and the addressing field of the instruction gives displacement according to the base address. |
A program counter always keeps track of the instructions of the program stored in its memory. | A particular register has to be selected from the register set, according to the instruction. |
Uses more bits as it has to specify a memory address directly. | Uses fewer bits as it has to select a register from a register set. |
A program counter always contains the address of the immediately next instruction to be executed. After fetching the address mentioned in the instruction, the program counter value immediately increases. | In Base Register addressing mode the displacement value can be the same as the value required to reference the desired address as it does not immediately go to the next instruction. |
The Effective address of the operand is obtained by adding the program counter content to the addressing field of instruction. | The Effective address of the operand is obtained by adding the base register content to the addressing field of instruction. |
EA = PC + Address field value PC = PC + Relative value | EA = Base register + Address field value PC = Base register + Relative value |
The assembler understands the value of PC while attempting to construct an instruction in PC-Relative mode. | However, while attempting to build instruction in base relative mode, the assembler does not know the value of the base register. |
Contact Us