The HP 9000 Assembly Language represents machine
language instructions symbolically, and permits declaration of addresses
symbolically as well. The Assembler's function is to translate an
assembly language program, stored in a source file,
into machine language. The result of this translation resides in
a relocatable object file. The object file
is relocatable because it can still be combined with other relocatable
object files and libraries. Therefore, it is necessary to relocate
any addresses that the Assembler chooses for the symbols in the
source program.
This process of combining object files and libraries is performed
by the linker, ld.
The linker's task is to transform one or more relocatable object
files into an executable program file. Every
program must be linked before it can be executed, even if the source
file is complete within itself and does not need to be combined
with other files.