Texas Instruments 990 Operation Manual page 54

Prototyping system
Hide thumbs Also See for 990:
Table of Contents

Advertisement

~-------
~
945255-9701
Loading of Program Modules.
PX9LAL loads a program module by placing the data of the
module in the proper addresses. The object program may contain both absolute and relocatable
code. PX9LAL places data at absolute addresses supplied in the object program, and modifies
relocatable addresses to obtain actual memory addresses into which it places the associated data.
Absolute data is placed in memory directly, but relocatable' data is modified and placed in
memory. Relocation and the modifications required for relocation are described in a subsequent
paragraph .
. As PX9LAL loads a module,
it
processes the data in the module that specifies the linking to be
performed. This data consists of symbols from the operand fields of DEF statements, and
symbols from the operand fields of REF statements. PX9LAL maintains a list of symbols and
the corresponding memory addresses to perform the required linking, and to define required
modules. L.nking is described in a subsequent paragraph.
After the user enters uE" in response to the "LOAD/END?" message, PX9LAL prints a list of
symbols that represent any unresolved references and the entry point for the program. The user
may either prepare a module for loading to resolve the references and request PX9LAL to load
it, or return to the monitor.
~Relocation.
The relocation provided by PX9LAL allows the relocatable segments of program
modules to be'loaded into available memory sequentially.
WitlUn relocatable segments of a program module, all addresses are relative to the start of the
first relocatable segment of the program module. PX9LAL computes the corresponding memory
address by adding' the memory' address of the load point of
th~'
program module to the
relocatable addresses..
'
Data within the program module that represents a relocatable address or is derived from a
relocatable 'address (by evalUating an expression, for example) is relocatable even though it may
appear at an absolute address. PX9LAL modifies this data by adding the memory address of the
load point of the program module to the data.
B'y modifying addresses and data as previously described, PX9LAL makes the necessary adjust-
ments for executing the program properly from any area of memory. This modification precedes,
and is independent of, any required linking.
.
Linking.
The purpose of linking is to integrate two or more program modules as they are loaded,
resulting in a program in memory which the computer can execute properly, i.e., any address
required by more than one module must be placed in all locations that reference the address.
The object code of each module contains the symbols defined in the module for use in other
modules: A value is associated with each symbol.
.
The object code of each module also contains any symbols required in the module but defined
in another module. Associated, with each symbol is an address of a location into which the value
associated with the symbol must be placed. When the value is required in more than one location
in the module, these locations are chained together with each location containing the address of
the next location, and the last location in the chain containing zero. As supplied by the
assembler, the addresses in the chain may be either absolute or relocatable.
To link the modules, PX9LAL processes the chain associated with each external symbol by
placing the corresponding address in each location in the chain until it has placed the address in
the location that contains zero, the end of the chain.
3-16
Digital Systems Division ,

Advertisement

Table of Contents
loading

Table of Contents