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.|