8086 Object Module Formats | Version 4.0 |
The requirements for symbol definition records for module linkinq is satisfied by the PUBLIC NAMES DEFINITION RECORD (PUBDEF),
the EXTERNAL NAMES DEFINITION RECORD (EXTDEF), and the TYPE
DEFINITION RECORD (TYPDEF). Their semantics will be explained later.
The requirements for debugqinq information are satisfied by the LOCAL SYMBOLS RECORD (LOCSYM), the LINE NU~BERS RECORD (LINNU~), the DEBUG SYMBOLS RECORD (DEBSYM), the BLOCK DEFINITION RECORD (BLKDEF),
the BLOCK END RECORD (BLKEND), and the TYPE DEFINITION RECORD
(T¥PDEF) • The association of the line numbers and local symbols to their original defining modules is essential and maintained by the THEADR record as explained earlier.
DATA
The data that defines the memory imaqe represented by a module
is maintained in six varieties of DATA records. The DATA records are of three classes: relocatable, physical, and loqical.
There are two Relocatable DATA records: RELOCATABLE ENUMERATED DATA RECORD (REOATA) and RELOCAT~BLE ITERATED DATA RECORD (RIOATA). Each relocatable DATA record is associated with a SEGDEF record or a FRA~E number, and perhaps a GRPDEF Record. The SEGDEF record or the FRAME number, and the GRPDEF record provide information to determine the absolute address at which the data bytes are to be loaded. The RIDATA record differs in that the data bytes are represented within a structure that must be expanded by the loader. The purpose of the RIDATA record is to reduce module size by encodinq repeated data rather than explicitly enumeratinq each ~yte, as the REDATA record does.
There are two Physical DATA records: PHYSICAL ENUMERATED DATA
RECORD (PEDATA) and PHYSICAL ITERATED DATA RECORD (PIDATA). The PEDATA and PIDATA records provide an absolute address at which the data bytes it contains are to be loaded.
There are also two Loqical DATA records: LOGICAL ENU~ERATED
DATA RECORD (LEDATA) and LOGICAL ITERATED DATA RECORD (LIOATA). Each logical DATA record is associated with a SEGDEF record. The SEGDEF record provides information that allows the loqical DATA records to be converted to either Relocatable DATA records or Physical DATA records.
Data bytes for all LSEG's are maintained in loqical DATA records, as an LSEG is either relocatable or it has been assiqned an address (absolute) but has not been divorced from GROUP informntion.
In summary, there ~re three classes of DATA records,
RELOCATABLE, PHYSICAL, and LOGICAL. The data bytes of the "unnamed absolute seqment~, divorced form all LSEG and GROUP information, are
found in PHYSICAL DATA RECORDS. Data bytes from all LSEG's,
11