
808~ Object ~odule Formats | Version 4.9 |
in | OATA | Record | in | FIXUP Record |
|
| ||||
+ | + |
|
|
|
|
| ||||
or | +n... |
| <null> | Case | 1 | |||||
|
|
|
|
|
|
| ||||
|
| + | + |
| Case | 2 | ||||
q |
|
| +n |
| ||||||
+ |
|
|
|
|
|
|
|
|
| |
+ | or |
|
|
|
|
| Case | 3 | ||
q |
|
|
|
|
|
| ||||
+ |
|
|
|
|
|
|
|
|
|
Case 1 illustrates the situation where a fixup is specified in
a"secondary" way. No explicit displacement 10' is provided in the FIXUP Record, so arithmetic must be done in the LOCATION itself, in the DATA Record. As tha diagram shows, the LOCATION may be a byte or a word. (If LOCATION is a POINTER, arithmetic is on each half separately, so the above diagram applies separately to each half of
a POINTER.) In Case 1, the value(s) in LOCATION are considered to be
Case 2 illustrates the situation where a fixup is specified in a "primary" wa:'. An explicit displacement '0' is provided in the FIXUP Record. This displacement is considered to be a
number
Case 3 is the same as Case 2, except that the displacement '0', instead of beinq restricted to
Here are some cases ~here a "primary" specification of a TARGET is necessary or desirable:
First, yet another definition: a
location, with respect to which a TARGE'r is positioned. This is best made clear by an example: in the specification
TARGET: EI(STRUCT) ,24
the TARGET is the 24'th byte after the location named "STRUCT"; the REFERENT is the location named "STRUCT" itself .
19