
Linkers and Loaders 451
C.1.2 Tasks Performed by a Linker
Each module starting address is 0, each is to be allocated a separate load address.
For the example modules in Fig. C.2, assuming that the O/S resident part takes 100 units, then the
load addresses are as shown in Table C.1.
Obviously, the Linker will have to:
c
adjust the Jump addresses;
c
adjust address of local references;
c
find location of the external symbols and insert their addresses.
Table C.1
Example: modules to be linked
Module Length Starting or Load address
A 300 100
B 600 400
C 400 1000
D 300 1400
C.1.3 An Object Module
What information should be there? See Fig. C.3.
Contents of each ...