Relocation table

From Wikipedia, the free encyclopedia

The relocation table is a list of pointers created by the linker and linked into the MSDOS .exe file. The relocation table tells the loader where these segments can be found in program image loaded into memory.

[edit] Explanation

Far pointers (32-bit pointers with memory segment:offset, used to address 20-bit 640 KB memory space available to MS-DOS programs), which point to code or data within an MS-DOS executable (EXE) do not have absolute segments, because the actual address of code/data depends on where the program is loaded in memory and this is not known until the program is loaded.

Instead, segments are relative values in the MS-DOS EXE file. These segments need to be corrected, when the executable has been loaded into memory. The EXE loader uses a relocation table to find the segments which need to be adjusted.

[edit] See also