8086 Object Module Formats

Version 4.~

absolute or relocatable, are found in LOGICAL DATA RECORDS. The

ENUMERATED and ITERATED attributes within the classes are two ways of representinq the actual data bytes.

A 8086 loader can load RDATA or PDATA Records, but will probably not be able to maintain the LSEG table information reauired

for loadinq LDATA Records. Thus, Relocatable and Physical DATA records are sometimes called "Loadable " DATA records, and Logical DATA records are called uNon-Loadable d DATA records.

INDICES

Throughout the 808~-OMFspecification, "index U fields occur. An index is an integer that selects some particular item from a

collection of such items. (Exhaustive list of examples: NA~E

INDEX, SEGMENT INDEX, GROUP INDEX, EXTERNAL INDEX, TYPE INDEX, BLOCK INDEX.)

(Note) An index is normally a positive number. The index value zero is reserved, and may carry a special meaning dependant upon the type of index (e.q., a Seqment I~dex of zero specifies the ·Unnamed,

absolute pseudo-segment; a Type Index of zero specifies the "Untyped type U (which is different from "Decline to state"» ~ (End of Note)

In general, indices must assume values quite larqe (i . e . , much larger than 255). Nevertheless, a qreat number of ob;ect files will

contain no indices with values qreater than 50 or 100. Therefore, indices will be encoded in 1 or 2 bytes, as required:

The hiqh-order (left-most) bit of the first (and possibly the only) byte determines whether the index occupies one hyte or two.

If the bit is 0, then the index is a number between 0 and 127,

occupying one byte. If the bit is 1, then the index is a number between 0 and 32K-l, occupyinq two bytes, and is determined as

follows: the low-order 8 bits are in the second byte, and the hiqh- order 7 bits are in the first byte.

12

Page 12
Image 12
Intel 121748-001 manual Indices