Differentiate between non-relocatable and relocatable programs.
A non-relocatable program is one which cannot be executed in any memory area other than the area starting at its translated origin. For illustration a hand coded machine language program.
A relocatable program is one which can be processed to relocate it to a selected area of memory. For illustration an object module. The difference among a relocatable and a non-relocatable program is the availability of information relating to the address sensitive instructions in this. A self-relocating program is the one which can perform the relocation of its own address sensitive instructions.