8086
Object
Module
Formats
Version
4.0
The
requirements
for
symbol
definition
records
for
module
linkinq
is
satisfied
by
the
PUBLIC
NAMES
DEFINITION
RECORD
(PUBDEF),
the
EXTERNAL
NAMES
DEFINITION
RECORD
(EXTDEF),
and
the
TYPE
DEFINITION
RECORD
(TYPDEF).
Their
semantics
will
be
explained
later.
The
requirements
for
debugqinq
information
are
satisfied
by
the
LOCAL
SYMBOLS
RECORD
(LOCSYM),
the
LINE
NU~BERS
RECORD
(LINNU~),
the
DEBUG
SYMBOLS
RECORD
(DEBSYM),
the
BLOCK
DEFINITION
RECORD
(BLKDEF),
the
BLOCK
END
RECORD
(BLKEND),
and
the
TYPE
DEFINITION
RECORD
(T¥PDEF)
The
association
of
the
line
numbers
and
local
symbols
to
their
original
defining
modules
is
essential
and
maintained
by
the
THEADR
record
as
explained
earlier.
DATA
The
data
that
defines
the
memory
imaqe
represented
by
a
module
is
maintained
in
six
varieties
of
DATA
records.
The
DATA
records
are
of
three
classes:
relocatable,
physical,
and
loqical.
There
are
two
Relocatable
DATA
records:
RELOCATABLE
ENUMERATED
DATA
RECORD
(REOATA)
and
RELOCAT~BLE
ITERATED
DATA
RECORD
(RIOATA).
Each
relocatable
DATA
record
is
associated
with
a SEGDEF
record
or
a
FRA~E
number,
and
perhaps
a GRPDEF
Record.
The
SEGDEF
record
or
the
FRAME
number,
and
the
GRPDEF
record
provide
information
to
determine
the
absolute
address
at
which
the
data
bytes
are
to
be
loaded.
The
RIDATA
record
differs
in
that
the
data
bytes
are
represented
within
a
structure
that
must
be
expanded
by
the
loader.
The
purpose
of
the
RIDATA
record
is
to
reduce
module
size
by
encodinq
repeated
data
rather
than
explicitly
enumeratinq
each
~yte,
as
the
REDATA
record
does.
There
are
two
Physical
DATA
records:
PHYSICAL
ENUMERATED
DATA
RECORD
(PEDATA)
and
PHYSICAL ITERATED
DATA
RECORD
(PIDATA).
The
PEDATA
and
PIDATA
records
provide
an
absolute
address
at
which
the
data
bytes
it
contains
are
to
be
loaded.
There
are
also
two
Loqical
DATA
records:
LOGICAL
ENU~ERATED
DATA
RECORD
(LEDATA)
and
LOGICAL ITERATED
DATA
RECORD
(LIOATA).
Each
logical
DATA
record
is
associated
with
a SEGDEF
record.
The
SEGDEF
record
provides
information
that
allows
the
loqical
DATA
records
to
be
converted
to
either
Relocatable
DATA
records
or
Physical
DATA
records.
Data
bytes
for
all
LSEG's
are
maintained
in
loqical
DATA
records,
as
an
LSEG
is
either
relocatable
or
it
has
been
assiqned
an
address
(absolute)
but
has
not
been
divorced
from
GROUP
informntion.
In
summary,
there
~re
three
classes
of
DATA
records,
RELOCATABLE, PHYSICAL,
and
LOGICAL.
The
data
bytes
of
the
"unnamed
absolute
seqment~,
divorced
form
all
LSEG
and
GROUP
information,
are
found
in
PHYSICAL
DATA
RECORDS.
Data
bytes
from
all
LSEG's,
11