808~
Object
Module
Formats
Version
4.8
M
is
a
one
bit
subfielG
that
sgecifies
the
mode
of
the
fixUDS:
self-relative
(M=0)
or
segment
relative
(M=l).
(~ote)
Self-relative
fixups
may
NO~
be
applied
to
RIDATA, LICATA,
or
PIDATA
records.
(End"
of
Note)
S
is
a
one
bit
subfield
that
specifies
that
the
lenoth
of
the
TARGET DISPLACEMENT
subfield,
if
present,
(see
below),
in
this
FIXUP
field
will
be
either
two
bytes
(containing
a
l~-bit
non-ne~ative
number,
5=0)
or
three
bytes
(containing
a
sioned
24-bit
number
in
2's
complement
form,
5=1).
(Note)
3-byte
subfields
are
a
possible
future
extension,
and
are
not
currently
supported.
Thus,
S=0
is
currently
mandatory.
(End
of
Note)
LOC
is
a 3
bit
subfield
indicatinq
that
the
byte(s)
in
the
preceding
DATA
Record
to
be
fixed
up
are
a
'lobyte'
(LOC=~),
an
'of
fset'
(LOC=l),
a •
base'
(LOC=2),
a •
po
inter'
(LOC=3),
or
a
'hibyte'
(LOC=4).
(Other
values
in
LOC
are
invalid.)
The
DATA
RECORD
OFFSET
is
a
number
between
0
and
1023,
inclusive,
that
gives
the
relative
position
of
the
lowest
order
byte
of
LOCATION
(the
actual
bytes
beina
fixed
up)
within
the
precedinq
DATA
record.
The
DATA
RECORD
OFFSET
is
relative
to
the
first
byte
in
the
data
fields
in
the
DATA
RECORDs.
(Cautionary
Note)
If
the
precedinq
DATA
record
is
an
IDATA
record,
it
is
possible
for
the
value
of
DATA
RECORD
OFFS~T
to
designate
a
~locationH
within
a REPEAT
COUNT
subfield
or
a
BLOCK
COU~T
subfield
of
the
ITERATED
DATA
field.
Such"
a
reference
is
deemed
an
error.
LINK-86's
and
LOCATE-86's
action
on
such
a
mal
formed
reco
rd
is
undefined,
and
probabl
y
awkward.
(end
of
Cautionary
Note)
FIX
DAT
is
a
byte
with
the
following
format:
*********************************
* ,
* F I
* I
I ,
FRAME
I I
I I I , *
I
TIP
I
TARGT
*
I I r I *
*********************************
F
is
a
one
bit
subfield
that
specifies
whether
the
frame
for
this
FIXUP
is
specified
by
a
thread
(F=l)
or
explicitly
(F=~).
FRAME
is
a
number
interpreted
in
one
of
two
ways
as
indicated
by
the
F
bit.
If
F
is
zero
then
FRAME
is
a
number
between
J
and
h
and
corresponds
to
methods
F~,
••••
F~
of
specifyina
a
FRA~E.
If
F=l
then
PRAME
is
a
thread
number
(0-3).
It
specifies
the
frame
most
recently
defined
by
a
THREAD
field
that
~efined
a
frame
thrend
with
the
same
thread
number.
(Note
that
the
THREAD
field
~ay
aopear
in
the
saMe,
or
in
an
earlier
FIXUPP
record.)
72