Page 123 - DCAP507_SYSTEM_SOFTWARE
P. 123
Unit 8: Introduction to Linking and Loading
Notes
Task Make distinction between absolute address and relative address.
8.1.6 Direct Linking Loaders
The direct linking loader is the main common type of loader. This type of loader is a relocatable
loader. The loader can not have the direct access to the source code. And to position the object
code in the memory there are two circumstances: either the address of the object code could be
absolute which then can be directly positioned at the specified location or the address can be
relative. If at all the address is relative then it is the assembler who notifies the loader regarding
the relative addresses.
The assembler should give the following information to the loader:
1. The length of the object code segment.
2. The list of all the symbols which are not defined 111 the present segment but can be
utilized in the current segment.
3. The list of all the symbols which are defined in the existing segment but can be referred by
the other segments.
The list of symbols which are not defined in the current segment but can be used in the current
segment are stored in a data structure called USE table. The USE table preserves the information
such as name of the symbol, address, address relativity.
The list of symbols which are defined in the current segment and can be referred by the other
segments are accumulated in a data structure known as DEFINITION table. The definition table
preserves the information like symbol, address.
Self Assessment
Fill in the blanks:
1. ................................. is defined as a utility program which considers object code as input
organizes it for implementation and loads the executable code into the memory.
2. In ................................. loader, the instruction is read line by line, its machine code is
attained and it is directly placed in the major memory at some recognized address.
3. In ................................. Scheme loader scheme, the source program is transformed to object
program by some translator (assembler).
4. ................................. is a type of loader in which relocated object files are produced, loader
accepts these files and positions them at particular locations in the memory.
5. To state a subroutine as external, we can use the assembler directive .................................
6. The general process of establishing the relations among the subroutines can be theoretically
known as ................................. linkage.
7. ................................. is the procedure of modernizing the addresses used in the address
sensitive instructions of a program.
8. The ................................. address can be directly utilized to map the object code in the main
memory.
9. The ................................. address is only after the addition of relocation constant to the
object code address.
LOVELY PROFESSIONAL UNIVERSITY 117