Intel 121748-001 manual F11, F21, Frame

Models: 121748-001

1 122
Download 122 pages 57.59 Kb
Page 17
Image 17

8886 Object Module Formats

Verslon 4.8

(FSd) The TARGET is specified with an explicit

FRAME NUMBER: in this case the FRAME is determined as in (F3) above.

(F6) No X. There is no FRAME. This is a way to indicate to

R&L that an 8089 self-relative reference is to be processed. A siqned displacement between the LOCATION 20-bit address and the TARGET 20-bit address must be computed.

Nomenclature describing FRAME's is similar

to the

above

nomenclature

for TARGET's, viz:

 

 

FRAME:

SI«seqment name»

[FA1

 

FRAME:

GI«group name»

[F11

 

FRAME:

EI«symbol name»

[F21

 

FRAME:

<FRAME NUMB~R>

[F3]

 

FRAME:

LOCATION

{F41

 

FRAME:

TARGET

[F51

 

FRAME:

NONE

[F6]

 

In practice, for an 808~ memory reference, it is likely that the FRAME specified by a self-relative reference will be the canonic FRAME of the LSEG containinq the LOCATION, and the FRAME specified by a seqment relative reference will be the canonic FRAME of the LSEG containinq the TARGET. This will be further explained below.

SELF-RELATIVE FIXUPS '

A self-relative fixup operates as follows: A memory address is implicitly defined by LOCATION: namely the address of the byte

following LOCATION (because at the time of a self-relative

reference, the 8086 IP (Instruction Pointer) or the 8989 TP (Task

block Proqram pointer) is pointing to the byte following the reference) •

For 8086 self-relative references, if either LOCATION or TARGET are outside the specified FRAME, R&L qives a warninq. Otherwise, there is a uniaue l6-bit displacement which, when added to the address implicitly defined by LOCATION, will yield the relative position of TARGET in the FRAME.

For 8089 self-relative references (F~), if TARGET is not within

32K from LOCATION, R&L qives a warninq. Otherwise, there is a

unique l6-bit siqned displacement between the LOCATION and the

TARGET.

If the LOCATION is an OFFSET, the displacement is added to LOCATION modulo ~553~: no errors are reported.

If the LOCATION is a LOBYTE, the displacement must be within the range {-128:l27}, otherwise R&L will qive a warninq. The displacement is added to LOCATION modulo 25~.

17

Page 17
Image 17
Intel 121748-001 manual F11, F21, Frame