8086 Object Module Formats

version 4.0

pointer is present or not): (2) an OFFSET is merely the low order

word of a pointer (and R&L doesn't care if the high order word follows or not); (3) a HIBYTE is merely the hiqh order half of an OFFSET (and R&L doesn't Nare if the low order half precedes or not);

(4)a LOBYTE is merely the low order half of an OFFSET (and R&L doesn't care if the hiQh order half follows or not).

ALOCATION is specified -by 2 data: (1) which of the above 5

types the LOCATION is, and (2) where the LOCATION is . (1) is specified by the LOC subfield of the LOCAT field of the FIXUPP Record; (2) is specified by the DATA RECORD OFFSET subfield of the LOCAT field of the FIXUPP Record.

MODE - R&L supports 2 kinds of fixups: dself-relative~and dseqment- relative-.

Self-relative fixups support the 8- and 16-bit offsets that are used in the CALL, JUMP and SHORT-JUMP instru~tions. Seqment- relative fixups support all other addressinq modes of the 8086.

TARGET - The TARGET is the location in MAS beina referenced. (More explicitly, the TARGET may be considered to be the lowest byte in

the object beinq referenced.) A TARGET is specified in one of 8

ways. There are 4 -primary- ways, and 4 ~secondary- ways. -Each primary way of specifyinq a TARGET uses 2 data: an INDEX-or-FRAME- NU~BER 'X', and a displacement '0':

(T0) X is a SEGMEN'r INDEX. The TARGET is the O'th byte in the LSEG identified by the INDEX.

(TI) X is a GROUP INDEX. The TARGET is the O'th byte followinq the first byte in the LSEG in the qroup that is eventually LOCATE'd lowest in MAS.

(T2) X is an EXTERNAL INDEX. The TARGET is the O'th byte

followinq the byte whose address is (eventually) qiven hy the External Name identified by the INDEX.

(T3) X is a FRAME NUMBER. FRAME identified by the FRAME (X*16)+D).

The TARGET is the O'th byte in the NUMBER (i . e . , the address of TARGET is

Each secondary way of specifyinq a TARGET uses only 1 datum:

the INDEX-or-FRAME-NUMBER X. An implicit displacement equal to zero is assumed:

(T4) X is a SEGMENT INDEX. The TARGeT is the 0'th (first).byte in the LSEG identified by the INDgX.

(TS) X is a GROUP INDEX. in the LSEG in the specified lowest in ~AS.

The TARGET is the ~'th (first) byte qroup that is eventually LOCATE'd

14

Page 14
Image 14
Intel 121748-001 manual