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.
Share your thoughts in the comments
Please Login to comment...