Correct answer is (a) relative addressing mode
Easiest explanation: The memory allocation of the modular blocks can be done by the writing the software program in relocatable or position independent manner which can execute anywhere in the memory map, but relocatable code must have the same address between its data and code segments. This is used to avoid the use of absolute addressing modes which is replaced by the relative addressing modes.