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~-OMF
specification,
"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