Intel 121748-001 User Manual

8086
RELOCATABLE
OBJECT
MODULE
FORMATS
An
Intel Technical Specification
Order
121748-001
.
Copyr;ght~1981
Intel Corporation,
3065
Intel Corporation
Bowers
Avenue,
Santa Clara, California
95051
Additional copies
Literature Department Intel Corporation 3065
Bowers A venue
Santa Clara,
of
this manual
CA
95051
or
other Intel literature may be obtained from:
The information in this document Intel Corporation makes no warranty
to. the implied warranties assumes no responsibility for any errors that may appear
is
subject to change without notice.
of
of
merchantability
any kind with regard to this material. including, but not limited
and
fitness for a particular purpose. Intel Corporation
in
this document. Intel Corporation makes no
commitment to update nor to keep current the information contained in this document. Intel Corporation assumes no responsibility for the use
an Intel product. No other circuit patent licenses Intel software products are copyrighted
duplication
or
disclosure
is
subject to restrictions stated in Intel's software license.
are
implied.
by
and shall remain the property
any circuitry other than circuitry embodied
of
Intel Corporation. Use.
or
as defined in ASPR
in
of
7-104.9(a)(9).
No part
of
this document may be copied
of
written consent
Intel Cqrporation.
The following are trademarks
of
Intel Corporation and its affiliates and may be used only to identify Intel
or
reproduced in any form
or
by
any means without the prior
products:
BXP Intelevision Multibus CREDIT i ICE iSBC iCS im Insile MCS Intel inlel
and the combination of ICE, iCS, iRMX, iSBC, iSBX, MCS.
ii
Intellec Multimodule iRMX Plug-A-Bubbk
iSBX library
Manager RMX/!lO
Megachassis Micromap
or
RMX and a numerical suffix.
PROMPT Pwm\\are
Sy,lcm
:!OOO
UPI
"Scope
IA
500/1181/500
IPI
8086
Object
Module
Formats
Version
4."
TABLE
DOCUMENT
- 'fABLE INTRODUCTION • • • • • • • • • •
DEFINITION MODULE
MODULE MODULE SEGMENT SEGMENT SYMBOL DATA INDICES CONCEPTUAL
~~ODULE
RECORD INTRODUCTION RECORD
'r-MODULE
L-MODULE
R-MODULE LIST
SEG~ENT
~~OUP
TYPE SYMBOL
PUBLIC EXTERNAL LOCAL LINE NUMBERS
BLOCK
B
DE8UG
DATA
RELOCATA9LE RELOCATABLE ITERATED
PHYSICAL PHYSICAL ITERATED LOGICAL
LOGICAL ITERATED FIXUP OVERLAY END
REGISTEa MODULE
LI
i3RARY
LIHRARY
LIBRARY
LIBRAHY
CONTROL
OF
CONTENTS
OF
TERMS
SEMANTICS
IDENTIFICATION
ATTRIBUTES
DEFINITION ADDRESSING •
DEFINITION
• • • • • • •
• • • • • • • • • • • FRAMEWORK
SYN'fAX
ORDER
to
FORl~ATS
HEADER HEADER HEADER
OF
NAMES DEFINITION
DEFINITION
DEFINITION
DEFINITION
NAMES
NAMES
SYMBOLS DEFINITION
LOCK
END SYMBOLS
RECORDS
ENU~ERATED
RECORD
DEFINITIO~
RECORD
INITIALIZATION
E~D
I~ECORDS
HEADER
~ODULE
r-10DULE
RECORD
E~U~ERATED
• • • • • • • • • • • • • • • • • • • • •
RECORD
• •
••••••
••••••
••••••
FOR
• • • • the
RECORD
RECORD RECORD RECORD
RECORD
HECORD
DEFINITION
RECORD
RECORD
RECORD
gNU~ERATED
• • • • • • • • • • • • • • •
• • • • •
RECORD
R~CORD
RECORDS
DEFINITION
~ECORD
• • • • • • • • •
DATA
DATA
DATA RECORD
• • • • • • • • • • • • • • • • •
RECORD NAMES
LOCA'fIONS
OF
. . . . . . .
• • • •
• • •
. . .
FIXUPS
FORMATS
• • • •
• • • •
•••
• • • • RECORD
••
• • • • • • • DATA
DATA
DATA
RECORD
RECORD
RECORD
RECORD
RECORO
RECORD
~ECORD
CONTENTS
· . . . . . . .
· . . . . .
.
· . .
• • • • • • • 9
• • • • • • • • • •
• • • • • • • • • • •
• • • • • • • • • • • • •
• • • • • • • • • • •
• • • • • • • • • • • • •.
• • • • • • • • • • • • •
• • • • • • • • • • • •
• •
• • • •
• • • • • • • • • • • • • 21;
• • • • • • • • • • • • •
• • • • • • • • • • • •
• • • • • • • • • • • • •
• • • • • • • • • • •
• • • • • • • • •
• • • • • • • •
RECORD
• • •
• • •
• • •
RECORD
RECORD
• • • • • • •
• • • • • • • • • • • • •
• • • • • • • • • • • • •
• • • •
• • • • • • • • • • • • •
• • • • • • • • •
• • • • • • • • • •
• •
• • • • • • • • • •
• • • • • • • • •
• • • • • • •
• • • • • • • • • •
• • • •
• • • • • • • •
• • • • • • • • • •
• • • • • • • • • • •
. . . . . .
.
· . . .
• • • • • • • •
• • • • • •
• • • • • • • •
••
. . .
-.
• • • •
...
~
••••
•••
• • 9
••
18
10 11
12
13
22
24
27
28
31
32 36
(0
44
47 49
51
53
56
57
~0
~2
~4
~5
~~
~R
70
74
7~
77
80
82
83 84
2
3
5 5
9
3
8086
Object
Module
Formats
Version
4.(J
LIBRARY DICTIONARY
COMMENT
1.
NUMERIC
2.
TYPE REPRES ENTA'tIONS
3.
SYNTAX
4.
EXAMPLES
RECORD
LIST
DIAGRA~S
OF
FIXUPS
RECORD
• • • • • • •
OF
RECORD
• • • • • •
TYPES
•••
••
· . .
· . .
APPENDICES
· . .
· . .
. .
· . . . . . . .
• •
· . . . . .
· . .
· . . . .
· . . . .
• •
. . . . . .
• • • •
• •
• • • •
85
Sf;
88
89
91
97
4
Sf)
86
Object
i\4odule
Formats
INTRODUC'f ION
Version
4.rrJ
Here lanquaqe the
output
processor. languaqe
processors
debuqgers.
The relocatable Capabilities
mapping
facilities
This The forward
terms
without
OMF -acronym R&L -acronym MAS -acronym
(1,048,576).
which
may
are
the
for
of
all
'fhe
8086
memory
are
section
are
for for for
Note
occupy
object
the
8686
lanquaqe
8086 -object
such
object
imaqes provided of
defines
ordered
forward
Object Relocation Memory
that
only
record
microprocessor.
translators
lanquaqe
as
module
that
that
the
8086 certain
not
references. DEFINITION
Module
Formats.
and
Address
the
MAS
a
portion
formats
The
with
is
input
linkers,
locaters,
formats
may
allow
be
efficient
microprocessor.
terms
fundamental
alphabetically,
of-TERMS
Linkaqe.
Space.
is
of
The distinguished the
MAS.
that
8086
the
permit linked
8086
define
object
8086
and
output
specification to use
but
MAS
from
the lanquaqe
as
the
for
librarians,
one of
the
to
S08~
so
you
is
1
actual
object tarqet
object
and
another.
memory
R&L.
can
read
meqabyte
memory,
is
of
MODULE
information
When a
T-MODULE
or
ASM-86,
L-MODULE
earlier
R-MODULE
or
more
in
this
merely
LIB86, there null.)
default
source
ouqht
(such
an
-inseparable" produced
distinction
will will
versions, will constituent
sense
a
transformation
Two
observations
l}
Every has
is
a
no
need
Transl~tors
name
code
2) to
as
nor
Every have
ICE-8n)
must
denote denote
and
denote
by
module
handle
to
(possibly
user T-module
a
different
can
by
a
be
made,
a
module
a
module
a
module
modules.
LOCATE-86;
of
the
about
must
have
for
provide
will
the
file
specifies
in name,
distinquish
collection
translator
created
created
created
(Note
the
input
modules
a
name,
the
module
a
handle
provide
name
otherwise.
a
collection
so
the
of
or
by a translator,
by
by
(8rrJ86
that
modules
output
module.)
must
names
for
or
so for
be
that
display LIB8o. for
a
of
that
symbolic
various
object
by
the
(cross)
based)
are
module
made:
the
T-rnodules,
null
modules
line
code
LINK-So
such
LINK-86
LINK-86 not
from
to
the
LOCATE-8fi
808~
the
name
name)
linked
debuqoinq
numbers
and
other
proqram. as
PLM86
VI.3
from
"created"
Librarian, user.
may
orovidinq
if
neither
toqether
systems
and
local
or
1
is
(If
be
a
5
8086
Object
Module
Formats
Version
4.0
symbols. enforced
LOGICAL
contents
binding) determined not
LSEGts, at
LOCATE-time
object
FRAME
- A boundary because
(possibly
can
access
can addressed
LSEG.
PSEG
-
MFRAME· and
Mlogical
by
SEGMENT
are
be
final forming
code,
contiguous the
An
LSEG
fit
This
because
This
restriction
it.
determined Neither
at
translation-time: because
a
(althouqh
whose
(i.e.,
on a multiple
content overlappinq) a
memory
is
constrained
in
a FRAME.
by
a
l6-bit
term
is
the
M
nature
is
(LSEG) A
at
size
the
LSEG
sinqle
LSEG; location region
of
the
of
four
FRAME's;
location
This
offset
equivalent
terms
of
MPSEGM and
the
not
reauired
contiquous translation-time nor
location
size,
~ay
be
combined
location
some
is
64K
outside
to
from
to
translators
already
of
of
16
8086
no
be
no
means
the
FRAME.
MAS,
bytes). seqment 16-bit
of
qreater that
base
MLSEGd reflect
underlyinq
by
reqion
(except
in
MAS
althouqh
at
in
MAS
is
may
determined).
beqinninq
This
reqisters
address
the
current
than
any
byte
of
a
Some
people
seqments.
R&L,
of
are
partially
LINK-time usually produce
on
concept
in four
fi4K,
in
FRAME
~refer
the
and
memory
for
necessarily
fixed,
determined
Mabsolute~
a
paragraph is
define
the
8086
FRAME's.
so
an
LSEG
covering
MPSEG~
~physicaln
is
whose
address-
to
other
useful
four
code
that
may
not
may
it
be
the
to
FRAME
NU~BER
Mparaqraphs·
each PARAGRAPH PSEG
of
which NUMBER -This
NU~BER
PIC -acronym
where
load
specified
allowed.
LTL -acronym
PIC
module
GROUP
whose
will
- a be
group
final
at
collection.
The
notation
arouo,
and
The
not
imply
contiquity
in
defines
-
This
for
addresses
relative
for
except
is
locations
least
that
fact
any
orderinq
between
Every MAS
can
term
Position
to
Load-Time
that
a
collection
one
fRAME
~Gr
the
qroup's
that
X, Y
X, Y
FRAME
be
numbered
a FRAME. term
is
is
equivalent
Independent
and
seqment
Locatable.
base
in
fixups
MAS
which
A(X,y,Z)d
name
and
of
X, Y
and
Z.
beqins
are
equivalent
reqister
and
of
LSEG's
have
been
covers
means
is
Z
are and
on
0,l,2,
called
to
"FRAME
Code.
initialization
qroup
An
are
allowed.
constrained
that
A.
all
LSEG's
Z
in
a
paraqraph
•••
,~5535.
FRAME
to
"FRA,,.,E
A
bases.
LTL
module
defined
(contains)
LSEG's
MAS,
nor
boundary. These
NUMBERS.
NUl'JfBER."
NU~BER.~
PIC
module
No
is
similar
at
translation-time, such every
in
X, Y
the
does
and
same
it
is
values
fixups
that
LSEG
Z
~roup
imply
The
numhers,
a
module
are are
to
there
in
the
form
does
any
a
a
8086
Object
In
one
group G2(B,C,D) be
in
G2
is
not
single
the
in
more
sufficient
FRAME,
Module
PIC/LTL
(e.g.
the
same
than
althouqh
Formats
case, defininq
one
to
an
module group.
infer
they
LSEG
two
is
The
that
miqht.
is
qroups
not
existence
not
legal).
A,B,C,D
allowed such
Otherwise
of
to
as
Gr
qroups
all
be
in
GI(A,C,B)
an
such
lie
within
Version
more
LSEG
as
and
Gl
4.8
than
Gr may and
some
CANONIC
FRAME's; has
FRAME
a
is
Thus,
speak
By
extension,
a
unique
canonic
the FRAME
SEGMENT
names
canonic
of NAME -LSEG's
serve
1)
combined
2)
LSEG·s.
3)
CLASS
NAME
translation-time.
are
in
any
but
higher
called
if
of
the
FRAME
FRAME'S
an
only
they
with
they
they
the
same
location
one
FRA~E
Foa if
FRA~E
LSEG
playa
what
may
are
LSEG's
class
of
these NUMBER
the
canonic
is
a
"canonic
S
is
which
of
the
of
or
of are
3
purposes:
role
other
be
used
Classes
in
FRAME's
symbol
FRAME
any
set
has locations the
a
Group
assigned
at
LSEG's.
used
in
assembly
may
iff
they
MAS
is
than
any
FRAME
defininq
of
of
memory
the
in
set
S. of
names
LINK-time
at
LOCATE-time
optionally define
have
contained can
be
other
of
the
a
Faa·,
lowest
S.
Thus,
LSEG's.
at
in
source
be
a
partition the
in
exactly
distinguished
FRAME.
location.
memory
or of
-FOO's
locations,
FRAME
This
we
unique
may
translation-time.
determininq
to
code
to
assiqned
on
same
Class
4996
This
distinguished
location,
canonic
then
NU~BER
in
FRAME
speak
of
~h~t
desiqnate
specify
Class
~~5EG's:
Name.
in
there
the
is
the
LSEr,'s
groups.
two
distinct that
one
FRAME".
exists set called
canonic
These
specific
Names
LSEG's
it
may
of
are
at
R&L
semantics
might
be
The
Names
above;
identify
OVERLAY
translation-time translator
module
An
a
handle
Class
Names,
LOCATE-86
~located"
associates are
RED, BLUE,
uses
additionally,
many
NAME
or
will
be
Overlay
on
however,
proqram.
at
overlappinq
completely
GREEN
of
Class
LSEG's
by a single
LSEG's
oratLINK-time.
LINK-So
assiqned
Name
is
user-defined
no
semantics user-defined.
or
may
is
the similar
Overlay
(In
brief.
MAS
ROM,
Names Class
include Names handle
optionally
invoked,
same
Overlay
to
equivalence
Names
LSEG's
locations.)
with
RAM,
This
a
specific
Examples
DISPLAYMEMORY.
the
first
qive
be and
the
at
LOCATE-time.
assiqned
name
all
is
LSEG's
Name.
Class
N~me
classes
have
semantics
in
different
Class
of
2
uses
user
an
Overlay
specified
within
in
that
of
LSEG's.
overlays
Names; Class
of
the
power
when
it
kno~n
class Names
Seqment
Name
the
the
same
provides
Unlike
by
the
may
to
at
be
7
8086
Object
Module
Formats
Version
4.0
COMPLET~
three Name
NAME -The
component
and
combined
Overlay
iff
their
~complete
identification
Name.
Com~lete
nameH of
consistinq
LSEG's
Names
from
are
an
LSEG different
identical.
of
is the
defined
Segment
modules
to
be
Name,
will
the
Class
be
8
8086
Object
Module
Formats
Version
4.9
In
order module There name.
header are The
below.
A
module translation called
a T-MODULE. A T-MODULE
(THEADR). translator. symbols
A
module
and
R-MODULE.
(LHEADR).
(RHEADR). be
provided.
to
the
An
example
R-~ODULE
beqin
as other the are
with
a
directive
tools
oriqinatinq
preserved
three
additional
or
A
name
line
An
An
In
module
would
C.
an
such
MODULE
to
determin~
record
will
kinds
functions
name
may
linking.
may
This
name
numbers
that
results
L-MODULE R-MODULE the
LHEADR
This
will
name
without
be
two
R-MODULE C
RHEADR
from
as
record the
the
module's
for
debugginq
IDENTIFICATION
always
of
A
that
header
be module
a
file
be
records
of
the
qenerated
that
will
be
provided
is
found
from
will
record
is
available
usinq
then
always
in
linkinq
always
or
any
used the
have the
of
T-MODULES, A
will with
user.
library
names,
contain the
The
manaqer
yet
purposes.
contains
the
first
and
header
durinq results have
in
the
to
identify
T-MODULE.
is
have
an
RHEADR
for
use
its
constituent
and
S, two
name
C
·R-MODULE without
the
oriainatinq
an
record
each
records
one from
a T-MODULE
THEADR
called an
an
L-MODULE
R-MODULE
record
as
a
means
linked
THEADR
provided
C
can
h~vinq
object
in
provides
are
of
two
translation
HEADER record
the
source
L-MODULE
HEADER
HEADER
a
name
of
T-MODULE
toqether
records
by
be
referred
to
module's
program, a
module.
a
module
explained
processes:
RECORD
of
or
RECORD RECORD
may
referrinq
names. to and
the
linker
know
is
by
all
an
also
form
will
to
by
about
names
a
a
In attribute starting
module
specifies
If then
this debuqginq module and
initiated
In
may
not
A
seauence
addition
of address.
with
the
a
value
purposes.
could
summarYr
have
module
of
beinq
the
main
result
module
has
be
the
independent
a
startinq
is
defined
records
to
an
a
main
When
attribute of
is
been
A
entry
modules
produced
MODULE
optional
program
linking finding not
a
provided
starting point
of
a
mayor
address.
SEGMENT
as
a
ATTRIBUTES
name,
as
multiple
should
two
or
main
module by
address
of
a
procedure,
main
proqram.
may
DEFINITIO~
collection
hy
a
translator.
well
be
more
a
not
a
as
modules
given.
main
yet
has
translator,
specified
be
main
of
object
module
havinq
tog~ther,
The
modules.
a
starting
which
as
code The
may
a
linker
possibly
for
may
well
defined obiect
have
specified
only
address
a
non-main
be
loaded
as
mayor
the
one
EPS
for
by
code
a
9
808fi
Object
Module
Formats
Version
4.0
represents
determined
SEGMENTS the
attributes
is
the
alignment,
when
multiple
(GROUPING,
required
RHEAOR)
The
from
which
addressed.
segment
(SS)
base
• The
far
exceeds
reqisters
modular
program
contiquous
at
(LSEG's).
vehicle
etc.)
see
to
8086
a
64K
There
registers
possible
the
may
translation-time.
A
module
of
each
by
is
LSEG's
below)
follow
LSEG.
which
maintained.
are
is
the
SEGMENT
addressing
byte
reqion
is
one
(OS,
number
number
require
with
of
frequent
many
reqions
of
These
all
must
The
LSEG
contain
SEG~ENT
information
The
combined
est~blished.
first
header
and
ADDRESSING
mechanism
of
memory,
code
seqment
ES),
of
LSEG' s
available
and
provides
one
that
base
loading.
small
data
and/or
memory
reqions
DEFINITION
LSEG
information
when
The
record
called
base
stack
may
This
whose are
information
(name,
seqment
SEGDEF
(THEADR,
seqment
a FRAME,
reqister
seqment
make
up a memory
registers.
would
code
LSEG's.
contents
called
that
RECORD
length,
is
addressability
records
or
LHEADR,
base
registers
(CS),
base
Thus,
be
the
case
are
LOGICAL
defines
(SEGDEF)
memory
required
are
or
may
two
be
data
reqister
imaqe
base
in
a
Hence addressable name earlier
for
in
To established, The
GROUP segments segment
defininq
The records
asGRPDEF
GROUP.
header explicit
records
orderinq
Within
definition
requirements: be
resolved
(linkinq)
numbers
should
the
motivation
unit
this
allow
addressable
the
DEFINITION
addressa~ility
each
DEFINITION
either
GRPDEF
The
GRPDEF
as
a
module
records.
1)
by
and
2) be
that
GROUP
RECORD
by
segment
symbol
records records
records some of
records
thera
The
references eauivalently attributes made
to
collect
can
be
contained unit OF
is
TERMS.
of
must
be
explicitly
(GRPDEF)
name
FOO"
or
or
"the
within
may
reference
must
R&L
products
is
aiven
SYMBOL,DEFINITIO~
may
be
necessity
to
LSEG's
a
GROUP
objects
provides
by
segment
seqments
a
module
also
must
Inter.
six
for
externally
defined
of
locally
availahle
for
debuqqinq
within
defined
SEGDEF
precede
process
different
these
defined
symbols
defined
toqether
a
memory
and
has
within
a
list attribute with
must
records all
them
records
in
symbols
purposes.
a
in
of
class
follow
other
types
is
symbols
another
to
form
frame.
been
GROUP the
constituent
such
name
all
in
defininq
records
first.
of
based
and
one The
defined
to
be
module.
as
~the
ROft1". SEGDEF
but
The
symhol on
two should module
line
a
10
8086
Object
Module
Formats
Version
4.0
The linkinq the
is
EXTERNAL DEFINITION later.
The
LOCAL
DEBUG
the
SYMBOLS
SYMBOLS
BLOCK
(T¥PDEF) • their THEADR
is
are
original
record
The
data maintained of
three
There DATA Each
FRA~E
FRAME the RIDATA
a RIDATA
rather
RECORD
relocatable
number, number,
absolute
record
structure
record
than
does.
requirements
satisfied
NAMES
RECORD
requirements
RECORD RECORD
END
RECORD
The
association
defining
as
explained
that
in
classes:
are
two
(REOATA)
DATA and and address differs
that
is
must
to explicitly
for
by
the
DEFINITION
(TYPDEF).
for (LOCSYM), (DEBSYM),
(BLKEND),
modules
defines
six
varieties
relocatable,
Relocatable
and
record
perhaps the
GRPDEF at
in
be
reduce
symbol
PUBLIC
Their
debugqinq
the
the
and
of
the
is
earlier.
DATA
the
memory
of
DATA
RELOCAT~BLE
is
associated
a GRPDEF
record
which
that expanded
the
the
module
data
data
by size
enumeratinq
definition
NAMES
DEFINITION
RECORD
semantics
information
LINE
BLOCK
NU~BERS
DEFINITION
the
line
numbers
essential
imaqe
DATA
physical, records:
ITERATED
Record.
provide
bytes
bytes
the
loader.
by
each
(EXTDEF),
are
RECORD
TYPE
and
and
represented
records.
and RELOCATABLE
DATA
with
The
a SEGDEF SEGDEF
information
are
are
encodinq
~yte,
as
records
RECORD
and
will
be
satisfied
(LINNU~),
RECORD
DEFINITION
local
maintained
by
The
DATA
loqical.
RECORD
record
to
to
be
loaded.
represented
The
purpose repeated
the
REDATA
for
module
(PUBDEF),
the
TYPE
explained
by
the the
(BLKDEF),
RECORD
symbols
by
the
a
module
records
ENUMERATED
(RIOATA).
record
or
or
the
determine
The
within
of
the
data
record
to
a
There RECORD PEDATA data
bytes
There DATA
RECORD
Each
SEGDEF
records Physical
Data
records,
address
In
logical
are
(PEDATA)
and
PIDATA
it
are
record
to DATA
bytes
as
an
(absolute)
summary,
two
and records
contains
also
(LEDATA)
DATA
provides
be
converted
records.
for
LSEG
Physical
and
record
all
is
but
there RELOCATABLE, PHYSICAL, absolute
found
seqment~,
in
PHYSICAL
divorced
DATA
DATA
records:
PHYSICAL ITERATED are two
provide
to Loqical
be
an
absolute
loaded.
DATA
LOGICAL ITERATED
is
associated
information
to
LSEG's either has
and
relocatable
not
~re
LOGICAL. form
RECORDS.
been
three
either
are
all
that
maintained
divorced
classes The
LSEG
Data
PHYSICAL
DATA
RECORD
address
records:
DATA
with
a SEGDEF
allows
Relocatable
or
it from
of data and
bytes
GROUP
bytes
ENUMERATED
LOGICAL
RECORD
the
DATA
in
has
been
GROUP
DATA
of
information,
from
(PIDATA).
at
which
ENU~ERATED
(LIOATA).
record.
loqical
records
loqical
assiqned
informntion.
records,
the
"unnamed
all
LSEG's,
DATA
The the
The
DATA
or
DATA
an
are
11
8086
Object
Module
Formats
Version
4.~
absolute
or
ENUMERATED
of
representinq
A
8086 probably for
loadinq records DATA
not are
records
Throughout
An
index
collection
INDEX,
SEGMENT
INDEX.)
The
special
(e.q.,
absolute
specifies
"Decline
relocatable,
and
ITERATED
the
loader
be
able
LDATA
sometimes
are
called
the
is
an
of
such
INDEX,
(Note) index
meaning
a
Seqment
pseudo-segment;
to
actual can
to
maintain
Records.
uNon-Loadable
808~-OMF
integer
items.
GROUP
An
index
value
dependant
I~dex
the
"Untyped
state"»
are
found
attributes
data
load
Thus,
called
INDICES
specification,
that
(Exhaustive
INDEX,
is
zero
of
~
in
bytes.
RDATA
the
"Loadable
selects
EXTERNAL
normally
is
upon
zero
a
U
type
(End
of
LOGICAL
within
or
PDATA
LSEG
table
Relocatable
DATA
"
d
DATA
some
list
a
reserved,
the
specifies
Type
(which
Note)
DATA
the
classes
information
records,
records.
"index
particular
of
INDEX,
positive
and
type
the Index is
different
RECORDS.
Records, and
U
Physical
fields
examples:
TYPE
number.
may
carry
of
·Unnamed, of
are
two
but
reauired
and
item
INDEX,
a
index
zero from
The
ways
will DATA
Logical
occur.
from
NA~E
BLOCK
a
In
larger
contain
indices
The
only)
If
byte
the
occupying
between follows:
order
7
general,
than
no
indices
will
hiqh-order
determines
bit
one
0
the
bits
255). be
encoded
is
byte.
and
low-order
are
indices
Nevertheless, with
values
(left-most)
whether
0,
then
If
the
32K-l,
8
in
the
first
must
in
1
assume
or
the
bit
occupyinq
bits
byte.
a
qreater
2
the
index is
are
values
qreat
bytes,
bit
index
1,
two
in
number
than
as
of
the
occupies
is
a
then
bytes,
the
quite
50 required:
first
number the
second
of
or
one
index
and
byte,
larqe
ob;ect
100.
(and
hyte
between
is
is
determined and
(i.e.,
files
Therefore,
possibly
or
0
and
a the
much will
the
two.
127,
number
as
hiqh-
12
808~
Object
Module
Formats
Version
4.0
A
translator,
(see
Appendix
8086 data: of
two
address
defining
CONCEPTUAL
"Fixup"
is
performed
4
(Note)
represents Nevertheless. modifications
not
conform
bindinq or
software
modification
code definition disparaqe
sense.
and/or
(l)
the
possible
to
which
a
context
is
of
treated
,End
place
some
for
Examples)
This
the
viewpoint
the
of
to
code
floatinq
to
of
object
of
8089
and
fixup
LOCATION
within
FRAMEWORK
modification
by
the
R&L
definition
R&L
system
object
this
an as "fixup"
definition.
to
either
operation
if
it
is
code
Note)
translators type
of
MODE'S.
must
be
which
for
to
object
system,
of
maintained
can
be
code
point
(i.e.,
of
hardware
subroutines,
code,
were
not
an
address.
intended
modifications
specify
a LOCATION
(3)
made
the
a TARGET,
to
reference
FIXUP's
code,
achievinq
"fixup-
by
the
used
dfixups")
For
where
a
to
refer,
takes
accurately R&L to
example.
floatinq
the
The
to
disallow
in
the
fixup
be
fixed
which
and
requested
address
system.
achieve that
point
is
operation
above wider
by
qivinq
up,
is
(4)
place.
bindinq.
do
the
a
or
(2)
a a
by
four
one
mem(cy
FRAME
a
LOCATION
OFFSET,
(remember byte word
a HIBYTE,
The
vertical
"Nith of
the
a
pointer
There
that
hiqher
are and
a LOBYTE:
Pointer:
Base:
Offset:
Hibyte:
Lobyte:
alignment
the
hiqh address):
(and
5
types
orner
R~L
of
LOCATION: a POINTER, a BASE,
+----+----+----+----+
+----+----+----+----+
+----+----+
I ,
+----+----+
+----+----+
I I
+----+----+
+----+
I I
+----+
+----+
I I
+----+
of
this
byte
(1)
~oesn't
diaqram of
a
B.~SE
care
a
if
word
is the
illustrates
in
q~8~
merely
low
order
me~ory
the
hi1h word
4
points is
the
':)rder
of
the
an
13
8086
Object
Module
Formats
version
4.0
pointer word follows OFFSET
(4)
a
doesn't
types specified Record; LOCAT
MODE
-
relative-.
used relative
TARGET -
explicitly,
the
object ways. primary
NU~BER
is
present
of
a
pointer
or
not);
(and
LOBYTE
care
R&L
is
if
A LOCATION
the
LOCATION
by
(2)
is
field R&L
of
supports
Self-relative
in
the
CALL, JUMP
fixups
The
TARGET
the
beinq There way
'X',
are
of
specifyinq
and
or
(3) doesn't merely the
hiQh
is
is,
the
LOC specified the
FIXUPP
2
fixups
support
is
the
TARGET
referenced.)
4
a
displacement
not):
(and
R&L
a HIBYTE
Nare
the
low
order
specified
and
subfield by
the
Record.
kinds
of
support
and
all
other
location
may
-primary­a
TARGET
(2)
an
doesn't
is
merely
if
the
order
half
-by 2 data:
(2)
where
DATA
fixups:
SHORT-JUMP
be
considered
A TARGET
ways,
'0':
OFFSET
the
low
order
half
follows
the
of
the
RECORD
dself-relative~
the
8-
addressinq
in
MAS
is
and
uses
2
is
merely
care
hiqh
of
or
(1)
if
half
an not).
which
the
order
precedes
OFFSET
LOCATION
LOCAT
OFFSET
and
beina
to
field
subfield
16-bit
instru~tions.
modes
of
referenced.
be
the
specified
4
~secondary-
data:
an
the high
low order
half
or
order
of
not);
(and
of
the
above
is.
of
the
(1)
FIXUPP
of
and
dseqment-
offsets
that
Seqment-
the
8086.
(More lowest in
one
ways.
byte
of
-Each
INDEX-or-FRAME-
word
an
R&L
5
is
the
are
in
8
(T0) X
LSEG
the lowest
followinq External
FRAME
identified
(TI)
first
(T2)
(T3)
identified
in
X
byte
MAS.
X
the
Name
X
is
is
a
by
is
a
in
is
an
byte
identified
a
SEGMEN'r
GROUP
EXTERNAL
FRAME by
(X*16)+D).
Each
the
INDEX-or-FRAME-NUMBER X.
is
assumed:
(T4)
in
the
(TS)
in
the
lowest
secondary
X
LSEG
LSEG in
~AS.
is
a
identified
X
is
in
the
SEGMENT
a
the
INDEX. INDEX.
the
LSEG
whose
NUMBER.
the
way
by
GROUP
specified
INDEX.
INDEX.
by
the
FRAME
of
specifyinq
INDEX.
the
INDEX.
The
in
the
address
INDEX.
The
NUMBER
An
INDgX.
qroup
The
TARGET
qroup
The
TARGET
(i.e.,
implicit
The
TARGeT
The
TARGET
TARGET
is
that
TARGET
is
(eventually)
is
the
a TARGET
displacement
is
is
that
is
is
the
the
O'th
is
eventually
is
the
address
uses
the
the
eventually
O'th
the
O'th
only
0'th
~'th
byte
byte
O'th
qiven
byte
of
TARGET
1
equal
(first).byte
(first)
in
the
followinq
LOCATE'd
byte
hy
the
in
the
datum:
to
zero
byte
LOCATE'd
is
14
R986
Object
Module
Formats
Version
4.9
(T6)
address
X
is
(eventually
is
INDEX.
(T7)
address
The
Here
TARGET:
X
is
(X*l6).
following
TARGET:
TARGET:
TARGET: TARGET: TARGET: TARGET: TARGET: TARGET:
are
SI(CODE)
is
SI«seqment
GI«qroup
EI«symbol <FRAME SI«seqment
GI«qroup
EI«symbol <FRAME
some
TARGET: GI(DATAAREA)
an
a
FRAME
nomenclature
examples
,1024
EXTERNAL
qiven
NUMBER.
name»
name»
name»
INDEX.
by)
the
External
The
TARGET
is
used
,<displacement>
,<displacement>
,<displacement>
The
to
NUM9ER>,<displacement>
name»
name»
name»
NUMBER>
of
how
The
the
the
a
qroup
this
notation
l025th segment
location
called
TARGET
Name
is
the
describe
byte
in
·CODE" in
MAS
-DATAAREA
is identified
byte
a TARGET:
(T0] (TIl [T21 (T3] (T41 (T51
(T~l
(T71
can
be
of
the
d
byte
whose
used:
whose
by
the
20-bit
TARGET:
TARGET: TARGET: EI(PAYSCHEDULE)
Altnouqh
the
same
TARG8T, discussed arithmetic.
FRAME -Every
some seqment
FRAME;
register. reference, respect fixup below.
as
above.
to
specifies
Some
This reference independently
EI(SIN)
8000H,24H
-TARGET: their
below
8086
in
memory
where
it
must
which
FRAME
such
ways
Other
is
may
use
ways
not
be of
the
the
In
order
know
the
a
FRAME, a require
the
case
to
FRA~E.
,24
SICA)"
use
section
reference
FRAME
for
not
reference
datum,
of
any
location
the
subroutine MAS the
location
EXTERNAL
called
and
can
is
is
R&L
only
in
one
X,
which
no
datum.
an
8089
The
address
location
24th
byte of data
dPAYSCHEOULE-
"TARGET:
have
on
different
intermediate
to
a
desiqnated
to
form a correct,
what
the
is
of
5
is
self-relative within
only
of
the
·SIN" 800248
followinq
an
structure
SI(A)
location
by
TARGET heinq ways
(F0,
an
INDEX-or-FRAME-NUMBER,
an
restriction
external
,0"
effects,
values
contained
the
content
is,
made.
•••
8089
the
both
usable but
also
Thus
,F5)
described
reference.
is
that
specify
as
in
fixup
within
of
some
memory
with
every
The
proaram,
the
is
15
808~
Object
Module
Formats
Version
4.0
displacement To
indicate
is
introduced.
Below
frames:
(Fe)
the
LSEG
(FI)
defined
the
by
qroup
(F2)
External
LSEG,
canonic
reference
Group.
subfield
symbol's
between
this
is
x
defined
X
is
the
that
X
is
Name's
(F2a)
and
(F2b)
type
the
is
a
by
a
GROUP
descriptlon
SEGMENT
group
is
eventually
an
EX'rERNAL
public
The
there
FRAME
The
to The of
the
definition.
the
of
the
(i.e
definition
is
is
an
FRAME
PUBDEF
LOCATION fixup,
INDEX.
INDEX.
INDEX.
••
the
LOCATE'd
INDEX.
symbol
no
associated
specified. symbol
LSEG,
is
Record
and
the
a
7th
way
of
the
The
FRAME
The
canonic
FRA~E
FRAME
lowest
The
FRAME
is
found.
is
defined
is
defined
and
there
speci~ied
(a.v.)
TARGET
(F6)
seven
is
is
defined
in
is
There
relative
Group.
absolutely,
is
no
by
the that
must
of
specifyinq
ways
the
canonic
the
MAS).
determined
are
The
associated
FRAME
qives
be
within
of
specifying
canonic
by
the
3
cases:
to
some
LSEG's
without
NUMBER
the
a
FRAME
LSEG
when
32K.
frame
of
FRAME
in
the
there
the
the
GROUP (F3) CF4)
containing a
PEDATA
~contained~
(F2)
the
above,
DATA
(FS)
X No
LOCATION.
Record
Record.
No
cases:
this
this
this
(F2c)
is
Group
is
a
X.
in
taking
X.
(FSa)
case,
(FSb)
case.
(FSc)
case.
Reqardless
an
associated is
INDEX FRAME
The
or
an
LSEG:
the
'fhe
The
the
The
the The
the
specified. subfield
NUMBER
FRA~E
(If
LOCATION
a PIDATA
in
FRAME
FRA~E
is
TARGET
FRAME
is
TARGET
FRAME
is
TARGET FRAME
is
of
how
Group.
of
the
(specifying
is
the
Record
this
case
NUMBER
determined
specified
determined
specified
determined
specified
determined
The
(The
is
specified
from
the
symbol
canonic
qroup
PUBDEF
the
canonic
(a.v.»,
the
FRAME
the
by
the
a
SEG~ENT
as
a
as
an
EXTERNAL
~s
is
specified
Record
obvious
FRAME absolutely
is
FRAME
TARGET.
in
(F0)
GROUP
in
(Fl)
in
(F2)
is
defined,
FRAME
(q.v.).)
FRAME).
of
then
determined
NU~BER
INDEX:
above.
INDEX:
above.
INDEX:
above.
of
by
the
(i.e.,
it
field
There
in
in
in
is
LSEG
as
are
in
not
in
of
4
,
l~
8886
Object
Module
Formats
Verslon
4.8
FRAME in
(F6)
R&L
that siqned TARGET
an
displacement
20-bit
Nomenclature
nomenclature
FRAME:
FRAME: FRAME: FRAME: FRAME:
FRAME:
FRAME:
In
practice,
the
FRAME
FRAME by a seqment LSEG
of
containinq
(FSd)
NUMBER:
(F3)
No
above.
X.
8089
address
for
SI«seqment GI«group
EI«symbol
<FRAME
LOCATION
TARGET
NONE
specified
the
LSEG
relative
The
in
There
self-relative
between must
describing
TARGET's,
NUMB~R>
for
by
a
containinq
reference
the
TARGET.
TARGET
this
is
no
be
case
computed.
viz:
name»
name»
name»
an
808~
self-relative
This
is
specified the
FRAME. reference the
LOCATION
FRAME's
memory
the
LOCATION,
will
be
will
FRAME
This
is
is
similar
reference,
reference
the
be
further
with
is
determined
is
a to 20-bit
will
and
the
canonic
an
explicit
way
to
be
processed.
address
to
[FA1
[F11 [F21
[F3]
{F41
[F51
[F6]
it
is be
FRAME
FRAME
explained
as
indicate
and
the
likely the
canonic
specified
of
below.
to
A
the
above
that
the
A
self-relative implicitly following reference,
block
Proqram
reference)
For are there
outside
is address position
For 32K unique
from
l6-bit
TARGET.
If
LOCATION
If
the
the
range
displacement
defined
LOCATION
the
8086
self-relative the
a
uniaue
implicitly
of
TARGET
8089
self-relative
LOCATION,
siqned
the
LOCATION
modulo
LOCATION {-128:l27},
is
by
8086
IP
pointer)
specified
l6-bit
in
~553~:
added
SELF-RELATIVE
fixup
operates
LOCATION:
(because
(Instruction
is
references,
FRAME,
displacement
defined
the
by
FRAME.
references
R&L
qives
displacement
is
an
no
errors
is
a LOBYTE,
otherwise
to
LOCATION
namely at
pointing
LOCATION,
a
OFFSET,
are
the
modulo
FIXUPS '
as
follows:
the
the
time
Pointer)
to
if
R&L
qives which,
(F~),
warninq.
between
the
reported.
displacement
R&L
will
25~.
A
address
of
or
the
the
either
byte
a
warninq.
LOCATION
when
will
if
yield
TARGET
Otherwise,
the
LOCATION
displacement
qive
memory
of
a
self-relative
8989
following
added
the
is
must
a
warninq.
address
the
TP
or
TARGET
Otherwise,
to
relative
not
within
there
and
is
added
be
within
is
byte
(Task
the
the
is
the
to
The
a
17
8086
Object
what
defined
A
neqative
FRAME
defined
If
this then to
fixup
65536)
65536)
to
the
Module
If
the
LOCATION
the
translator
by
LINK-86
seqment-relative
l~-bit
specified
as
the
signed
R&L
will
LOCATION
(1)
if
LOCATION
to
the
high
to
the
low
(2)
if
LOCATION
BASE;
FOVAL
Formats
and/or
number, by
the
distance
20-bit
report
in
order
order
is
is
a BASE. POINTER.
had
in
mind,
LOCATE-86
EPS·s.
and
or
the
SEGMENT-RELATIVE FIXUPS
fixup FBVAL,
fixup,
number
an
the
following
is
a POINTER"
word
word
is
a BASE,
from
is
error.
of
operates
is
defined
and
a
the
less
Otherwise
fashion:
of
POINTER,
POINTER.
then
in
signed base
than
then
FBVAL
the
as
of
0
and
ignored.
HIBYTE.
action
followinq
the
20-bit
the or
qreater
FBVAL
FBVAL
FOVAL
is
added
FRAME
number,
FRAME
and
is
is
Version
it
is
taken
way:
NUMBER
FOVAL,
to
the
than
FOVAL
added
added
(modulo
unclear
by
R&L
a of
TARGET.
65535,
are
(modulo (modulo
~5536)
4.0
is
non-
the
is
used
(3)
65535)
to
(4)
(modulo
division
(5)
(modulo
The
that,
if assumed warninq
order
messaqe.
to intermediate
values
are
Record.
if
the
if
LOCATION
25~)
is
dinteqer
if
LOCATION
256)
8086
a
TARGET
FRAME,
perform
values
The
LOCATION
OFFSET;
FBVAL
is
to
the
division
is
to
the
LOBYTE; FaVAL
IN'rERMEDIATE
Object
can
not
then
that
This
this
checkinq,
of retained followinq
is
an is
a HIBYTE,
HI8YTEi
d
a LOBYTE,
VALUES
Module
be
accessed
failure
checkinq
its
address either diaqram
OFFSET.
ignored.
then
FBVAL
i.e
••
then is
iqnored.
in
FIXUP ARITHI\1ETIC
Formats
can
be
is
called
LINK-8~
arithmetic.
in
the
illustrates
then
(FOVAL /
is
the
remainder
(FOVAL
quarantee
from
detected
daccess
and DATA
three
FOVAL
is
25~)
iqnored.
is
modulo
255)
fixups
a
LOCATION and
R&L
verification·
LOCATE-8~
need
These
Record,
or
cases:
added
is
(The
indicated
discarded.)
is
in
the with
can
to
intermediate
in
the
(modulo
added
added
sense
the
issue
l
In
retain
FIXUP
a
18
808~
Object
~odule
Formats
Version
4.9
<----
+------+
+n
in
or
+------+
+------+
q
or
+------+
+------+
q
+------+
a
"secondary"
FIXUP
the
or
a separately, a POINTER.)
be
non-negative
to
a verification
or
Case
Record, DATA word.
specification
OATA
Record
---->
<---
+------+------+
+n
+-------+
+-~----+------+
1
illustrates
way.
so
Record.
(If
so
In
incorporates
...
------+
q
No
arithmetic
As
tha
LOCATION
the
above
Case
1,
numbers
of
a
the
situation
explicit
must
diagram
is
a POINTER,
diagram
the
value(s)
("+n"',
displacement the
<null>
+------+----~~+
displacement
be
and
value
in
FIXUP
+n
where
done
shows,
applies
in are
"+n".
Record
a
in
the
the
arithmetic
separately
LOCATION
considered
'0';
--->
fixup
10'
LOCATION
thus
is
is
LOCATION
is
are
to the
<---
<---
<---
specified
provided
itself,
may
on
to
considered
each
each
be
equivalent
R&L
be a byte
Case
Case
Case
in
half
half
access
1
2
3
in
the
in
of
to
Case
a
"primary" FIXUP number
complete, validity or value complement;
final
instead {0:65535}, ranqe be
allows
in
is
location, best
the REFERENT
Record.
("+n-).
modulo
g
d
"
staqe
Case
{-1,048,576:1,048,575}.
supported.
support,
a
"primary" Here
necessary
First, made TARGET
2
the
by
may
3
of
may
are
with clear
is
illustrates
wa:'.
This
When
resultant
R&L,
65536)
of
is
is the
be
R&L
the the
beinq
represent It way,
some
or
desirable:
yet
respect
by
the
location
and
with
An
explicit
displacement
all
then,
to
the
considered
doesn't
fixup.
same
is
cases
another
an
24'th
as
restricted
signed
desiqned
R&L
with
negative
~here
to
example:
TARGET: EI(STRUCT)
named
the
situation
displacement
arithmetic
value
finally,
oriqinalcontent
care
Case
access
definition:
which
byte
(in
as
because
2, to
(Note:
into
a
a
in
after
"STRUCT"
where
is
considered
required
the
FIXUP
that
non-negative,
except
non-negative
(2's
the
verification,
displacefl\ents
"primary"
result
there
complement)
initially, formats
a -REFERENT"
TARGE'r
the
specification
,24
the
location itself.
a
fixup
'0'
is
to
Record)
is
of
LOCATION
or
is
no
that
is
the
numbers
for
of
101.)
specification
positioned.
named "STRUCT";
is
specified provided be a non-neqative
by
the is
added
as
checkinq
displacement
in
numbers
this TARGET'S
case
completeness:
is
in
fixup
checked
(modulo
C'q").
siqned
in
the
in
will
specified
of
a
TARGET
a
memory
This
in
the
is for 256 The 2's
this
'0',
range
the not
it
is
the
19
8086
Object
Module
Formats
Version
4.0
(1)
this
The
case,
reason
located,
Thus, Now
is
LINK-8~
the
eventually LOCATION; Thus,
as
various
maintain
translator
for
LINK-86
(2)
REFERENT. external register translator
and
place access TARGET
is
A 5 HORT-JMP
the
TARGET
is
that
it
will
probably
will
programmer
LOCATE'd,
however,
LINK-86
pieces
the
The array
that
must
to
For
will
would
of offset.
provide
maintain
translator example,
ARY, use
FRAME:
TARGET:
the
dneqative
verification
not
guaranteed,
should
TARGET:
when
convert
may
this
maintains
LSEG
contain
SI(FOO) EI(ARY)
to
is
being
be
EI(subroutine)
LINK-86
be
a
the
. TARGET:
be
correct
the
does
A
are
not combined,
Since
an
offset
intermediate
wishes
if
the
and
the
the
,0000H
offset-
the
and
made
to
an
specified
learns
known
above
TARGET
the
offset
TARGET
SI(A)
in
dknowinq·
mean
(possibly
,dl
will
that
it
the
LOCATION
field
in
fixup
to
reference
TARGET
is
the
reference
address
FFFEH
of
in
LOCATION.
REFERENT ARY:
is
the
programmer's
external
as
,0000H
where
(dl)
to
dl changing) needs
the
values.
word
is
with
the
LSEG
however,
subroutine.
be
the
within
the that
within
is
subroutine
some
form:
when
128
less
value
a
full
is
a
sinqle
fixup
·backwards~
in
record
front
respect
named
R&L
will
access
responsibility.
the
than
LSEG
proqram
bytes
of word
byte,
itself
from
of
to
a
FOO,
perform
to
l28!
dl
base
In
is
A.
of as
to
the
the the
the
the
Note:
translator
if
could
FRAME: TARGET:
and
R&L
would
(as
above),
(2)
quantities:
(say,
BAZ)
but
(continued)
the containing
BAZ. LOCATE-86
difference
(location
is
not into fixup
this
as
qreater
difference
FRAME:
TARGET: then linkaqe LOCATION because
a
translator'S
LINK-86
positive
would
to
linkaae) itself, the
R&L
~5534,
intentions.
Case
use
perform
to
the
MAS-location
can
of
SAZ
than
SI(FOO) EI(ARY)
have
where system
the
3
in
SI(FOO) EI(ARY)
access
actual
The
ARY,
enforce
plus
~5535r
are
known.--rl~he
had relative it
qets
cannot
access
the
above
,-2
verification,
TARGET
calculation
of
and
that
relative
provided
to
maintain
~added~
know
verification
FOO,
the
the
offset)
offset
if
diaqram
(in
front
the
relative
final
that translator
the
of to the
were
not
to
the
of
ARY)!
by
LOCATE-Sfi
MAS-location
offset
offset,
-
(location
all
quantities
had
(possibly
ARY
the
FFFEH
of
within
content
was
R~L
available,
REFERENT
of of
which
of
specified
chanqinq
BAZ.
FFFEH.
a
neoative
may
thNart
involves
the
ARY
within
is
FOO)
r
enterinq
in
the
ARY
LSEG
the
the
from
the
And
2
or
the
3
20
8086
Object
Module
Formats
version
4.9
~he
works
whether
(3)
REFERENT, FRAME.
external
R&L
will
the
190'th
constraint
FRAME
of
(4)
in
that Only used
after
as truncation is
LOCATE'd.
followinq
The
and
For
example,
structure
FRAME: TARGET:
ensure
miqht
FOO.)
Hibyte
a
full
a
fixup
of
example
the
TARGET
translator
to
ensure
we
STRCT.
SI(FOO) EI(STRCT)
that
byte
of
be
the
achieved
fixups
word
is
LOCATE'inq
value.
low
byte
(3)
specification
wishes
that
wish
to
The
,99
distance.
STRCT
even
specified
used
will
This before
to
the prevents
is
a
to
the
TARGET
reference
translator
from
is
less
if
in
accumulate
value
addinq
case
is
reference
the
than
STRCT
a
primary
of the the
where
~primary~
lies
the
may
canonic lies
access
·forwards~
within
l00'th
specify
FRAME
6553~.
outside
way
the
value
the
hibyte
loss
address
of
accuracy
at
verification
or
·secondary-:
the
byte
the
of
(Note
the
will of
an
of
an
which
from
specified
in
fixup
Foa
that
canonic
be
correct
offset.
offset
due
an
object
a
an
as
to
this
be to
21
8086
Object
Module
Formats
Version
4.0
A
object
modules,
defined
object
records provide syntactic
CACM,
object~file
sequence library
module
tmod lmod
rmod
or
as
a records. to
form a module.
information
description
November
RECORD
code
a
collection
= =
module
= LIBHEO
= tmod I lmod I rmod =
=
=
file
library
The
about
1977,
sequence
THEADR
LHEADR
RHEADR
v
must
containing
of
followinq
lan~uage
20,
I
{module}.
{module}
sqr;_table sQr.table sgr_table
contain
object
In
addition,
how
to
nIl,
library.
1ibtail.
used
ORDER
zero
code
syntax
interpret
p
822
omod.
{data} {data}
a
seauence
or
more
defined
shows
the
the
herein
-
823.
{component}
It_component} It_component}
of
modules.
by
the
qiven
record
is
defined
a
valid
semantic
(one
sequence.
modtail. modtail.
or
A
module
sequence
orderinqs
in
modtail.
more)
is
of
of
rules
The
WIRTH:
omod sqr.
table sqor.table seQ.qrp o.
component
t~component
component
data
debuq.
content thread
data
record
def
def
record
=
=
=
= = =
=
=
= =
= =
RHEADR
seq~grp
seq
{LNAMES} {data}
THEADR
data content
LOCSYM I LINNUM
data
FIXUPP.
LIDATA I LEDATA
sqor_table
qrp
REDATA
{OVLDEF} {SEGDEF}
It_component}
{co~ponent}.
I
debuq.
..
def
TYPDEF
BLKDEF I BLKENO record
(containinq
record.
thread·def
PUBDEF
{FIXUPP}.
I HIDATA.
{o,:.component} [REGINT1. [REGINT1.
{
TYPDEF I EXTDEF
ENOREC.
I
I Ex'rDEF.
I
DEBSYM
only
I PIDATA I
I
I ENOREe.
thread
fields)
PEDATA
I
I
GRPDEF
o·modtail.
}.
o
modtail
22
=
{OVLDEF}
modtail.
808~
mod
tail
libtail
Object
Module
Formats
= [REGINT1
=
LIBNAM
MODEND.
LIBLOC
LIBDIC.
Version
4.9
NOTE:
are
not
section The
following
1.
A FIXUPP
2.
The named
3.
All
precede
4.
COMENT
first
or
5.
OVLDEF and MODEND records order the
The
character
literals
defininq
debug
by
LNAMES,
records
or
within
records
qroup
records),
of
first
but the
rules
record
apply: always
records
the
nearest
SEGDEF, GRPDEF, TYPDEF,
all
records
may last a
record
libtail.
may
definitio~s
must
these
be
records
OVLDEF
strinqs
are
Record
have
precedinq
that
appear
app~ar
but
not
equal
record
represented
identifiers
Formats.
refers as
their
refer
anywhere
in
a
file
either or at
both
to
must
be
pointinq
that
to
the
originatinq
THEADR
to
or
immediately
at
the places.
the
number
same
to
by
are
previous
record.
them.
within module,
end
as the
capital
further
and
a
within
(before
The
of
0
the
'root'"
letters
defined
DATA
record.
module
EXTDE~
file,
except a
after
the
number
components,
-0,
component
part.
above
in
the
the
records
content~def,
the
module
as
seqment
REGINT
of
OVLDEF
and
must
the
and the
order,
6
•.
As
with
at
the
beqinninq OVLDEF's there
can
the
if not
OVLDEF
of
any)
be
two
records,
a
or
at
REGINT
module
the
the
(after
end
records
REGINT
(before
in
record
SEGDEF's,
the
MODEND
the
same
may
appear
GRPDEF's,
module.
record),
either
and
but
23
8086
Object
Module
Formats
Version
4.0
The
schematic
conventions:
** * * * * * *
*
* TYP * *
* * * * * *
***********************1//*********1111***********
TITLE
At
the
with
programs, products, abbreviation abbreviation
an
official
followinq
form.
!~~B~P~~TION.to.
paqes
Here
present
is
SAMPLE,
...
-.
--
..
the.
a
sample,
RECORD
----
- .
(SAMREC)
RECORD
diaqrams
FORMAT
*********************111*********
*
RECORD
REC
LENG'rH
xxH
* * * * *
and
OFFICIAL
top including
and
should
is
is
the
abbreviation. various always
ABBREVIATION
name
translators,
tools
be
6
letters.
NAME
* *
I I
+----rpt----+
of
the
Record
To
promote
such
used
in
both
* *
debuqqers,
as
FO~MATS
of
Record
to
illustrate
II I 1***********
NUMBER
Format
uniformity
EDOJ9~
code
Described,
and
and
documentation.
*
*
the
CHK SUM
among
Formats the
various
*
*
toqether
various
various
OJED8~,
in
R&L the
The
'fhe
Each boxes, The
wide bytes slashes
one asterisks,
represent
255,
the
or
REC
The
indicatinq RECORD
The
record,
NAME
BOXES
outlined
boxes,
each.
in
more,
'ryp
second
format
The
the
depending
but
4-byte
first
LENGTH
exclusive
is
entirely
outlined
wide
top
and
with
fields.
byte
which
field
drawn
boxes,
bottom,
four
in
record
in
of
with entirely
upon
vertical
each
each the
boxes
with
outlined
represent
content.
record
type
record
first
of -two
asterisks,
with
with
The
bars
contains
the
record
contains
2
fields.
sizes.
represent
~sterisks,
asterisks,
a
variable wide
in
is.
the
boxes,
the
a
value
number
represent
but
number
top
The
sinqle
with
of
outlined
and
between
of
bytes
narrow bytes.
two
three
bytes,
with
bottom,
~
and
in
24
8086
Object
Module
Formats
Version
4.0
Any
structure:
inclusive, field. byte set: translators strictlY1 all
where byte
byte,
fields
indicated
some
.1
cond i tional"
The
must
current
NUMBER
A
4-byte
the
(lowest
etc. REPEATED Some
that
Similarly,
qiven
field
the
that remaininq represent
{
?(rl:.
will
the
above
processors.
first
address),
OR
portions
may
by
the
condition
or d cond"
that
1st
indicates
0l2345f;789ABCDEFGHIJKLMNOPQRSTUVWXYZ
NUMBER
8
bits
CONDITIONAL FIELDS
MrepeatedM
some
byte
bytes
choose set
of
a
be
portions
is
indicates
contains
are
the
Ascii
to
has
been
field
(least-siqnificant)
the
Record
repeated
or
true;
br
ackets
a
the
interpreted
code
constrain
chosen
represents
next
Format
0
-rPt-
of
a
these
below
number
or
Record
~NAMEd
a
number
of
a
to
8
bits
contain more
brackets
fields
the
has
the
of
remaininq
as
character the
McoverM
a
32-bit
are
are
a
times.
below
Format
are
boxes.
between
a
byte
character
stored
stored
field
are
indicated
followinq
bytes
string1
drawn
}.
that
unsiqned
Such
in
in
or
the
present
required
portions boxes.
0
from
set
the the
series
by
internal
and
in
each this Most
more
inteqer,
first
second
are
only
simIlar
40, the
by
of
if
CHK
The
the
2's
record.
equals
BI'r
Descriptions
the
bit
drawn
indicate
bit-fields
SUM last
complement
Therefore,
0.
FIELDS
level.
throuqh
bit
field
boundaries,
of
3-,
of
of Boxes them,
1-,
irt
each
the
the
contents
outlined
represent
and
sum
sum
thus
4-bits:
record
(modulo
(modulo
of
in
the
is
a
check
256)
25~)
fields asterisks, bytes
byte,
or
of
of
will
words;
represented
*************************
*
*
*
*************************
sum,
all
all
sometimes
but
* *
*
other
bytes
with
the
which
bytes
in
vertical vertical below,
the
qet
contains
in
the
record
down
lines lines
has
to
3
25
8986
Object
Module
Formats
version
4.0
Every
HEADER original encountered or
MODULE
This
can
translators.
be
***********************///***********
* * * * *
*
REC
*
TYP
*
80H
* * * * *
***********************///***********
module
RECORD.
defining
in
the
END RECOR[.
record
the
first
*
*
*
output
Its
module
module
can
T-MODULE
RECORD LENG'fH
from
purpose
for
up
also record,
serve
HEADER
(THEAi5R)
* T
*
MODULE
*
a
translator
is all to
line
the
as
and
RECORD
NAME
to
provide
numbers
followinq
the
header
will
*
CHK
* SUI" *
* *
must
be
for
*
have
the
identity
and
T-MODULE
for
a
module
modules
aT-MODULE
local
HEADER
i.e
r
output
of
the
symbols
RECORD
••
it
from
T-MODULE
The
T-MODULE
NAME
NAME
provides
a
name
for
the
T-Module.
8086
Object
Module
Formats
Version
4.0
Every earlier) record
(output) form from the
those
LIS86
The
module
or
by
serves
by
LINK-86/LOCATE-86.
another
of
proqram,
L-MODULE
L-MODULE
Lr~ODULE,
HEADER
(LHEADR)
RECORD
***********************///***********
* * * * *
*
REC
*
*
TYP
*
RECORD
LENGTH
*
L-MODULE
*
NAME
*
*
CHK
SU~
*
*
* 82H * * * *
* * * * *
***********************///***********
previously
LOCATE-8~
only
module, the
NAME
linked
for
NAME
to
the
example).
provides
may
identify
new
modules,
created
have
When
module
a
an
L-MODULE
a
several requires
by
which
name
by
module
for
(cross)
HEADER
that
modules
a
it
can
the
name,
L-Module.
LINK-86
has
are
be
referred
RECORD. been
perhaps
processed
linked
(Vl.3
unique
to
or
This
to
(by
27
8~8~
Object
Module
Formats
"er~
ion
4.,
~
R-~ODULE
HEADER
(RHEADR)
RECORD
***********************///*********///*********///***********
* * * * * * *
*
REC
*
TYP
*
*
* 6EH *
RECORD LENG'fH
*
R-MODULE
*
NAME
*
R-MODULE
* * ATTR
*
*
R-MOOULE
* INFO
*
* CHK * *
SUI.,
* *
* * * * * * * ***********************///*********///*********///***********
Every HEADER been
module When module modules,
example).
processed
several
R-MODULE
The
module
RECORD.
(output)
attributes
modules
requires
by
which
NAME
R-~ODULE
created This
and
are
a
name,
it
can
NAME
by
LINK-8~/LOCATE-8~
record
by
LINK-86/LOCATE-86. gives linked
be
provides
serves
information
to perhaps referred
a
name
to
form
unique to
for
identify
on
another
(by
the
may
It
memory
from the
LIB8~
R-Module.
have a
also
module,
those
an
module
specifies
usaqe
of
proqram,
and
the
*
R-MODULg that
the
has the
need.
new
linked
for
R-MODULE
The
attributes,
************************·******~·~~************I'
* * * * * *
* * * * * * * ***********************************************1 I I 1*****
The
Zis
assigned
R-MODULE
MOD
*
OAT
*
~OD
indicates
a
function.
ATTR
and
SEGil\ENT RECORD
*
COUNT
OAT
ATTR
has
the
field following
GROUP
* *.
RECORD
COUNT
*
provides
format:
*
*
*
information
OVERLAY
RECORD
COUNT
* * * * *
sunfield
has
the
followinq
format:
*********************************
* , , I t I
*Z,
* I , I , ,
*********************************
that
Z I
these
These
z,
bits
Z,
l-bit
Z I Z
are
fields
reauired
TYP
I *
have
to
on
OVERLAY RECORD OFFSET
*
*
not
be
various
I 1*****
currently
zero.
module
* * *
been
28
8086
Object
Module
Formats
Version
4.0
TYP
semantics
TYP=0 TYP=l
TYP=2
TYP=3
The
Segment
The
Definition
The Overlay Definition
The
contains
relative Definition OVERLAY
is
a
are
defined
The The other The
It
can
The
It
can
fixups
SEGMENT
Definition
GROOP
Records
OVERLAY
Definition
Record
OVERLAY
a
32-bit
to
the
Record
RECORD
2-bit
module
module
than
module
be
module
be to
RECORD
Records
RECORD
in
RECORD
for
RECORD
unsigned
start
in
COUNT
su~field
as
follows:
is
an
is
a
relocatable
base
is
fixups
a
Position
loaded
is
a
Load-Time
loaded
be
performed.
COUNT
in
COUNT the
module.
COUNT
Records
the
'Root').
OFFSET
number
of
the
module.
is
zero.
that
absolute
may anywhere. anywhere
subfield
the
module. subfield
subfield
in
the
indicatinq
the
specifies
module.
module.
still
Independent
No
fixups
Locatable
with
indicates
module
subfield
object This
field
be
perhaps
indicates
indicates
is the
file,
the
module
Fixups
present.
Code are
needed.
Module.
some
the
number
(including
a
4-byte
location
of
the
must
module.
base
the
the
first
be
type.
number
of
number
Overlay
field. in
Overlay
zero
The
of
Group
of
It
bytes,
when
R-MODULE
The
unsiqned
of
memory
fo
rmat:
STATIC module. allocated
MAXIMU!"1 seqments S'rATIC SIZE) available STATIC
INFO
R-MODULE
numbers
space
*****1111*********1 *
STATIC
* *
SIZE
* *
INFO
specifyinq
that
*
ft4AXIMUM
*
STATIC
*
SIZE
* *
field
the
the
contains
different
module
1'1*********1111*********'
* * * * *
*****1111*********1111*********'
This
to
in
SIZE.
This
memory,
SIZE
SIZE
the value and
is
is
the
module
S'fATIC
module.
(By
defaul only
the
the
the
total
the
mlnlmum
so
SIZE
is
This
t
MAXIJ\1UM
qives
loader
MAXIMUM
size
that
the
value
the may
STATIC
static
the
maximum STATIC
maximum
allocate
will
DYNAMIC STORAGE
111*********1111*****
of
module
must
SIZE.
a
types
need.
the
memory
can
total
be
qreater SIZE soace
any
sequence
and
It
sizes
has
I'
of
four
the
1*****
* *
MAXIMUM
*
DYNAMIC
*
STORAGE
* *
LTL
is
seqments
space
be
loaded. size
set
needed.
value
that
of
than
e~ual
Dependina between
or
32-bit
(in
bytes)
followinq
* * * *
in
must
the equal
to
STATIC
the
be
LTL
to on
the
29
8086
Object
Module
Formats
Version
4.0
buffer, value
miqht equal
is
set
DYNAMIC
for
dynamic
is
zero.
MAXIMUM
be
needed
to
DYNAMIC
equal
STORAGE
DYNAMIC
by
the STORAGE
to
DYNAMIC
is
the
expansion,
STORAGE
module.
STORAGE·
memory
etc
(By
default
value)
•••
is
This
space
)
the
.value
that
at
must
load-time.
maximum
must
MAXIMUM
be
dynamic
be
qreater
DYNAMIC
allocated
The
memory
STORAGE
(for
d&faUl·
that
than
value
or
30
8086
Object
Module
Formats
Version
4.0
This
followinq
Classes,
The
the
ordering
on
the
2,
3,
Segment
Name
Index
Names.
4,
Record
SEGDEF
Overlays
ordering
of
•••
Name
These
fields
LIST
------
OF·
NAMES.
(LNAMEST-'
RECORD
-"-'
...
***********************///***********
* * * * * *
REC
*
RECORD
* TYP *
*
9~H
LENGTH
* * * *
* * * * * ***********************///***********
provides
and
Names
Thus,
Index,
and/or
of
numbers
of
the
GRPDEF
Groups.
LNAMES
within these
Class
SEGDEF
names Name
*
NAME
* * SUM *
I 1
+----rpt----+
of
a
list
Records
Records
each are
and
LNAMES are used
Index,
GRPDEF
Names
as
the
within
Record,
considered
as Overlay
Records.
*
CHK
names
a
module,
dName
Name
*
that
induces to
Indices
may
of
toqether
be
numbered:
Index
be
used
Seqments,
an
orderinq
d
in
and
in
with
1,
the
Group
lenq
This
th.
repeatable
field
provides
a
name.
which
may
have
zero
11
808~
Object
Module
formats
Version
4.0
SEG~ENT
DEFINITION.
(SEGDEF)
RECORD
**********************///*****************///*******///*******///********** * *
*
*
REC 'r'll'
98H
* * * *
* *
RECORD LENG'fH
*
SEGMENT
*
ATTR
* * *
* *
*
* SEGi-\EN'r * SEGMEN'r * CLASS
"*
LENG'fH
*
* *
*
*
NAME
INDEX
* * *
NAME INDEX
*
OVERLA'l *
*
NAME
*
INDEX
*
*
**********************///*****************///*******///*******///**********
I I
SEGI\1EN'r record the
(SEGMENT
seqment",
of
LOCATE-86, if
they
of
the
types
sequence
possibly
wish.) SEG, AT'rR The
segment,
INDEX
to
in
INDEX
which
disjoint
although
SEG
refer
which
0
is
ATTR
and
values
to
SEGDEF
is
reserved
not
really
regions
translators
field
has
the
1
throuqh
specific
Records
a
provides
followinq
+----c
to
seqment: of may
0 n d i t
327fi7,
LSEG's,
appear
indicate
it
memory;
create
information
forMat:
which
are
defined
in
the
is
a
it
is
portions
on
ion
are
used
the
·unnamed
possibly
normally
of
various
a
1----+
in
implicitly
object
absolute
empty
created
it
as
attributes
* *
CHK
*
SUM
* *
*
other
file.
well,
*
*
*
by
set
by
******************************************************* *
ACB
*
p
*
*
*
*******************************************************
The
ACBP
specifications.
A
(Alionment)
* *
*
FRAME
NUMBER
*
OFF * LTL
*
SET
*
* * *
+---conditional---+---
byte
contains
This
*
byte
*********************************
* I , *
* A C I B I P *
* , I *
*********************************
is
a
3-bit
*
* * * *
4
numbers,
has
OAT
con
the
following
subfield
* * *
MAXIMU,.,
*
SEG,..,EN'r
*
LENG'rH
*
*
* *
GROUP
OFFSET
* * *
* *
I
~
i t
the
that
A,
C, B,
format:
soecifies
ion
a 1
and
---+
P
the
attribute
aliqnment
32
d086
Object
Module
Formats
version
4.0
attribute
A=0 SEGDEF A=l
SEGDEF A=2 SEGDEF A=3 SEGDEF A=4 SEGDEF A=5 SEGDEF A=6 SEGDEF
aligned
In
addition
··conditional·· NUMBER
MAXIMU~
A<>5
and SEGMENT
then
C
combination must
have combined OFFSET's
For
relocatable
or
7
indicatinq
of
this
attribute
combined:
the
combination
and
let
MXY
gap
required
aliqnment
(combined)
and
let
followinq
offsets dy
in
dx'
Y:
of
the
LSEG.
describes
describes
describes describes describes describes
describes
LSEG
fields
OFFSET
LENGTH,
the
three
(Combination)
attribute
combination
like
match
C=6
below
(For segments, how
is
Let
X,Y
of
denote
between attribute LSEG
dy
table
Zi
similarly
qives
and
dye
if
the
will
fields
NAME
of
zero
the
best
be X,Y. the
the
of
let
the
in
The
semantics
an
absolute
a
relocatable,
a
relocatable,
a
relocatable,
a
relocatable,
an
unnamed
a
load-time
not
member
value
be
present.
will
and
GROUP
INDEX
is
a
the
LSEG.
(C=0).
if
and
A=0
their
the
segment
qiven
LSEG's,
Let
LX
maximum
X-
and
Y.
dx
(0<=dx<LX)
be
lenqth
Z
for
absolute
of
of
A
be
present.
OFFSET
fields
3-bit
Absolute
In
only
if
complete
C
field
may
be
by
considerinq
and
let
and
LY
of
LX,LY.
Y-components
Let
LZ
be
the the
offset
LZ
bytes
of
are
defined
LSEG.
byte word paraqraph paqe
locatable
any
qroup.
determines
If
A=0
If
fields
will
be
subfield
seqments
this
case
their
names
encodes
combined.
Z
-be
the
be
the Let
of
denote
the
offset
in
the
combined
correspondinq
as
aliqned aliqned
aligned portion
(LTL),
if
or
A=5
A=6
will
present.
that the
FRAME
Must
a
number
The
how
LSEG
lenqths
G
be Z
to
the
Y
of
follows:
LSEG. LSEG.
aligned
LSEG. of
MAS.
paraqraph
one
or
then
then
be
the present.
specifies
(A=0
seqments
NUMBER's
match
0,1,2,4,5,6
interpretation
two
LSEG's
resulting
of
X
the
length accommodate length
in
X
of
a
byte.
LSEG
to
Z,
dx
LSEG.
several
the
LTL
or
will
as
and
of a Then and
in
FRAME
OAT,
the
A=5)
and
well).
are
from
of
any
the the
byte,
the the
X
and
If
be
Y,
The
indicates same the
LSEG above seqment
B
Seament
LENGTH
LZ
C
LX+LY+G
'2
4
LX+LY LX+LY
5
~
MXY
7
I~XY
above that
combination
so
that
all
other
semantics
(Big)
is
Lenqth
field
must
dx'
di-
dx dx+LY dx dx+MXY-LX
table
the
relocatable
semantics
LOCATE-8~
LSEG's
of
8080
a
I-bit
is
exactly
contain
~y~
dy+LX+G
dy
dy+LX
dy
dy+MXY-LY
has
no
as
will
in
R&L); C=3
subfield
zero.
lines LSEG C=6,
(in
MAS
which.
~4K
for
may
not
but
addition~lly
the
default
(this
is
undefined.
if
(6553fi).
C=0,
be
combined;
case)
corresponds
1,
indicates
In
this
C=l
or
C=3.
C=l
"distinquishes"
place
to
the
that
case
the
C=0
has
the
the
LSEG
MEMORY
the
SEGMENT
33
8086
Object
P
the
·(This
seqment
corresponds
The seqments, segment.
inclusive.
adjustment
The specifies format:
-
zls
assigned
Module
(Paqe-Resident)
be
FRAME
The
LTL
A-9
of
the
NUMBER
or
range
If
a
the
OAT
attributes
subfield
*********************************
* I I I I I I I *
* G I Z 1 z 1 z I Z I Z I Z 18SM*
* I I I I I I I *
*********************************
indicate
a
function.
Formats
located to
the
and
A-5)
of
value
FRAME
that
These
is
a
l-bit
in
Min-paqe-
OFFSET
specify
OFFSET
larQer NUMBER
(present
of
these
bits
~AS
the
i$
than
should
an
I-bit
subfield
without
relocation
fields
(present
placement
constrained
15
is
be
only
LTL
seqment.
fields
are
required
which, crossinq
desired
done.
for
have-
type
in
to
to
only MAS
be
LTL It
not
be
if
1,
a
page
of
8080
of
between
for
OFFSET
seqments,
has
currently
zero.
Version
demands
boundary.
R&L.)
for
the
0
the
followinq
4.0
that
absolute
absolute
and then
A=n)
been
15
an
G seqment the
group.
BSM specifies case
the
The seqments, segment. loader value the
value
field
The
8SM
to
give
The
qives
base
value
to
the of will
the
SEGMENT
(Group)
is
a
(Big
that
MAXIMUM
MAXIMUM A=6)
(The
as
to
in
this
in
is
only
attribute
the
GROUP offset
the
be
qroup
member
Segment
the
SEGMENT
specifies
purpose
reserve
field.)
the
SEGMENT
big
seqment
OFFSET
of
parent
used
base
LENGTH
is
a
of
maximum
SEGMENT
memory
enouqh
bit
a
MAXIMU~
the
qroup.
by
of
the
I-bit
a
group,
~aximum
segment
LENGTH
the
of
this
This
LENGTH
to
in
the
subfield
first
the
loader
data
field
and
Length)
must
LENGTH
maximum
field
space
va~.ue
field. hold LTL
OAT
length
(present
byte
It
must
to
records
that,
should
lenqth
contain
subfield
length
is
as
much
must
numbers
field
of
of
the
be
zero
determine
belonainq
be
is
a
is
to
as
be
The
from
h4K.
only
seqment
if
1,
loaded
I-bit exactly zero.
(present·
in
bytes
provide
possible
qreater
MAXIMUM
0
to
(see
above)
for
if
the
the
to
specifies
as
field
~4K.
information than
SEGMENT
n4K-l
must
LTL
seoments,
relative
G
bit
location
the
seornent.
a
that,
only
of
up
or
equal
inclusive.
be
is
0.
that part
if
In
this
for
the
to·
to
LENGTH
used
A=6)
to
This
relative
the
of
1,
LTL LTL
a
the
to
the
bytes. not
only
34
The
delete
bi~
SEGMENT
The
lenqth
the
enouqh
LENGTH
may
segment
to
hold
field
be
zero:
from
numbers
the
qives
if
so,
module.
from
the
LINK-3~
The
a
to
~4K-l
lenqth
(unlike
SEG~ENT
inclusive.
of
LENGTH
the
seq~ent
LINK-SO)
field
The
in
will
is
8
8086
Object
Module
Formats
Version
4.8
attribute
segment
SEGMENT
-------.
The
to
the STACK. l;st
assign has programmer referred RED, WHITE, BLUE; Class
LNAMES
the the by
of
CLASS The length
OVERLAY
The
programmer's
Class
indexing
bit
a
length
NAME
Segment
segment. This names
to
Name,
Record(s).
field
NAME
Class a
segment.
0.)
to
to
(e.g.
NAME
Overlay
Name,
into
in
provided
define
by
the
of
INDEX
Name
provides
INDEX
Name
The at
ROM,
indexing
INDEX
Name behest,
may
the
ACBP
field
64K.
is
a
name
Examples:
the
by
the
is
a
(If
none
purpose
a
-candle·
LOCATE-time)
FASTRAM,
into
is
a
name
apply
be
null.
list
of
(see
the
CODE,
Segment
LNAMES
name
is
assigned,
of
by
by a single
DISPLAYRAM.
the
the
to
a
This
names
field
provided
above)
programmer
DATA, Record(s).
the
Class which
list
translator segment.
must
TAXDATA,
Name,
proqrammer
the Names several
of
provides
by
be
or
by
indexing
name
reference.
This
names
and/or
The
the
used
translator
MODULENAME
or
is
field
OVerlay the
LNAMES
to
translator
is
null,
to
LSEG's.
provides
provided
LINK-86,
Name,
Overlay
Record(s).
give
into
,allow
may
Examples:
the
assigns
CODE,
the
can and
the
the
by
the
like
Name,
be
at
(Note) component Name
may
be
and
null.)
The
entity
an
MComplete
comprising
Overlay
(End
of
Name. Note)
Name­a
Segment
(The
of
latter
a
segment Name,
is
a
2
components
a
3-
Class
35
8086
Object
Module
Formats
Version
4.0
LSEG's that. some
this
into
GROUP
.......--..-..--
DEFINITiON
(GRPDEF)
RECORD
***********************///**********///************ * * * * * *
*
REC
*
RECORD
* TYP *
9AH * * INDEX * DESCRIPTOR * *
*
LENGTH
* * *
*
*
GROUP NAME
*
*
GROUP
COMPONENT
* *
CHK
SUM
* * *
***********************///**********///************
I I
+--repeated---+ GROUP The
when FRAME is
The
the
Group
may
not
GROUP
list
NAME
Name
be
referenced.
the
which
the
NAME
of
INDEX
LSEG's
contains
case,
names
is
a
name
The
are
eventuallv
(or
LOCATE-8~
INDEX
field
provided
by
which
important
~cove~sd)
will
provides by
the
a
fixed
every
issue
LNAMES
collection property
in
a
the
of MAS, LSEG
warning
Group
Record(s).
of
such
there
of
the
message.
Name,
*
*
1
a
must
qroup.
by
or
more
qroup
exist
indexinq
is If
GROUP
Each
COMPONENT
GROUP
COMPONENT
DESCRIPTOR
DESCRIPTOR
***********///*****
* * *
~
51
*
SEGMENT
* *
INDEX
*(FFH)*
*
*
***********///*****
***********///***** * * *
*
EI
.*
EXTERNAL
* *
INDEX
*(FEH)*
* * *
***********///*****
has
1
*
*
*
*
*
* *
of
the
followinq
formats:
3t5
8186
Object
Module
Formats
***********///*********///*********///*****
* * * * *
*
sea
*
* *
*(FDH)*
SEGMENT
NAME
INDEX
*
* *
CLASS
NAME
INDEX
OVERLAY
*
NAME
INDEX
*
*
* * * * * * ***********///*********///********///******
************************************* *
*
*(FBH)*
* *
* *
LTL * LTL
*
OAT
GRP
MAXIMUM
* * GROUP
LENGTH
* *
*
*
* * *
GROUP
LENGTH
* *
* * *
*************************************
*************************
* * * *
ASS
GRP
* *
FRAME NUMBER
*(FAH)*
* * *************************
* *
OFF
* * *
*
SET
*
*
* *
Version
4.1
These
If
the DESCRIPTOR selects
DESCRIPTOR
selects
External
DESCRIPTOR
which
Overlay
or
separate
the
If
the the
(eventually) (i.e.,
rather
specification
If
determine
Name(s).
proqrammer
5
kinds
first
contains
LSEG first
contains
LSEG
Name.
(Note)
the
than
the
translations
first
contains
to
of
DESCRIPTOR's
byte
described
byte
that
one
respectively.
of
1
of 1 is
If
the
found
External
an has
byte
3
more
or
include
(for
more
more
(eventually)
LSEG),
occurred.
are
the
DESCRIPTOR
field,
by a precedinq
the
descriptor
field,
definition
to
be
physical
is
defined
then
(End
of
the
DESCRIPTOR fields, more
in
which
which
Segment
This
a
~roup,
SEG~ENT
now
discussed:
contains
which
which
found
of
the
with an
DESCRIPTOR
is
SEGDEF
contains
is
an
to
External
instead
respect
error
of
note)
contains
are
Name(s),
one
INDEX's
0FFH,
a
SEGMgNT
record.
0FEH,
EXTERNAL
contain
of
to
in
Name
Class
allows
or
more
cannot
the
Index
logical
a
qroup
0FDH,
Index
Name{s),
a
be
then
INDEX
then
INDEX
specified
is
PSEG
then
fields,
translator
LSEG's
known).
the
that
the
that
the and
from
37
8086
Object
Module
Formats
Version
4.0
A Name
specifies occur
DESCRIPTOR maximum descriptor,
record.
GRPDEF
qroup.
assigned
specifies
GROUP
in
If
the length
record.
A
The
Zis
BGL
LENGTH
Index
all
other
first
contains
if
There
seqment
LTL
DATA
indicate
a
function.
(Biq
that
subfield
with
~ames.
record
byte
of
the
present.
may
There can
field
be
value
(Note:
types.)
of
3
more
qroup, at not
has
the
must· most may
be
zero
carries
Name
DESCRIPTOR
fields.
and
the
precede one not
in
the
descriptor
be
two
followinq
Indices
which
lenqth
any
such
special
contains are
all
absolute
qroups.
format:
with
other
*********************************
* I I I I I I , *
* Z I Z I Z I Z I Z I Z IBGLIBGM* * I I I I I I I *
*********************************
that
Group
the
These
Group
must
these
Lenqth)
lenqth
contain
I-bit
bits
are
is
is
fields
required
a
I-bit
exactly
zero.
have
64K.
siqnificance:
zero
the
LTL
of
the
descriptors
of
this
not
to
be
subfield
In
value
0FBH.
OAT
field.
qroup.
type
component
currently
zero.
that.
this
case
may
then
in in
This
in
been
if
it
not
the the
the
a
the
1.
the
BGM
specifies
case
the
The
that
has seqments have
been The
of
the
qroup
using
·If
the
the
DESCRIPTOR
LOCATEd.
all base Group of
If
the
a
fixups
are
then
Group
Group absolute the
GRPDEr"'
record.
reco
(Biq
that
Group
the
MAXIMUM
GROUP
been
in
determined
the
group
performed
MAXIMU~
that
maximum
first
contains
it
has
an
have
required
the
FRAME.
is
also
has
and
this
There
rd.
Maximum
maximum
GROUP LENGTH
arc
relative
GROUP
has
lenqths byte
the
address
been
after
NU~BER
available
been
descriptor
may
Lenqth)
qroup
LENGTH
subfield
subfield
after
put
in
to
LENGTH
been
of
subfield
determined
of
the
the
DESCRIPTOR
address
chosen
performed.
LOCATE-8~
should
for
assiqned
must
be
at
most
is
length
specifies
the
Group
contiquous
the
base
segment
of
the
by
LOCA If
has
assiqned be debuqqinq
an
address
precede
one
a
I-bit
is
must
of
specifies after
components.
contains
Group.
r
rE-8f),
fixups
used
as
all
descriptor
subfield
exactly
contain
the
length
is
~locatedM,
memory
the
area.
Group.
the
the
Group
Once a Group
relative
relative
an
the
base.
systems
by
LOCATE-86
other
of
that,
~4K.
zero.
of
All
maximum
. . ~
is
~located",
0FAH,
to
address
The
such
then
descriptors
this
In
the
and
then
has
to
the
to
address
as
type
if
this
group
the
fixups
lenqth
the
been
which
Group
the
ICE.
it
in
1,
is in
a
38
80B6
Object
Module
Formats
Version
4.0
(Examples)
names "DATA",
and
"MEMORY"
7
and
8,
respectively
The LSEG "DATA" •
with
"unspecified")
all
regardless
"Small"
one contains
[eFOH,
with
The
Segment
The
LSEG's
The
contains
Descriptor
S'eqment
Descriptor
Descriptor
with
of
PLM-86
assumptions
the
7,
7,
Assume
I'
RAM
are
selected
Name "MYPROG",
Name "MYPROG-,
Overlay
Seqment
their
compile~
the
descriptors
5],
and
that
'I
,
It
MYPROG"
•. with
with
Overlay
by sinqle
fields:
Name.
with
emitting
[~FDH,
by
an
Name
4
fields:
Class
fields:
Name
Name(s). will
descriptor
8, 8,
LNAMES
,
"CODE",
record
Index
[eFDH,
Class
{0FDH,
Name "DATA",
"MYPROG"
be
2 GRPOEF
[0FOH,
5].
Name
(eFDH,
able
1,
(End
..
"
(null),
values
"DATA",
3,
1,
3,
1,
and
to
(Group
{0FDH,
1,
51,
of
exists
of
1,
3,
1,
51
specifies
and
01
Class
inform
Definition)
4,
4,
Examples)
such
"STACK-"
2,
3,
11
specifies
and
Overlay
no
(or
·null-#
specifies
Name ·DATA
LOCATE-86
51,
[eFDH,
the
that
"CONST"
4,
5,
the
any
of
Records:
other
6,
6,
the
6,
the
Name
LSEG
or
and
II
the
51,
,
39
8086
Object
Module
Formats
Version
4.9
************************///*********///************
* * * * * *
REC
*
*
TY
P *
* SEH * * USE) * DESCRIPTOR * *
* * * * * *
************************///*********///************
This
or
objects
EXTDEF, BLKDEF,
as
a supported, appendix.
As describe describes eiqht
record
Branch,
many
a
leaves.)
presumably
and
II
branch. eiqht
TYPE
-----(TyPDEF)-----
*
RECORD LENGTH
provides
named
DEBSYI~
which the
EIGHT LEAF
leaves;
and/or consists
correspondinq
(Every
DEFINITION
*
NAME
RECORD
* EIGHT *
* (L"INK86 * LEAF *
I I
+-----rpt----+
the
description
by
DESeRI
such
the
one
or
LOCSY~
of
a branches,
PTOR"
field
last
such
records.
fields
of
more
sequence
except
names
field
the
of are
as
necessary
the
describes
type
provided
The
Leaves.
last
CHK SUM
of
type
provided
in
*
*
an
in
is
described The
,are
the from
object
PU6DEF,
types
in
an
used
record
one
to
to
TYPE INDEX
record
defined
the
obj
Use place
of
Leaves necessary. Branch leaves.
a
name
EIGHT
This
a
types
implicitly
ect
file.
of
sinqle
of
LEAF
field
are
is
deemed
This
values
to
associate by
this lenqth
to
Unless
field
byte
DESCRIPTOR can
be to
field
1
through
the
sequence
is
reserved containinq zero).
describe
represented, the
last
end
in
an
has
the
followinq
***********///******
ohject
3
up
leaf
32767,
in
to
indefinite
* * *
* E * LEAF *
*
~
* DESCRIPTOR *
*
*
***********///******
* *
I I
+----rpt-----+
in
for it
eiqht the is
which types which
(which
a
format:
TYPDEF
LINK-8~.
Leaves. field Repeat
sequence
* *
are
with
is
may
Leaf
contained
object
records
Translators
the
representation
If;
more
be
(see
of
in
names,
appear
than
repeated
below),
easy
other
are
in
should
eight,
as
the
null
8086
the
(bit=l)
has
Object
The
following
The
one
of
Module
EN
field
LEAF DESCRIPTOR
the
Formats
is
a
8
Leaves
followinq
byte:
*******
* *
0
to
128
*
*
* *
* * * * *******
*******************
* * *
* * *
129
*
* * * *
*******************
(left
field. formats:
·0
to
64K-1
the
8 to
which
*
*
*
*
bits,
riqht)
occurs
left
are
to
Easy
between
riqht,
(bit=0)
1
Version
indicate
and
8
or
times,
4."
if
Nice
***********///*****
* * *
130
*
*
NAME
*
*
*
*
*
* * * * *
***********///*****
***********///*****
* * *
* * *
*
131
* INDEX *
*
* *
* * *
***********//1-*****
************************* * * *
* * *
132
*
* * *
*************************
*
e
to
11;M-1
* * *
*
41
8086
Object
Module
Formats
*******
*
*
* *
133
*
* * * *
* *******
*************
* * *
*
* *
134
*-127
*
to
*+127
*
*
*
* * *
************* *******************
* * *
*
*
-32K
to
+32K
* *
135
*
* *
* *******************
* * * *
Version
4.0
The reoresents represents
represents
The
second
a
Numeric
The
a
String
string,
The
an
Index Index, representation.
Leaf. third
Leaf.
in
fourth
Leaf.
which
**************************.***
136
* * *
4-byte
integer
signed
*
* * * * * * ******************************
sinqle a
Numeric
a
a
Numeric
OMF's
byte,
Leaf
Null
form,
form,
The
form,
The
is
Leaf. Leaf
The
number
field
standard
field
a number
Recursively
containinq or
with
with
with
with
a
is
a followinq representation.
a
fo1lowinq
a
Null
If
the
the
leadinq
contained
leadinq
leadinq
between
defined
Leaf.
indicated
byte
byte
the
byte
the
types
a
value
value
in
leadinq
leadinq
0
and
*
* * *
*
between
If
the
is
less
inteqer
containinq
the
followinq
containinq
byte
containino
byte
32K~.,
are
allowed.
value
number. 129,
130, represents
131,
represents
in
OMF's
0
is
than
represents 2
represents
represents
anti
128.
bytes.
standard
128
j t
128,
the
an
it
a
Numeric
42
The
fifth
Leaf.
form,
with
The number
a
leading
is
byte
contained
containinq in
the
fo11owinq
132,
represents 3
bytes.
8086
Object
Module
Formats
Version
4.8
'fhe Repeat last
leaf
considered
considered
leaves.
The represents followinq
The a
Signed
bytes,
'rhe a
Signed
bytes,
siqned
sixth
Leaf
seventh
byte,
eighth
Numeric
signed
ninth
Numeric
can
of to to
a
Siqned
extended
fo
extended
form, only a
branch
repeat
end
form,
which
form,
Leaf.
rm,
Leaf.
~
occur
indefinitely.
in
an
with
Numeric
will with
The
if
neccessary.
wi
th
a The
if
necessary.
sinqle
as
the
is
a
indefinitely
be
siqned
a
leading
number
lead
number
byte
last
Repeat
a
leading
Leaf.
in~
of
leaf
Leaf
Otherwise
The
extended
byte is
contained
byte
is
contained
133,
of
then
lonq
byte
number
if
containing
conta
in
is
a
a
Branch.
the
previous
the
sequence
containing
is
contained
neccessary.
in
inq
13;,
in
the
Repeat
'Branch
of
135.
the
following
following
Leaf.
If
leaf
easy
Null
134,
in
represents
represents
A
the
is is
the
2
4
43
8086
Object
Module
Formats
Version
4."
PUBLIC
-------(PUBDEF)-----
NAMES
DEFINITION
RECORD
***********************///*********///*********************///*********** * * * * * * * *
REC
*
*
*
TYP *
90H
*
RECORD LENG'rH
* * * * * * *
* PUBLIC * * BASE *
P~BLIC
NAME
* PUBLIC * TYPE * *
OFFSET
*
INDEX
* SU,4 *
CHK
*
* * * * * * * * ***********************///*********///*********************///***********
I ,
+-------------repeated--------------+
each the by
This
one,
offset
the
PUSLIC
The
3
name.
PUBLIC
record
datums
value
BASE
provides
are
of
BASE
provided:
the
has
name,
the
a
list
(1)
and
followinq
(3)
of
1
or
a
base
the
format:
more
type
value
of
PUBLIC
for
entity
NAME's;
the
na~e,
represented
for
(2)
*****///*********///***************** * * * *
*
* *
*
GROUP
INDEX
*
SEGMENT
* INDEX *
*
*
*
FRAME NUMBER
*
*
*
* * *
*****///*********///*****************
, I
+conditional+
The
a
number
"associates·
described
there
provides
location non-neqative
first
absent.
means
is
value
is
The
A
byte
A
that
taken
in
non-zero
SEGMENT
44
GROUP
between
a
on
paqe
no
associated
SEGMENT a
number
of
each
displacement
of
the
the
location
~s
a
displacement
the
FRAME
INDEX
0
qroup
16,
INDEX between
SEGMEN~
public
selected
INDEX
NU~8ER
field
and with
case
qroup.
has
32767
(F2c).
field
0
and
INDEX
symbol
(qiven
LSEG,
of
0
of
each
from
field.
a
the
defined
(leaal
format
inclusive.
public
A
zero
has
327~7
public the
a
selects
by
a PUBLIC OFFSET
and
the
base
qiven
sym~ol,
GROUP
format
inclusive.
an
in
the
FRAME
only
if
symbol
of
earlier,
A
LSEG,
record
NU~BER
GROUP defined
the
non-zero
and
INDEX
qiven
in
is
field)
INDEX
FRAM~
and
GROUP
is
indicates
earlier,
which
taken
field
is
in
the
rlefined
provides
INDEX
used
that
and
case
from
must
as
also
record
by
the the
the
as
a
be
~)
8086
Object
Module
Formats
Version
4.0
(Informal
both
is
public
the A
taken
non-zero
symbols
LOCATE-86
fixup
(where
be
of
.pM
converted
where M SI and
PUBLIC OFFSET
the
frame
old
fixup, public OFFSET, to the bit public
symbol,
and
a
{base,offset} base
offset
symbol's
Discussion)
SEGMENT
as
the
will
the
is
perform
form:
a
by
(L)"
and
specifier
viz.:
as
(optionally)
of
the
cannot
INDEX
GROUP
-frame defined
public
LINK-86
TARGET:
FRAME: "d" fields.
in
FRAME:
defined
pair, indicated then
value,
The
and
GROUP
INDEX
of
reference-
in
the
TARGET:
FRAME:
symbol
to
a
are
provided
(The
the
new
TARGET.)
by FRAME the
group.
complete
an
error
FRAME
INDEX selects this
record, following
El
(P)
TARGET
in
this
fixup
SI(L),d
GI
(G)
Mnormalft
fixup
the
NUMBER
base
part the
will
NUMBER
are
some
qroup1
for
e.q.,
actions:
PUBDEF
of
the
by
the
action
be
the
(2)
When
SEGMENT
fields,
will
(If
a
definition
occur.)
is
present
zero.
this
references
LINK-86
(1)
record)
form:
SEGMENT
would
same
the
as
value
INDEX. PUBLIC
is
converted
be
taken
non-neqative
of
iff
group
to
all and Any
will
I,NDEX
have
in
the
of
16-
the
a
as
not the the of
SEG~ENT
puaLIC The
location
must
contain
PUBLIC OFFSET The
offset
INDEX
specified
A
GROUP
alter
the
symbol, absolute the
segment
INDEX
NAME
PUBLIC
in
MAS
1
or
(Note)
in
names
throuqh
be
to
listing
7EH"
used,
However,
character
PUBLIC OFFSET
of
the
Public
>
0),
or
FRA~E
INDEX
FRAME
and
value
field.
NAME
is
more
R&L's
is
that
(tilde) but devices,
set
the
(if
of
specification
LOCATE-86
of
(either
field
to
be
made
characters.
only
they
may
produce
translators
more
strictly.
field
Symbol
offset
SEGMENT
zero
selects
will
the
public
LSEG
(End
of
qives
available
cdnstraint
lie
within
inclusive.
etc.
may
is
a
with
of
respect
the
INDEX
take,
symbol,
or
Informal
the
Other
awkward
proscribe
(End
l~-bit
Public
=
~).
no
qroup.
of
PSEG)
name
to
upon
the
results
of
value,
to
Symbol
LINK-S6
fixups
as
the
base
the
canonic
determined
Discussion)
of
the
other
range
the
modules.
characters
20H
characters
when
the
admissible
Note)
which
an
LSEG
with
will
referencing
part
frame
by
object
(space)
may
output
is
either
(if
respect
of
the
whose
The
name
the
SEG~EN'r
to
the
as
808~
Object
Module
Formats
Version
4.0
TYPE
The Definition) represented
INDEX
TYPE
by
INDEX
Record
the
field
containinq
Public
identifies
Symbol.
a
a
descriptor
sinqle
precedinq
for
the
TYPDEF
typ~
of
(Type
entity
898n
Object
Module
Formats
version
4.0
such
each
(if
such
of
the
of
an
request same or
not
Record
EXT~RNAL
...
!AMES
DEFINITION
(EXTDEF)
RECORD
***********************///*********///*********** * * * * * *
*
REC
*
*
*
RECORD
TYP
*
LENGTH
8CH
* * * * *
*
EXTERNAL
*
NAME
* TYPE *
*
INDEX
* * * * * *
***********************///*********///***********
This
name,
External
EXTERNAL.
This
external
Inclusion
name
a
same
that
declared
the
in
Record the
name
type.
..
_._
..
_--
field
External
the
provides
type
Name is
found).
NAME
provides
object.
of
a Name
the
as
module.
of
object
the
object
a
Name
, ,
+-------repeated--------+
a
value
orovided
the
in
file
Public
is
it
name,
an
External Symbol.
actually
list provided
be
of
external
represents.
that
which
Names
linked
This
referenced
by
the
must
to
an
two
a request
names,
LINK-S6
identical
names
have
Record
module
C~K
* SUM *
will
name
non-zero
is
containinq
obtains
within
*
an~
Public
an
some
for
assign
objects
lenqth,
implicit
whether
FIXUPP
each
to
~ame
the
The
the
orderinq orderinq Thus, These
and/or
particular
given
an any
numbers
earlfer.
External
external
record
orderinq on
the
External
FRAME
External
positively: gxternal
zero:
808~
use
3
of
Caution)
definition
referring
of
of
External set
Names
are
used
DATUM
(Caution)
Names,
",1,2,
Indices
as
a
default
indices
EXTDEF
of
all
are
considered
as fields Name.
808~
1,2,3,...
which
••.
The
(Seqment
may
record
to
that
Records
Names
External
II
External
of
The
reason
value
not
object
within
FIXUPP
format
External
This
were
Index,
with
be
forward
definina
within
each
Names
to
be
Indices"
Records,
of
an
Names
is
a
numbered
is
to Type special
referrinq.
the
with
index
a
module,
EXTDEF
requested
numbered:
in
in
External
are
chanqe
startinq
conform
Index,
meaninq.
kith
object
k.
Record,
by
the
order
from
with
etc.)
tOQether
induces
the
1,2,3,4,
TARGET to
refer
Index
numbered
That
has
S080
from other which
(End
is
must
with
module.
•••
DATUM
to
been
to
say,
precede
an
a
47
8086
Object
Module
Formats
Version
4.0
T~il·E.
This Definition) named
by
INDEX
field
the
identifies Record External
containinq
Symbol.
a
sinqle
a
descriptor
precedina
for
the
TYPDEF
type
of
(Type
object
48
8086
Object
Module
Formats
Version
4.0
LOCAL
SY~BOLS.
(
LOCSYl~)
RECORD
***********************///*********///*********************///*********** * * * * * * * *
*
REC
*
*
*
RECORD
TYP
*
LENGTH
928
* *
*
*
SYMBOLS
LOCAL BASE
*
*
*
LOCAL
SYMBOL
NAME
*
LOCAL
*
SY~BOL
*
*
TYPE
INDEX
*
*
CHK SUM
*
*
* OFFSET * * *
* * * * * * * *
***********************///*********///*********************///***********
I I
+-------------repeated--------------+
This
in
the module. debugging
The
not
used
The
module
reco
rd.
record
source
The
purpose
proqrams.
information
by
the
symbols
of
name
provides proqram
R&L
products.
in
the
given
of
this
provided
record
by
the
information input
to
information
by
the
were
most
recently
about
the
translator
LOCSYM
originally
symbols
is
to
record
precedinq
which
aid
defined
that
ICE
is
T-MODULE
were
produced
and
processed
in
a
used
the
other
but
source HEADER
LOCAL
The
LOCAL
The
LOCAL
dreferent~
(location
qivinq,
(2)
it
values
The
FRA~E
than
~,
in
for
gives
of
the referent
NUMBER.
then
SYMBOLS
BASE
SY~BOLS
BASE
has
the
followinq
*****///*********///***************** * * *
GROUP
INDEX
* *
SEGMENT
* *
INDEX
* *
FRAME
NUI~BER
* * * *
* * * *
*****///*********///*****************
I I
+conditional+
SY,\<\BOLS
value
MAS)
each
an
indication
symbols
If
the
(location
of
the
referent
BASE
every
symbol
should
value
SEGMENT
provides
in
~AS)
symbol
in
the
to
LOCATE-8~
be
is
qiven
INDEX
value
two
,
with
in
the
record,
as
decomposed
by
field
is
the
location
thinas:
respect
record
a
to
into
the
contains
format:
*
*
*
(1)
to
which
will
non-neqative
how
{base,offset}
SEGMENT
6f
the
a the
be
INDEX
number
it
defined offset;
final
canonic
qives
the
(20-bit)
pairs.
or
by
oreater
a
value
by
and
the
frame
49
808~
of
Object
the
LSEG NUMBER SEGMENT
NU~BER:
first
byte
If
of
the FRAME INDEX
NU~BER
is
specified
described warninq.
field INDEX
in
of
the
LSEG
non-zero,
by
with
)
Module
specified
in
field
this
the
specified
GROUP
specified
(if
SEGMENT
the
GROUP
respect
Formats
by
this
contain
case,
INDEX
the
the
case.)
the
is
zero,-the
by
the
INDEX
base
INDEX.
to
SEGMENT
If
zero,
referent
frame.
SEGMENT
field
will
(If
such
both
then
be the
a
base,
INDEX.
the the
value
base
will
INDEX
contains
the
canonic
value
then
(There
GROUP
next
is
be
(if
non-zero),
zero).
of
a
LOCATE-8~
must INDEX field the
location
the
frame
symbol
Version
be
field
is
canonic
or
If
the
of
cannot
will
no a
the
FRAME
and
FRAME
of
fra~e
by
GROUP
GroQP
give
4.0
the
the
the
be
a
LOCAL This
LOCAL
The
offset
>
0),
specified
TYPE
The Hecord the
Local
(Note)
have
When
SEGMENT
SYMBOL
field
S~~BOL
LOCAL
of
the
Local
or
the
FAAME INDEX
TYPE
INDEX
containing
Symbol.
GROUP
INDEX>
NAME
provides
OFFSET
SYMBOL
OFFSET
Symbol
offset
(if
SEGP1EN'r
field
a
~escriptor
INDEX
0.
the
name
is
with
of
the
INDEX = 0).
identifies
is
>
(End
of
a
respect
Local
for
3,
then
of
note)
the
symbol.
l~-bit
to
Synbol
a
the
ty~e
value,
an
sinale
of
one
which
LSEG
with
entity
must
also
is
(if
SEGMENT
respect
preceding
represented
either
the
INDEX
to
the
TYPDEF
by
50
808~
Object
Module
Formats
Version
4.0
LINE
NUMBERS
(LINNUM)
RECORD
***********************///***********************************
* * * * * * *
REC
*
*
* TYP *
RECORD
LENGTH
* LINE * LINE *
*
NUMBER
*
NUMBER
*
LINE
NUMBER
* CHK *
*
SUM
* 94H * * BASE * * OFFSET * *
* * * * * * * ***********************///***********************************
I I
+--------repeated-------+
This
to
a
source
Since
numberinq,
identification
and
identification
also
LINE
record
debugger
code
and
several
the
NU!\1BER
may
of
is
provides proqram, the
correspondinq
independent
be
a
source
name
provided
SASE
linked
of
the
means
the
correspondence
source
text
the
original
by
the
translated
to
line
previous
by
modules,
form
must
containinq
which
a
include
a
translator
between
code.
with
sinqle
module.
T-MODULE
a
line
independent
module,
both
HEADER
may number
its
The
Record.
*
pass
line
a
full
number,
latter
in
The
The
the
LOCAL
INDEX location number.
logical
field, describing shows the
code
and
thus
the
assumption
location
LINE
NUMBER
*****///*********///*****************
* * * *
*
*
*
* * * * *****///*********///*****************
LINE
SY~BOL
and
of
This
(SEGMENT INDEX
if
the
segment references
of
NU~BER
(if
the
location
non-zero,
the
final,
use
that
the
base
BASE present)
first
of
it
BASE
GROUP
INDEX
BA~~
described byte
is informs
20-bit
a
non-zero
is
compiling
to
pieces
the
of
has
the
SEGMENT
*
INDEX *
*
*
has
the
the
of
code
may
non-zero).
appropriate
the
be
location
Group
of
group.
following
*
*
I ,
+conditional+
same
for
FRAME
correspondinq
physical
LOCATE-8h
is
the
format
the
LOCSYM
NUMBER
The of
Index:
~ut
one
code
seqment
At
debuq
format:
FRAME
NUMBER
(SEGMENT INDEX
value
what
the
code
A
LSEG
seqment
register time,
*
*
*
and
interpretation
record.
fields
to
some
of
the
base-part
line.
translator
of
many
are
the
The
determine
source
GROUP
to
An
knows
in
fixed
contains
user
SEGMENT
the
line
is
0)
INDEX
use
for
example
that
a
Group,
up
under
the
may
tell
as
or
51
8986
Ob·ject
Module
Formats
Version
4.0
ICE-86
to
respond
long
jump
register
translating
LINE
------
A
line binary and
the
INDEX>
specified
by
must
LINE
,-------_._-
The offset
-GO
by
executinq will be
the
NUMBER
number
this
be
zero.
NUMBER
LINE
8),
or
FRAME
TO
LINE
set
set
code.
field.
OFFSET
NUMBER
of
the
the
(if
NUMBER
a
lonq
the
CS
in
accordance This
between
The
OFFSET line
offset
SEGMEN'r
22
OF
jump
register;
is
the
Band high
32767,
order
field number of
the
with line
INDEX = 0).
MODULE
to
the
it
with
purpose
bit
is
a
respect
number
MODNAME
appropriate
is
important
the
of
inclusive,
is
reserved
l6-bit
M
location.
assumptions the
GROUP
is
for
value, to with
an
which LSEG respect
ICE-8~
that
made
INDEX
provided
future
is
(if
may
This
the
SEGMENT to
CS
while
field.
in
use
either
the
52
8086
Object
Module
Formats
Version
4.0
BLOCK
DEFINITION
RECORD
--------(SLKDEF'-------
**********************///**********///*********///*********///***********
* * * * * * *
"REC
**********************///**********///*********///*********///***********
*
RECORD
TYP
*
LENGTH
7AH
* * * * * * *
* * * * * * *
* *
BLOCK
BASE
*
BLOCK
*INFORMATION*INFOR~ATION*
*
PROCEDURE
*
TYPE
INDEX
, I
+conditional+
This
in
the
module.
for information
not
module
every
The
used
The
record
source
A
BLKDEF
block
is
information
by
the
blocK
of
name
provides program
record
to
aid
R&L
in
given
that
ICE
provided
products.
the
by
the
information input
will
contains
and
record
most
he other by
to
the
qenerated
variables.
debuQginq
the
BLKDEF
was
recently
about
translator
oriqinally
blocks
for
record
precedina
that
which
every
The
proqrams.
is
defined
THEADR
procedure
purpose
processed
*
*
were produced
in
record.
defined
of
a
CHK SUM
the and
this
but
source
*
*
BLOCK
implicitly
BLOCK The
The
LOCAL
SYMBOL
INDEX
by
BASE
BLOCK
BLOCK
BASE
values,
the
sequence
eASE
*****///*********///*****************
* * *
* * * *****///*********///*****************
has
GROUP
INDEX
eASE
described
the
has
used
of
followinq
* *
*
*
the
for
in
the
BLKDEF
SEGMENT
INDEX
same
the
format
LOCSY~
DEBSYi~
records
format:
* *
FRAME
*
NUMBER
* * *
, ,
+conditional+
and
record.
record,
in
the
T-MODULE.
*
* * *
interpretation
are
defined
as
the
53
808~
Object
Module
Formats
Version
4.0
SLOCK
The
NAME
This describes no
label
BLOCK
-
...
The 1st by
byte
the
INFOR~ATIO~
BLOCK
INFORMATION
*****///*****************************
* * * *
*
NAME
* * * * *****///*****************************
field
an
in
-._---.....------
OFFSET
BLOCK
of
BLOCK
contains
unnamed
PL/M)
OFFSET
the
BASE.
the
block
block
BLOCK
*
OFFSET
*
* *
the
name
block
NAME
is
in
will
a
l~-bit
with
respect
the
has
be
the
* *
*
of
source
of
value
to
followinq
BLOCK LENG'rH
the
code
lenqth
which the
block.
(e.q.
0.
is
referent
format:
* * * *
the
If
a
DO
offset value
the
block
of
specified
record
with
the
BLOCK
This
LENGTH
field
qives
the
lenqth
of
the
hlock
in
bytes.
54
8086
Object
I~dule
Formats
Version
4.0
PROCEDURE The
The was OFFSET
value
If
generated
The
P=0
INFORMATION
PROCEDURE
INFOR~ATION
block
has
the
followinq
**************************************************
* , I I I I I I *
* I I I I I I I *
*PILI010101010IB*
* , I I , , I I *
, I I I , I I *
*
**************************************************
+----------conditional-----------+
P
is
(CS
the
(Procedure)
present
L
(LONG)
and
L=0
L=l
L
IP)
->
->
bit
from
only
bit
or
2-byte 4-byte
has
bit,
a
procedure
if
tells
a
2-byte
return return
no
meaning
if
P=l.
whether
1,
value
address address
and
RETURN
ADDRESS
OFFSET
indicates in
the
the
(IP
is
required
source.
return
only)
that
the
The
address
to
be
BLKDEF RETURN
O.
format:
*
*
*
*
*
is
a
record
ADDRESS
4-byte
The
(from
activation
TYPE
The record name.
RETURN
BP)
This
of
record
INDEX
TYPE
containinq
field
should
Note)
ADDRESS
the
on
INDEX
is
(Note)
not
OFFSET, a procedure's the
stack.
field
the
type
present
Symbols
be
repeated
l~-bit
return
identifies
descriptor
only
if
defined
in
value,
address
a
for
the
NAME
in
DEBSY~
is
sinqle
the is
BLKDEF
records.
the
in
the
precedinq
procedure
non-zero.
reco
(End
hyte
procedure's
rd
offset
TYPDEF
or
s
of
block
55
8986
Object
Module
Formats
Version
4."
This
information
Each of order
the
BLKOEF
BLKDEF.
of
record,
about
reco
debuq
declaration
(Note)
scope
need
source
(e.q.
not
BLOCK
ENn
RECORD
(BLKEND)
************************* * * * *
*
REC
*
*
*
RECORD
TYP
*
LENGTH
7CH
* * *
* *
CHK SUM
* * * *
*************************
toqether
the
scope
rd
must symbol
in
For
translators
reflect
module.
be
the
AS~86)
(End
with
of
variables
followed
records.
source
the
the
order
of
the
by
and
module.
whose
orderina
of
Note)
*
*
BLKDEF
in.
a
8LKE~D
BLKENDs
variables
of
declaration
the
should
the
record,
source
record.
don't
records
reflect
have
in
The
the
provides
program.
order
the
5~
808#;
O,?ject
Module
Formats
Version
4.(')
DEBUG.
--.---- - -{OEBSYM)
~*********************///*********///*********************///***********
SYMBOLS.
RECORD
* * * * * * *
REC
*
RECORD
TYP *
7 EH * * * * * * *
LENGTH
*
FRAME
*INFORMATION*
*
SYMBOL
NAME
* * TYPE * CaK *
* OFFSET * INDEX *
SUM
*
* * * * * * *
~*********************///*********///*********************///***********
I I
+-------------repeated--------------+
This includinq is
to
aid
The
R&
L
prod
The
module
record.
The
block been
qlobal
preceding
of
closed
record
stack
ICE
and
information
ucts.
symbols
of
name
scope the
most
by
to
the
THEADR.
provides
and
based
other
in
the
qiven
of
the recently
a
BLKE~D.
source
debuqqinq
in
this
~ecord
by
the
symbols
module
information
symbols.
record
were
most
in
precedinq
If
no
The
programs.
is
oriqinally
recently
the
such
of
purpose
processed
record BLKDEF BLKDEF name
qiven
about
defined
precedinq
is whose exists
all
of
this
but
defined
extent
the
by
the
local
not
in
T-~ODULE
symbols
most
symbols
information
used
a
to
be
has
not
recently
by
the
source HEADER
the yet
are
defined
FRAME.
This
in
The
FRAME
INFOR~ATION
field
the
gives
record.
INFO
*********************************
* , I I I I * B I L I
* I I I I ,
*********************************
information
It's
format
about
is
***********///*****
* * *
*FRAME*
*INfO
*
DATUM
* *
* * *
***********///*****
byte
has
(l
the
I " I
followin~
~
I
the
as
frame
follows:
*
*
*
format:
I , *
FRA~E
r-1ETHOD
* *
of
the
symbols
57
808~
by
the
the
OFFSET bit
Object
The
the
address
The
If
frame
If
has
Module
B
(Based)
FRAME
of
L
(Long)
L=0 L=l
L=0
q i
ven
8=0,
fields
no
meaning
Formats
bit,
INFORMATION
a
symbol.
bit
-)
2
bytes
-)
4
bytes
the
frame by
the
the
is
location
the
and
if
and
tells
part
FRAME
location
is
reQuired
1,
means
OFFSET
the
lenqth
of
the
symbol
IN FORI"ATION
defined of
the
that fields
to
the
of
this
address fie
by symbol. be
0.
location
contains
value.
ld
the
FRAME In
in
a
value
is
defined
INFORMATION
this
Version
MAS
case
defined
that
to
the
4.0
is
be
and
L
The
DATUI~
The
identical
LOCSYM
field.
If
interpretation
If
FRAME
FRAME
to
reco
FRAME
METHOD
~ETHOD=0,
field
the
defines
DATUM
has
the
what
format:
*****///*********///*****************
* * * *
*
GROUP
* INDEX * INDEX *
*
SEGMENT
*
FRAME
NUMBER
* * * *
* * * *
*****///*********///*****************
I I
+conditional+
of
the
rd.
METHOD=l,
the
interpretation
the
*****///*****
* *
*
*
* *
* *
*****///*****
DATUM
of
DATUM
EXTERNAL
has
INDEX
the
fields
LOCAL.
the
*
*
format:
kind
in
the
SYMBOLS
of
*
*
data
above
BASE
is
in
format
in
the
is
the
58
8~86
Object
If
FRAME
Module
~ETHOD=2,
Formats
the
DATUM
has
*****///*****
* *
BLOCK
*
*
INDEX
*
*
*****///*****
*
*
*
*
the
format:
Version
4.0
FRAME
is
METHODs
The
in
the
FRA~E
OFFSET SYMBOL This
field OFFSET The OFFSET
as
follows:
If
FRAME
to
the
FRAME
INFORMATION
If
FRAME
external
symbol
field.
rf
FRAME
in
the
activation
FHAME
INFOR~ATION
of
~ETHOD
NAME
provides
field
~ETHOD
NUMBER
field.
~ETHOD=1
specified
METHOD=2
3
to 7 are
field
is
or
record field.
field
(see
the
contains
0
then
SEGMENT
then
by
then
of
illegal.
also
below).
name
a
l~-bit
this specified
this
the
this
the
block
specifies
of
the
field
field
DATU~
field
specified
what
symbol.
value
is
by
the
is
the
of
is
the
which
the
the
byte
by
kind
is
offset
DATUM
byte
offset
FRAME
offset
the
of
information
interpreted
with
of
respect
the
from
INFORMATION
(from
DATU~
of
FRAME
the
BP)
the
record the
symbol.
TYPE The
INDEX
TYPE
containinq
INFO
.
record.
INDEX
a
(Note
field
field
descriptor
on
LOCSYMs) A DEB$'il"
is
0
(End
of
is
Note
identifies
for
exactly
on
a
the
type
recor'i
equivalent
LOCSY,t1s)
sinqle
of
entity
"Nhose
to
precedinq
represented
FRA~E
a
LOCSYM
TYPDEF
by
59
8086
Obiect
Module
Formats
Version
4.0
RELOCATABLE
--------
ENUMERATED
---
--("~
E:DATA)--------------
DATA
RECORD
***********************///*****************************
* * * * * * *
*
REC
*
RECORD
*
TY
P * LENG'fH *
*
72H
* *
*
DATA
RECORD
BASE
*
*
DATA
RECORD
*
OAT * CHK
* *
* OFFSE:T * * *
* * * * * * *
***********************///*****************************
I I
+-rpt-+
This
808~
loaded For
(LTL)
Group divorced
is
memory
this
The
subject
or
record
imaqe
directly
reason
Enumerated
data
it
may
from
to
provides
may
eventually
by
an
the
record
Data
provided be all
modification
Record.
assiqned
LSEG/Group
contiquous
8086
may
in
absolute
by
loader,
also
this
information.
FIXUPP
data
be
constructed.
be
record
3095 reco-rds.
with
called
from
perhaps
~ay
memory
The
if
which
The
Load-Time
belonq
addresses
data
any.
a
some
which
SUr-1
portion
data
base
to
any
in
this
*
*
of
may
fixups.
Locatable
LSEG
and
record
follow.
an
be
or
be
This LINK-8fi record
DATA
rfhe
The final format LOCSYi-1
DATA
record
to
produce
by
the RECORD
DA'fA
DATA address and
interpretation
ceco
rd.
RECORD
may
be
loadable
LOCATE-8n
BASE
RECORD
BASE
qenerated
modules.
proqram.
has
the
by
translators
and
followinq
will
be
format:
*****///*********///***************** * * * *
GROUP
INDEX
*
SEGI."EN'r
* * *
INDEX
* *
FRAME
*
NUMBER
*
* * * * *****///*********///*****************
I I
+conditional+
RECORD
of
BASE
the
OFFSET
specifies
data
as
record the
the
may
LOCAL
base
be
defined.
SYMBOL
relative
BASE
or
converted
* * * *
to
It
described
(808~
to
which
has
the
based) PEDATA
same
for
the the
field
This
either
field
with
specifies respect
to
an an
offset
LSEG
of
(if
the
first
SEG~ENT
byte
INDEX
)
of
~)
or
the
OAT
with
808fi
Object
Module
Formats
Version
4.8
respect
data
bytes
memory.
DAT If
up
to
data.
RECORD
to
the
in
one
1024
consecutive
Otherwise,
LENGTH
data data
the
or
field.
(Note
record
record.
specifi~d
OAT
field
more
FIXUPP
the
on
data
must
This
bytes
repeated
record
be
is
FRA~E
occupy
records
of
within
true
(if
SEGM.ENT
successively
follow
load-time
field
size)
for
the
All frame
all
INDEX
then
locatable
is
constrained
qata
specified
~
data (REDATA, RIDATA, PEDATA, PIDATA, LEOATA, (End
of
Note
on
data
record
size).
=
higher
this
bytes
record
0).
Successive
locations
field
or
only
in
hy
the
types
LICATA).
provides
absolute
by
the
a
of
808~
Object
Module
Formats
Ve:·
sion
4.0
RELOCATABLE.
***********************111*********************//1****
* * * * * * *
REC
*
*
* *
RECORD
TYP
*
LENG'fH
748
* *
*
DATA
* RECORD * RECORD *
BASE
ITERATED.DATA~RECORD
-
{RIDATA)
*******
*
DATA
* OFFSET * BLOCK * *
* ITERATED * CHK *
DATA
*
SUM
* * * * * * *
***********************111*********************1//****
, I
+-repeated--+
This
8086
loaded For
(LTL)
Group divorced
.is
this
The
subject
record
memory
directly
reason
Iterated
data
or
it
from
to
provides
imaqe
by
Data
provided
may
all
m~ification
may
eventually
an
8086
the
record
Record.
in
be
assiqned
LSEG/Group
contiouous
loader,
may
this
record
absolute
information.
by
FIXUPP
be
with
also
data
may
records,
from
constructed.
perhaps
be
called
belonq
808~
The
which
some Load-Time
memory
data
if
any,
*******
a
portion
The
hase
to
any
addresses
in
this
which
data
*
of
may
fixups.
Locatable
LSEG
follo-,.,.
or and record
an be
be
This LINK-86 record
DATA
The
The final format LOCSYl"
address
DATA
record
to
produce
by
the RECORD
DATA
DATA
and
interpretation
reco
rd
RECORD
may
load
LOCATE-8~
BASE
RECORD
be
able
proqra~.
SASE
has
qenerated modules,
the
followin«1
by
and
translators will
be
format:
or
converted
*****///*********///***************** * * * *
*
GROUP
*
INDEX
*
*
*****///****~****///*****************
RECORD
of
the
data
• OFFSET
BASE
record as
*
SEG~ENT
*
INDEX
*
*
specifies
the
may
~e
LOCAL
*
FRAME
*
NU~8ER
*
*
I ,
+conditional+
the
base
defined.
3Y~dOL
relative
BASE
*
*
*
*
It
has
described
(RA8~
to
to
which the
for
based) RIOATA
the
sa~e
the
This
ITEHATED
62
field DATA
specifies BLOCK
field
an
offset
either
of
with
the
respect
first
to
byte
an
of
the
LSEG ( if
8086
Object
Module
Formats
Version
4.8
S~GMENT
SEGMENT
BLOCK
bytes.
portion must
INDEX>
field
ITERATED
This
It
REPEAT
This
of
be
non-zero.
INDEX
occupy
repeated
is
COUNT
field
this
0)
or
=
DATA
a
structure
with
0). successively
BLOCK field
respect
Successive
hiqher
is
a
structure
that
has
to
data
the
the bytes
locations
specifyinq
following
specified
in
of
*****************************///*****
* * * *
* REPEAT *
COUNT
*
*
BLOCK COUNT
* *
*
CONTENT
* * * *
* * * *
*****************************///*****
specifies ITERATED
the
DATA
number
BLOCK
is
of
to
times
be
repeated.
the
memory.
the
format:
*
that
FRAME
ITERATED
repeated
the REPEAT
CONTENT
(if
DATA
data
COUNT
BLOCK
This
are
If ITERATED
the
SLOCKs.
the
followed
the
to
this
CONTENT
CON'rEN'r This
value
If
If
first
field be field
DATA
of BLOCK
by
BLOCK
byte
nested the
(End
COUNT
found
has
BLOCK
portion
field
the
COU~T
the
of
(Note)
ITERATED
number
of
Note)
specifies
in
the
value
is
is
~ay
be
previous
is
indicated
COUNT
another
From
of
levels
the
number
CONTENT
zero
interpreted
interpreted
interpreted
BLOCK
zero
is
then
number
non-zero
ITERATED
the
outermost
DATA
of
of
portion
then
as
as
in
COUNT
this
of
data
then
DATA
BLOCKS recursion
ITERATED
of
the
data
that
one
field.
field
this BLOCK.
level,
is
this
CONTENT
number
of
bytes.
li~ited
is
ITERATED
bytes.
two
is
field
the
limited
DAT~
portion
If
of
ways,
a 1
is
number
to
17,
BLOCKS
DATA
of
non-zero
ITERATED
dependinq
byte
interpreted
of
i.e.,
to
17.
that
BLOCK.
this then DATA
on
count
as
808~
Object
Module
Formats
Version
4.9
************************************************* * * * * * * * *
* TYP *
*
* * * * * * *
*************************************************
This
an
8086
"unnamed
8~8~
information. if
any,
the
loadable
8t;.
memory
memory
which
RECORD
This
PHYSICAL
REC
*
RECORD LENGTH
848
* * * * * *
record
absolute
addresses
The
follow.
LENG~H
record
absolute
imaqe
data
is
data
provides
may
segment"
constrained
may
ENUMERATED
*
*
NUMBER
contiquous
be
constructed.
and
is
subject
If
there
be
qenerated
record
(PEOATA)
FRAME
in
that
has
to
are
to
and
will
DATA
RECORD
* OFF * *
* SET *
data,
is
been
modification
FIXUPp·
be
less by
be
OAT * SUM
+-rpt-+
from The has
divorced
records
than
translators
also
data
been·
qenerated
CHK
which
belonqs
assiqned
from
by
following,
or
equal
*
*
a
portion
all
FIXUPP
to
to
by
to
absolute records,
1028.
produce
LOCATE-
of
the LSEG then
a
FRAME This
bytes
which
Successive locations the
desired
up
the
will
OFFSE'r
This
ranqe
OAT
If
to
1~24
repeated
NU
field
be
field
defines
data of
0
then
one
consecutive
...
.,SER
loaded.
to
an
or
field
the
memory.
15
specifies
specifies
location
bytes
adjustment
more
in
inclusive.
FIXUPP
bytes
is
ccnstrained
a
an
the The
of
Frame
offset
of
the
OAT
value
If
the
records
of
field
an
FRAME
an
only
Number
relative
first
of
OFFSET
OFFSET
follow
80S6
by
relative
data
occupy
is
value
NUMBER
then
memory
the
to
to
the
byte
RECORD
of successively constrained
qreater
should
this iMaqe.
which
FRAM~
the
OAT
than
be
done.
field
Otherwise,
LENGTH
the
data
NUMBER
field.
hiaher
to
be
15
provides field.
in is
64
808fi
Object
Module
Formats
Version
4.0
PHYSICAL
ITERATED
( P
tDA
T
DATA
A,--
RECORD
*****************************************///*********** * * * * * * *
*
*
RECORD
LENG'rH
* REC *
*
TYP
*
86H
* * * * * * *
*****************************************///***********
This
an
8086
of
data object a memory
in
that
been
divorced
modification
FIXUPP be
less
record
memory
seqments
modules
imaqe.
it
has
records
than
imaqe when been
from
by
followinq
then
1025.
provides
may
and
"there
The
assiqned
the
FRAME
*
NUJ\1BER
*
*
be
provides
are
data
all
FIXUPP
ITERATED
*
* SET * * *
contiquous constructed.
repeated
belongs
absolute
LSEG
information.
records
DATA
OFF * ITERATED
DATA BLOCK
, ,
+-repeated--+
data.
a
mechanism
data
to
the
8086
BLOCK
from
It
allows
to
to
be
~unnamed
memory
The
if
any.
len~th
which reduce
used
addresses data
*
CHK
*
SUM
* *
a
initialization
the
to
absolute
is
If
is
constrained
*
*
portion
size
initialize
seqment
and subject there
of of
d
has
to
are
to
This
loadahle
8~.
FRAME
This
bytes
will OFFSET This
which
DATA
defines
BLOCK.
successively constrained
than
should
15
is
be
Same
record
absolute
NUMBER
field
be
loaded.
field
the Successive hiqher to
desired
done.
as
for
may
be
data
specifies
specifies location
locations
be
between
for
RIDATA
generated
record
a
of
data
OFFSET
record.
and
frame
an
the
bytes
of
~
then
by
translators
will
number
offset
first
in
be
relative
relative
data
the
ITERATED
memory. The
and
15
inclusive.
an
adjustment
also
byte
qenerated
to
which
to
the
in
DATA
ranQe
If
of
to
FRA~E
the
BLOCK
of
a
value
FRAME
~roduce
by
LOCATE-
the
data
NUMBER
IT~RATED
occupy
OFFSET
laroer NUMBER
a
is
8086
Object
Module
Formats
Version
4.0
LOGICAL
-_._.
ENUMERATED
·------(tEDATA)"---·-·
DATA,RECORD
_
..... _ ...
***********************///*****************************
* * * * * * *
*
REC
*
*
*
RECORD
TYP
*
LENG'rH
ASH
* * * OFFSET * * *
*
SEG~ENT
*
INDEX
*
ENUMERATED*
*
DATA
*
OAT
* * * * * * *
***********************///*****************************
This
8086
memory probably further
The
SASE
be
found
INDEX.
attribute
relocatable.
record
NOT
processed
data
portion
in
If
is
image
he
provided
of
the
SEG~ENT
the not
provides
may
eventually
loaded
by
the
the
address
SEGMENT
absolute
contiquous
directly
808~
in
this
in
DEFINITION
INDEX
then
. I I
R&L
record
the
the
data
be
constructed.
by
products.
may
case
RECORD
specifies
data
from
an
80R~
helonq
of
an
specified
a
provided
+-rpt-+
which
loader
to.any
absolute
seament
by
*
CHK
*
SUM
a
portion
The
as
by
whose
this
*
*
data
it
must
LSEG. seqment the
SEGMENT
alianment
record
of
will
will
an be
The
is
This based) the
LOCATE-8~
S
EGt..,Er4'r
This the
SEGMENT The as
~umber
to
SEGMEN'r
one be
placed
LSEG's
ENUMERATED This
the
LSEG
relative
data
bytes memory. offset
SEGDEF
OAT
record
LINK-86
field
DEFINITIO~
DEFINITION
of
the
is
provided
into
with
absolute
field
that
location
in
If
is
relative
RECORD.
proaram
proaram.
INDE:X
must
attributes
LEDATA
DATA
specifies
is
specified
the
OAT
the
may
be
and
be
non-zero
RECORDS
RECORD
of
in
the
SEGDEF
RECORDs
LSEG's OFFSET
of
the
field
SEG~ENT
to
the
Frame
converted
will
be
found
may
the
seqrnent.
record.
so
can
be
an
offset
by
the
first
occupy
INDEX
specified
Number
to
a
converted
and
specifies
previous
specify
that
achieved.
that
SEGMENT
byte
of
successively
providect
HEDATA
to
an
to
that
In
Absolute
aroupinq
is
relative
INDEX
the
DAT
hiaher
an
absolute
RECORD
a
PEDATA
index
the
the
data
this
data
and
field.
in
the
by
the
RECORD
relative
LEDATA
case
must
of
to
RECORD.
is
absolute a
be
relocatable
the
~ase
defines
Successive
locations
LS~G
then
correspondinq
(8A8~
by
to
Frame
able
of
the
of
the
808fi
Object
Module
Formats
version
4.0
or
This
absolute
field
data.
provides
up
to
1024
consecutive
bytes
of
relocatahle
~7
8086
Object
Module
Formats
Version
4.9
LOGICAL
ITERATED
DATA
RECORD
---(LIDATA)----·-
***********************///*********************///***********
* * * * *
* REC *
* TYP *
• AlH * * *
* * *
*****.*****************///***~***********.*****///***********
This
an
80R5
probably
further
'l'he
portion
found
SEGMENT
data
provided
RECORD LENGTH
record
memory
NOT
processed
data
of
the
in
the
INDEX
provides imaqe
be
loaded
in address SEGDEF
specifies
by
this
*
SEGMENT
* INDEX *
contiquous
may
eventually
directly
by
the
808~
this
in
record
an
record
record the
specified
LSEG
~
ITERATED·
DATA
OFFSET
ITERATED *
*
DATA
*
BLOCK
CHK
*
SUM
* *
* * *
I I
+-
r e
by
R~L
case
other
is
relocatable.
data,
be
an
808~
products.
may
of
belono
named
hy
than
pe a ted
from
which
constructed.
loa~er
to
absolute
the
SEG..,EN'r INDEX.
an
absolute
any
--+
a
as
LSEG.
data,
portion
The
it
LSEG
data
must
The will
then
If
of
will
be
BASE
be the the
This based) the
LOCATE-8~
SEGMENT
This the
SEGDEF
record
attributes
the
of
SEGDEF
relocatable
ITERATED
This
the
LSEG relative
Successive
·hiqher absolute provided
ITERATED
record
LINK-8~
proqram.
INDEX
field records
may
specify
of
the
record.
DATA
field
that
location
data
locatiorts
LSEG
in
the
DATA
may
program
must
and
be
found
that
LSEG.
The
LSEG's
with
OFFSET
specifies
is
specified
of
the
bytes
of
then
in
memory.
the
correspondinq
~LOCK
be
converted will
non-zero
previous
the
In
this
LIDATA
absolute
an
first
the
offset
to
a RIDATA
be
converted
and
specifies
to
the data case
RECORD
is
a
Fra~e
is
LSEG's.
offset
byte
ITERATED
If
by
the
the
is
th~t
SEGMENT
in
DATA
SEG~ENT
relative
SEGOEF RECORD.
RECORD
to
a PIDATA
an
index
LIDATA HECORD.
a~solute
~umber
reauired
is
relative
INDEX
the
ITERATED
BLOCK
as
is
to
to
and
occuPy
INDEX
to
the
by
the
RECORD
relative The one
provided
allow
~roupina
the
base
defines
DATA successively
specified
Fr~me
(809~
by
to SEGOEF of
the
in
of
the
~LOCK.
an
Number
8086
Object
Module'
Formats
Version
4.8
Same
as
for
the
RIDATA
record.
-;9
8e8~
Object
Module
Formats
Version
4.8
This
modification
Each
location,
may
by
subseauently
Eight
for by a THREAD, same
th(;· 3ame
(in
fixup
be
specified
reference
A
THREAD
threads
tarqet
or
type
the
same
a
specification.
followinq
FIXUP
. (FIXUPP) .
RECORD
***********************///***********
* * * * *
*
REC
*
TYP
9CH *
*
*
*
RECORD
LENG'rH'
*
THREAD
*
or
* FIXUP
* * * * * ***********************///***********
I I
+----rpt----+
record
(fixup)
is
mode, a target
to
it
or
specifies"
specified
totally
a
precedinq
field be
referred
are
provided;
may
(TARGET
another
to
a
LOCATION by a FIXUP
within
specifies
be
referred
FIXUPP
0 r
FRAME)
FIXUPP
or
more
within
field
and a frame.
the
PIXUP
THREAD
a to four
Once a records),
field.
default
in
identifyinq
for
tarqet
to
by
and
thread
record).
frame
until
fixups.
a
that
The
field,
tarqet
or
followinq
another number
*
CHK
*
* SUM * *
previous frame
specification frame
*
Each
fixup
specifies
and
or
may
or
frame
a
tarqet
has
FIXUP
THREAD
(B
DATA
the
be
or
been
fields
3)
requests
record.
4
data:
tarqet
soecifiec
that
a
frame. and specified
(in
field
appear!
a
a
may
four
the
with
THREAD
THREAD
The
structure:
TRD
is
OAT
a
field
with
the
followinq
format:
***********///*****
* * *
*
TRD
*
*
*
* INDEX
OAT
*
* NUI'18ER
*
or
FRAMe
*
*
* *
***********///*****
, I
+conditional+
(ThReaD
DATa)
subfield
is
a
byte
*********************************
* I
* 0 I 0 1 Z I
'1
I I I *
METHOD
I THRED *
* 1 I , I I I , *
*********************************
with
this
internal
70
8080
function,
Object
The
'Z'
that
Module
is
a
is
Formats
one
bit
required
subfield,
to
contain
currently
0.
without
Version
any
4.0
defined
The
is
beinq
and
if
0=1
METHOD
(0=0)
,
0
Thus,
required
will
methods what
the
numberd to
External the
or
or
If
•••
, 7
METHOD
be
If
kind
frame.
THRED
INDEX
METHOD
F~
are
0=0.
specified
0=1,
'0'
subfield
specified.
then
is
a
number
then
indicate
indicates
to
specify
then
F0,
••• , F6
(if
any)
is
the
or
FRAME
Index,
subfield.
specified
a
frame
a 3
between
~ETHOD
in
METHOD
a
frame
or
is
If
0=0
thread
bit
subfield
methods
what
the
a
primary
of
of
Index
number
or
tarqet
NU~8ER
Frame This
by
METHOD.
one
bit
then
is
0
and
=
(0,
1,
kind
target,
or
=
0,
1,
specifyinq
or
Frame
between
defined
contains
Number
subfield
that
a
tarqet
beinq
containinq
r,
(0=1).
2,
3,
,
T0
••• , T7
of without
secondary
2.
3,
a
Number
3
and
a
dependinq
will
specifies
thread
defined.
4,
5,
Index
4,
frame.
3,
by
the
Seqment
not
what
a
number
~,
7)
of
specifyinq
or indicatinq way.
5,
~
Here.
is
required
and
associates
THREAD
Index,
on
the
be
present
type
is
beinq
between
mod
4,
Frame
correspondinq
METHOD
field.
specification
Number
if
the
to
Group
if·F4
of
thread
defined
0
and
where a
tarqet.
tarqet
indicates
specify
a
~thread
Index.
or
3
the
is
to
in F5
FIXUP FIXUP
is
a
field
with
the
following
format:
***********************///*********///*********///***** * * * * * *
* *
*
LOCAT
*
*
*
FIX
OAT
*
* *
FRAME DATUM
* TARGET
*
DATUM
*
* TARGET
*
015-
*
PLACEMENT
*
*
*
* * * * * * ***********************///*********///*********///*****
r , , I
+conditional+conditional+conditional+
LOCAT
is
a
byte
pair
with
the
followinq
format:
*****************************************************************
* I , I
* 1 ,
~
I 5 I
* , I r
I ,
LOC
I r
I *
o A T*A
f *
I I I I
R E
COR
0
I I , !
, , I
OFF
5
~
I I , *
**************************************************-***-*********-
I
+---~--------lo~byte------------+------------hi
byte------------+
*
T *
71
808~
Object
M
is
self-relative
Module
a
one
bit
(M=0)
Formats
subfielG
or
segment
that
relative
sgecifies
the
(M=l).
mode
of
Version
the
4.8
fixUDS:
(~ote)
RIDATA, LICATA,
S
is
a
one
bit TARGET DISPLACEMENT field
number,
2's
will
be
5=0)
complement
either
or
form,
(Note)
LOC
preceding
'of
fset'
'hibyte'
The inclusive, of
LOCATION DATA in
record.
the
data
(Cautionary
record,
designate
COU~T
subfield deemed mal
formed
Cautionary
extension,
is
currently
is
a 3
DATA (LOC=l), (LOC=4).
DATA
that
fields
it
is
a
an
error.
reco
Note)
and
bit
Record
a
RECORD
gives
(the
The
DATA
Note)
possible
~locationH
of
the
rd
is
Self-relative
or
PIDATA
subfield
subfield,
two
bytes
three
bytes
5=1).
3-byte
are
subfields
not
mandatory. subfield
to
base'
(Other
values
OFFSET
the
relative
actual
bytes
RECORD
in
the
DATA
If
for
within
ITERATED
LINK-86's
undefined,
that
if
(containing
(containing
currently
(End
indicatinq
be
fixed
(LOC=2),
in is beina
OFFSET
RECORDs.
the
the
value
DATA
and
fixups records.
specifies
present,
are of
up
a
LOC
a
number
position
fixed
is
precedinq a REPEAT
field. LOCATE-86's
and
probabl
may
NO~
(End"
that
(see
a
a
sioned
a
possible supported. Note)
that
are
a
po
inter'
are
invalid.)
of
up)
relative
DATA
of
DATA
COUNT
Such"
y
be
applied
of
Note)
the
below),
l~-bit
24-bit
Thus,
the
byte(s)
'lobyte'
between the
lowest
within
to
the
record RECORD
subfield
a
action
awkward.
to
lenoth
in
non-ne~ative
this
of
FIXUP
number
future
S=0
in
(LOC=~),
(LOC=3),
0
order
the
first
is
OFFS~T
or
or
and
1023,
byte
precedinq
byte
an
IDATA
a
BLOCK
reference
on
such
(end
the
in
the
an
a
to
is
a
of
this
by and F=l
most
with in
72
the
FIX
DAT
F
is
FIXUP FRAME
the
F
is is
bit.
corresponds
then
PRAME
recently
the
same
saMe,
is
a
one
specified a
defined
thread
or
a
byte
with
the
following
format:
*********************************
* ,
* F I
* I
I ,
FRAME
I I
I I I , *
I
TIP
I
TARGT
I I r I *
*********************************
bit
number
If
F
to
methods
is
in
an
subfield
by a thread
interpreted
is
zero
F~,
a
thread
by a THREAD
number.
earlier
that
in
then
FRAME
••••
number
field
(Note
FIXUPP
specifies
(F=l)
one
F~
of
(0-3).
that
that
record.)
or
explicitly
of
two
is
a
number
specifyina
It
~efined
the
THREAD
whether
*
ways
between
a
specifies
a
field
the
frame
(F=~).
as
indicated
FRA~E.
the
frame
~ay
J
and
frame
thrend
aopear
for
h
If
808fi
Object
'r
specified
or
is
P
specified specified Since the
P
attribute
is
aiven
is
a
bit
Module
a
one
for
explicitly
a
one
in
a
in
a tarqet is
the
of
the
Formats
bit
this
bit
subfield
fixup
subfield
primary
secondary
thread
only
target
is
defined
in
the
that
way
does
field
way
(requires
(requires not that
specification.
that
FIXUP
indicates
have
specifies by
reference
field
a
TARGET
no
a
primary/secondary
specifies
(T=0).
whether
DISPLACEMENT,
TARGET
the
Version
whether
to
a
the
the
thread
tarqet
DISPLACEMENT,
attribute,
primary/secondary
target
CT=l).
P-0)
P=l).
4.8
~
or
TARGT
provides
T3
or
as
the
a
T4,
high
by a thread
FRAME
and
is
a
Number. specified F5
or
Ffi.
'fARGET
specification.
Index
when
or
the
TARGET
by
"primary"
is
present
is
interpreted
number
••• , T7, order
(T=l)
DATU~
Segment
The
is
Index,
FRAME
neither
DATUM
and
a
Frame
target
is
DISPLACEMENT
ways
iff
P=0.
between
0
depending
bit
of
TO,
then
TARGT
the
"referent"
a
DATUM
Grou·p
subfield
by a thread
is
is
a
Segment
Number.
not
specified
is
of
specifyinq
as
and
on
••• , T7).
specifies
(F=O)
the
The
TARGET
the
a
two
3,
corresponding
the
value
a
portion
Index,
is
an
present
nor
II
referent"
Index,
a
DATU~
by a thread
2-
or
3-byte
TARGETs.
bit
subfie1d.
of
P
When
the
thread
of
External
explicitly
Group
subfield
(T=0).
This
to
methods
(P
can
be
tarqet
number
a
frame
specification,
Index,
only
when by
methods
portion
Index,
is
displacement
2-
or
3-byte
When
interpreted
ia
specified
(0-3).
or
the
of
a
an
present
T=I,
T0,
•••
a
Frame
frame
F4
tarqet
External
only
required subfie1d
it
,
is
or
8086
Object
Module
Formats
Version
4."
OVERLAY
***********************///*********1
DEFINITION
(OVLDEFf
1'1*********///***********
RECORD
----
--
* * * * * * *
*
REC
*
* TYP *
*
70H
*
RECORD
LENG'fH
*
OVERLAY
* NAME
*
* * * * * * *
***********************///*********~
This
overlay
loader in
the
OVERLA~(NAME
The
1
or
more
The ordering OVLDEF These
field
numbers of
in may object
OVERLAY
LSEG's ordering
on
records
followinq
Record the
object
use
this
file.
the
are
provides
NAME
and/or
set
are
used
OVLDEF
file,
record
field
Groups
of
OVLOEF
of
all
considered
as
..
*
*
the
and
to
locate
provides
may
Overlays
dOverlay
records.
OVERLAY
LOCATION
OVERLAY
*
*
ATTR
*
111*********///***********
overlay
the
attributes
be
Records
defined
to
Indices·
the
a
name
referenced
be
name,
data
within
records
by
in
numbered:
in
the
of
which
for
a
the
the
the
module
* CHK *
*
SUM
* *
location
overlay.
of
the
a
collection
load
ina.
module.
1,
2,
OVERLAY
*
overlay
induces
3,
of
Thus,
4,
ATTR
the
A
of
an
•••
an
overlay
any
record
in
bytes
records
Overlay
definition
referrinci OVERLAY The
OVERLAY
relative
in
the
OVERLAY
The
OVERLAY
indices
LOCATION
LOCATIO~
to
overlay.
ATTR
ATTR
***********///*********///*****
* * * * * * SHARED *
*
* * INDEX *
*
***********///*********///*****
may
not
be
forward
to
the
SA
record
that
field
*
defininq overlay
is
a
start
has
OVERLAY
4-byte
of
the
*
I I I
+conditional+conditionnl+
the
with
field
the
file
followino
*
*
referrinq.
kith
index
ADJACENT *
OVERLAY
INDEX *
which
of
overlay
k.
the
format:
*
*
That
must
~ives
first
is
the byte
to
say,
precede
location
of
the
74
8086
the
function.
overlay indicated
overlay
indicated
Object
The
followinq
Z's
S
A
Module
SA
subfield
format:
indicates
These
(shared)
will
(adjacent)
will
in
in
have
the
have the
Formats
provides
**************************~******
information
for
memory
layout.
* I I I I I , I *
* z I Z I Z I Z I Z I Z I S I A *
* I I I I , I I *
*********************************
that
bits
is to
SHARED
to
ADJACENT
are a
be
is
be
these
I-bit loaded OVERLAY
a
I-bit
required
I-bit loaded
OVERLAY
field
at
INDEX
field
field
to
the
next INDEX
be
zero.
that. same field.
that,
in field.
have
if
location
if
memory
not
1,
1,
been
indicates
as
indicates
to
Version
assigned
that
the
that
the
4.8
It
has
the
overlay
the
overlay
a
The
subfield
indicates and/or at
the
The
subfield
indicates the
current
the
same
SHARED
is
1,
that
the
groups
same
location.
ADJACENT
is
1,
that
OVLDEF
names
OVERLAY
points
the
with
OVERLAY
points
the
in
the
to
segments
same
to
seqments
record
indicated
INDEX
a
previously
names
INDEX
a
previously
must
subfield,
with
subfield,
and/or
be
overlay.
same in
the
qroups
loaded
present
defined
seqment
two
present
defined
in
adjacent
if
OVLDEF
names
overlays
if
OVLDEF
the
overlay
to
bit
and
must
bit
the
S
in
record
class
be
A
in
record
defined
ones
the
SA
and
names
loaded
the
SA
and
by
with
75
808~
Object
Module
Formats
END
RECORD
--(ENOREe)
*******************************
*
*
*
*
* *
REC
TYP
78H
* * *
*
RECORD LENGTH
* * *
END * CHK
*
TYP
* * * * *
*******************************
*
SUM
*
*
* *
Version
4."
as
a
format:
ends:
This block.
END·TYP
~his
TYP
field
is
TYP
-0' -
1 End
2
3
record
and
a
two
TYPE
End-
-of
(Illeqal) (Illeqal)
is
used
an
overlay.
specifies
to
the
denote
type
of
the
the
end
set.
of
a
*********************************
* I I I I I I
* Z I Z , Z I Z I Z I z I
* I I I I I I
I *
TYP *
I *
*********************************
bit
OF
-o-virlay
of
block
subfield
END
that
specifies
the
set
ot
It
has
fO'llowinq
records
the
such
followinq
types
of
z
functIon.
indicates
These
th~t
bits
this are
bit
has
required
not to
currently
be
zero.
been
assianed
a
808~
Object
Module
*****************************///***********
* * * * * *
*
REC
*
TYP
*
708
* * * * * *
*****************************///***********
Formats
REGISTER INITIALIZATION RECORD
-
..
*
*
------
RECORD LENGTH
..
--fREGiNT,-----44-----
*
REG
* REGISTER *
*
TYP * CONTENTS
*
CHK SUM
*
*
* * * * *
I I
+----repeated-----+
Version
4.0
This registers/register-pairs: purpose reqisters
REG·TYP The
also
the
currently zero.
reqisterslreqister-pairs
indicates
next
Zis
REGID
of
for
REG
field.
are
been
is
record this
initiation
TYP
I-bit
assigned
a two
provides
CS
and
information
of
execution.
field the
It
*********************************
type
has
provides
of
the
followinq
reqister
information
IP,
is
for
the
SS
and
SP,
OS,
a
loader
reqister/reqister-pair
content
format:
to
specification
* , I I I I I , *
*
REGID
*
*********************************
subfields
, Z I Z I Z I Z I Z I L *
I I I I , I I *
a
function.
bit
as
follows:
which
subfield
indicate
These
that
that
bits
specifies
these
are
about set
required
the
and
the
bits
na~e
the
ES.
neccessary
name.
given
have
to
of
8086
The
not
the
It in
be
REGID
o
1
2
3
L CONTENTS reauires
offset
the
specifications
correspondinq
~~9!§!https://manualmachine.com/~~~l.EJ~~=~~!~
CS
and
IP
SS
and
SP
OS
ES
is
a
field
fixinq
one
is
bit to up
reqister/reqister-pair.
field
be
interpreted
by
LINK-8~/LOCATE-8~,
(L=0)
that
appropriate
indicates
as
a
for
loqical
or
the
whether
address
as
the
(L=l)
a
pair
initialization
of
REGISTER
that
base
and
of
77
8086
Object
Module
Formats
Version
4.0
REGISTER The
fo
rmats:
First
same address
and
field
DATU~,
method
form
In
manner
the
REGISTER
this
to
FIXUPP
have
and
TARGET
F4
is
CONTENTS
CONTENTS
(L=l)
field
has
either
of
***********///*********///***************** * * * * *
*
REG
*
*
OAT
*
* *
FRA~E
DATUM
* *
*
TARGET
DATUM
*
TARGET
*
015-
*
PLACEMENT
* * * *
***********///*********///*****************
, I I I
+conditional+conditional+conditional+
case
as
a the
not
the
reqister
in
the
specification
physical
record.
same DISPLACEMENT
allowed.
semantics
address
The
contents
above
fields
of
as
used
subfields
as
the
in
are
the
in
FIX
the
specified
mappina
the
discussion
of
the
DAT,
FRAME
FIXUPP
REGISTER
the
*
* *
in
exactly
of
DATU~,
record.
following
a
logical
of
fixups
CONTENTS
TARGET
Frame
the
§~~~
~~._!2!!!'
LINK-86/LOCATE-8~
field
into
The
_J~=!l
a
REGISTER 3ASE
field
will
having
the
convert following
the
format:
above
*****///*****************
* * *
* REGISTER
*
BASE
*
* REGISTER * * OFFSET *
* *
* * *
*****///*****************
field
*****///*********///*****************
* * * *
*
*
*
GROUP
INDEX
*
*
* *
, I
+conrlitional+
has
the
SEGMENT
INDEX
followino
*
FRAME
*
~UM8ER
for~at:
* * * *
*****///*********///*****************
I ,
+contiitional+
REGISTER
*
* *
CONTENTS
78
808~
Object
Module-
Formats
Version
4.1
The field record.
The specifies or
to
format
is
identical
REGISTER OFFSET an
offset
the
FRAME
(if
(Note)
absolutely
base field
of
for
of
the
is
the
the
corresPQnding
the
initialization
(REGID =
determined
If
GROUP
the
value
If
offset
the
location
REGISTER
specified
GROUP
relative
OFFSET).
and
to
the
the
relative
SEGCt1EN'r
Once
located
object
appropriate
0)
or
as
follows:
INDE·X = 0,
INDEX
to
specified
interpretation
LOCAL
SY~BOL
field
to
the
INDEX
the
(by
=
seqments
a
loader
pointed
value
base
reqister.
of
the
SP
the
in
the
REGISTER OFFSET
>
0,
the
base
by
(End
of
Note)
BASE
(present
Seqment
0)
to for
either
reqister
offset
the
of
the
the
of
the
described
only
(if
SEGMENT
and/or
or
LOCATE-8~),
by
the
REGISTER
the
initialization
The
the
(REGID =
value
offset specified
pair
(SEGMENT
above
if
groups
offset IP
is
given
field.
value
qroup
REGISTER BASE
in
the
REGID
INDEX
LOCSYM
<=
)
are the
BASE
value
reqister
1)
is
by
is
the
of
INDEX,
1)
0)
79
8g8~
Object
Module
Formats
Version
4.8
This module specified
true
then
MOD
This allocation
MODULE
----(MODEND)
~ND
RECORD
*****************************///***********
* * * * *
*
REC
*
RECORD
*
TYP
*
LENGTH
*
8AH
* * * *
* * * * * * *****************************///***********
record
and
entry the
'ryp
field and
serves
indicates
point
execution
specifies
associated
for
* *
two
purposes.
whether
initiation
address
the
meanings
MOD
*
START
TYP
*
ADDRS
. 1 ,
+conditional+
It
the
is
module
of
execution.
specified.
attributes
are
as
follows:
*
CHK
*
SUM
denotes
just
of
the
*
the
terminated
If
module.
the
end
latter
of
has
The
a
a
is
bit
MATTR attr
ibutes:
MA'r'rR
--O-~-·
L
as
a
Ioqical
(L=l)
and
IP
Z
functIon.
1
2
3
indicates
or
as
registers indicates
These
*********************************
* I I t I I I I *
*
MATTR
* I I I , I I , *
*********************************
is
a two
~ODULE
Non=maln-inOd
~on-main
Main
~a
in
address
a
physical
bit
ATTRI8UTE
~odule
module !nod
ule
wheth£r
that
of
the
that bits
I Z , Z I Z I Z 1 z I L •
subfield
uTe-wi
with wi
address
8085
this are
with
th
the requires
bit
required
that
th
no
START
START
no
START
S'rAR~r
START
ADDRS
ADDRS
fixinq
appropriate
(L=~).
has
not
to
specifies
ADDRS
ADDRS
ADORS
field
currently
be
zero.
up for
the
followinq
is
to
by
LINK-8n/LOCATE-8~
placement
been
be
interpreted into
assioned
module
the
CS
a
8'"
8086
Object
Module
Formats
Version
4.8
'rhe
either
The other starting­the
same
address
record. semantics DISPLACEMENT allowed.
START
of
the
starting
logical
address
manner
as The
Frame
ADDRS
following
field formats:
(present
only
if
MATTR
***********///*********///*****************
* * * * *
*
END
*
FRAME
*
DAT
*
DATU~
* * * *
* TARGET * TARGET *
*
DATUM
*
D1S-
PLACEMENT
* * * * *
***********///*********///*****************
I I I I
+conditional+conditional+conditional+
reference
specified above
as
flelds
as
the
method
address to
a
mapping
subfields
FIX in
of found physical-
any in
OAT,
the
FIXUPP
F4
is
the
of
not
a
module
in
a
startinq
other
discussion
the
FRAME
allowed.
module.
loqical
START
DATUM,
record.
has
all
The
address
address
of
ADDRS
TARGET
Only
the
attributes
mappinq
is
fixups
field
DATU,,,,,
·primary·
is
*
*
done
to
ahd have
1
of
a
or
a
loqical
in
exactly
physical
the
the and fixups
3)
has
of
any
FIXUPP
same
TARGET
are
START
address,
~odule
insertion
defines execution.
register
AQDRS
When
FRAME
OFFSET
the
the
will
the
for
(second
logical
START
NUMBER
beqin
into
specifies
exact
This program
the
form)
address
ADDR£
field
is
takes
mapped,
on
************************* * * * *
*
*
FRAME
NUMBER
OFFSET
* * *
* * * * *************************
specifies
execution.
CS
reqister
location
value
initiation.
an
is
a for
offset
of
the
appropriate
frame
This
proqram
relative
first
by
LOCATE-8~,
the
following
number value
initiation. tn
nyte
for
* *
relative is
the
at
insertion
to
format:
to
appropriate
FRAME
NUMBER
which
a
which
to
into
physical
the for
which
~eqin
the
IP
Rl
8~8~
Object
Module
Formats
Version
4.0
LIBRARY
HEADER
RECORD
-------fCfSHED)------
************************************************************* * * * * * * *
*
REC
*
RECORD
*
TYP
*
LENGTH
A4H * * * * * *
* * * * * * * * *************************************************************
This immediately the
modules MODULE DICTIONARY
MODULE
This
may
have
record
precedes are
NAMES
RECORD.
COU~T
...
field
any
value,
RECORD,
_--
*
MODULg
*
is
the
the
three
more
indicates
includinq
COUNT
fir~t
modules
records
LIBRARY
how many
*
.*
NUMBER
record
(if
MODULE
zero.
BLOCK
any)
in
the
LOCATIO~S·RECORD,
modules
*
BYTE
*
NUMBER
in
a
library
in
the
library.
followinQ
are
in
the
*
*
order:
library.
CHK
SUM
file.
and
*
*
It
Followinq
LIBRARY LIBRARY
It
of
the
ISIS-II
These
LIBRARY
file
fields
MODULE
format.
indicate
NAMES
the
relative
RECORD
in
the
location library
of
file,
the
first usinq
byte
the
82
8086
Object
Module
Formats
Version
4.0
The th
eli
name
This
names
bra
The of
ry
the
LIBRARY.
MODULE
NAMES
RECORD
(LiSNAM)
***********************///***********
* * * * *
* REC *
* TYP *
*
A6H
RECORD
LENGTH
*
* *
***********************///***********
record
are
i'th
i'th
qiven
MODULE
module
qives
in
the
the
NAME in
names
same
field
the
MODULE
*
NAME
*
*
*
I I
+-repeated--+
of
all
the
sequence
in
library.
the
as
record
*
* SUM *
* *
* *
CHK
modules
the
*
in
modules
contains
the
appear
the
library.
in
module
A3
808~
Object
Module
Formats
Version
4."0
file, LHEADH
the
order
~~OCK-
the
module
library
LIBRARY
MODULE
(LIBLOC)
LOCATIONS
RECORD
------~-.-
*************************************************
* * * * * *
REC
*
TYP
*
ASH
*
*
* *
*
*
RECORD
LENGTH
*
NUMBER
*
*
*
BLOCK
*
NUI~BER
*
*
*
BYTE
CHK
*
SUI.,
*
* * * *
*************************************************
+--------reoeated-------+
This
The
The
record
of
or
RHEADR
order
of
i'th
within
provides
the
NUMBER~
the
file
first
of
pair
the
record)
the
modules
of
library,
the
relative
byte
block-number/byte-number
~XTE
of
the
of
of
each
within
~UMBER
fields first
byte
usinq
the
module
the
provides
of
the
first
library.
the
ISIS-II
location,
record
in
the
the
relative
first
library. pairs
file
within-
(
either
record
format.
*
..
the
a
THEADR
corresponds
location
of
the
library
or
t~
within
i'th
84
8086
Object
Module"
Formats
version
4.8
This
library.
in
the
format Thus, names
~ibrary.
the
in
LIBRARY DICTIONARY
--
.....
.-.-
(LIBDIC)
R~CORD
***********************///*****************
* * * * * *
*
REC
*
*
TYP
*
RECORD LENGTH
* PUBLIC * * CHK *
*
NAME
* 00H *
SUM
* AAH * * * * *
* * * * * *
***********************///*****************
I I I
record
Since
the
are
'00'
ilth
qives
a
bytes
group
all
name
distinquishable
must
separate
are
+-re~eated--+
+----repeated-----+
the
names
have
defined
of
a
non-zero
from
the
in
public
PUBLIC
the the
I
symbols
lenqth,
PUBLIC
NAMES
i'th
*
the
NAME
into
module
within
'00'
fields.
qroups;
of
the
bytes
all
the
85
8086
Object
Module
Formats
Version
4.0
***********************************///***********
* * * * * * *
* TYP * * * * * ***********************************///***********
This
information
COr-1M
This record. those format
processes
of
COMMENT
RECORD
(COMENTf---
REC
*
RECORD
LENGTH
8SH
* * * * *
record in
object
EN'r
TY
P E
field This
this
indicates allows that
field
wish
*
COM~ENT
* TYPE *
allows
text.
the
commentary
to
is
as
follows:
translators
type
information
selectively
* *
COM~ENT
* * *
to
of
comment
act
CHK
*
SUM
include
carried
to
be
on
*
*
commentary
structured
comments.
by
this
for The
******************************************************************
* N I N I I I I I I *
*pl
LI
ZI
zl
ZI
ZI
ZI
z*
COMMEN'r
CLASS
******************************************************************
The
NP
not
purqable
capability
The
COMMENT
utility
CO,.,EN'r
The
(NOPURGE)
by
of
deletinq
NL
(NOLIST)
field
proqrams
reco
COMMENT
1
2-155
l5~-255
is
rds.
object
not
CLASS
Lanquaqe
Intel_'£~2Y..E!9.!:!~_~~,!,!!~~~.
set.
Reserved
Reserv~d
apply
bit.
to
which
if
file
COMENT
field
no
utility
bit, be
listed
implement
translator
for for
semantics
1.
record. if
is
defined
Intel
users.
indicates
.proqrams
1,
indicates
in
the
the
comment
use.
to
that
listinq
capabiltiy
as
follows:
'rhe
Intel
these
the
which
that
NP
prorlucts
values.
COMENT
file
of
bi
t mLlst
implement
the
text
of
ohject
listina
will
record
in
object
he
*
*
is
the
the
file
8086
Object
COM(t1ENT
Module
Formats
Version
4.8
This
field
provides
the
commentary
information.
P7
SgS6
Object
Module
Formats
Version
4.1
NUMERIC
APPENDIX
LIST
~E
RHEADR
70
REGINT
72
REDATA
74
RIDATA
76
OVLDEF
78
ENOREC
7A
BLKOEF
7C
BLKEND
7E
DEBSY~
80
THEADR
82
LHEADR
84
PEOATA
86
PIDATA
88
COJ'ltENT
8A
MOOEND
BC
EXTDEF TYPDEF
8E
9"
PUBDEF
92
LOCSY~
94
LINNUM
9t;
LNAMES
98
SEGDEF
9'"
GRPDEF
9C
FIXUPP
9E
A0
LEDATA
A2
LIDATA
A4
LIBHED
AF,
LIBNAM
A8
LIBLOC
AA
LIBDIC
OF
(none)
1
RECORD
TYPES
ae
8086
Object
Module
Formats
APPENDIX 2
Version
4.8
The without Andleaves
Types
leaves relations,
and
Orleaves
may
be
+------~~+----~-----+---~~----------+
+--~-----+~--------+~---~------~--+
REPRESENTATIONS
diagrams
Leaves,
not
supported
by
branches
I
(length)
+------
I POINTER ,
...
_---+
,
(scalar
Index
at
of
the
may
Leaves
this
followinq
type)
be
time.
Numeric
or
Null
forms:
,
Leaves
Leaves.
in
defined
I
SCALAR
the
Strinq
TYPE
following
are
+-----.-----+
+-----~-~-+----------~-+-~-------~+
,
SCALAR
(length)
I
@pointer
I
+-------~---+----------+~-----------~---~--~-+~--------~-----------+
I STRUCTURE I
(lenqth)
I
(number
of
components)
I
~list
of
components
I
+-~-------~-+--------~-+----------------------+--~----~---~---------+
+------+-
I
LIST
+------+---+---+---+
+--~~---+----~-----+-------+
I
ARRAY I (lenqth)
+-----~~+----------+-~-----+
...
-+---+---+
, ? I ? I ? I
.
...
I
~type
+---+
I ? ,
+---+
,
89
8086
+--~-~------+-----+-------+-~-~~-----+---~--~~~~---------~----+-------+
I
PROCEDURE I nil
Object
Module
I
~type
Formats
+----~------+-~-----+
I
PARAMETER
I
(return)
I
~type
,
(number
I
of
parameters)
Version
I
Alist
4.
I
+~----~-----+--~--+-------+----------+-----------~------------+-~-----+
+-------+-----+---~------+
I
LABEL I nil
I
(return)
I
where IN'rEGER. indicates,
should following
for EDOJ86,
and and proqrams Numeric
this
qive
2. translator
FORTRAN-8~).
-(scalar
or
REAL. •
in
be
a
"short"
values
99
100
101
102 103 104 105 10f' 107 108 109 110
III
(Note)
the
(althouqh
SCALAR,
are
choice a
For
type)·
(return)"
the
case
jump
are
assiqned:
INTERRUPT FILE PACKED UNPACKED
SET
(
reserved CHAMELEON BOOLEAN
'fRUE
FALSE CHAR
INTEGER
CONST
1.
The
convenience
and
OJED8~.
conceptually
for
example,
rather
may
correctly
Leaf
as
correctly
wronq
more
identifier.
detailed
EPS's
(end
of
or
for
above
1arqe,
a
(e.q.
of
can can
a LABEL.
a
-lonqd
1enqth)
(decimal)
of
All
there
can't
so
decide
number
most
type
Note)
be
either
be
ei
ther
jump,
112 113 114 115
lIn
117
118
119
120
121 122 123 124 125 126 127
utility.
numbers
is
be
that
of
AS~-8~,
object
whether
or
as
the
descriPtions
UNSIGNED INTEGER. SIGNED
SHORT
whether
respectively),
(reserved
a
or
jump
for
LONG
to
the
1enath)
and
LABEL LONG SHORT PROCEDURE PARAMETER DIMENSION ARRAY
(
reserved
for
len<1th) STRUCTURE POIN'rER SCALAR
U~SIGNED
INTEGER SIGNED INTEGeR REAL LIST
values
proqrams
no
the
an
identifier,
time,
PLM-8~,
are
reason
same
module
to
represent
are
chosen
such
as
different
why
REAL
number),
display
make
and
PASCAL-~~,
see
never
the
a
(wh
l.Jbel
ich the
8086
Object
Module
Formats
APPENDIX 3
version
4.e
+------------+
--+-->1
I I
. I
1-->1
sequence
1
+----------+
+---------+
library
1
+---------+
sequence
+--
...
-----+
--+-->1
A +
+------~--~----~+
library
module
___ ~ ___
1--+-->
_+
1
SYNTAX
DIAGRAMS
-~~(
module
LIBHED
-~~~~~-~
+------+
--+-->1 tmod
I
-+------+
I
+------+
+-->
+--
I lmod
I
+------+
I
+------+
> 1 rmod 1
I
+------+
I
+------+
+-->1 omod
+------+
)--+---------------+-->(
~
+--------+
+--1
module
1<--+
+---------+
1--+-->
....
I
1--+
....
,
--+
....
I
1--+
LIBNAM
I
~------~
)-->(
LIBLOC
~~------
)-->(
LIBDIC
---~~-~-
)-->
91
tmod
8086
Object
Module
Formats
Version
4""
-->(
Imod
-->(
---------
rmod
-->(
THEADR
LHEADR
RHEADR
+---~~----
) -> I
sqr
...
table
---+
,-+---~~--~---+--+---~~-------~---+->I
+-----------+
+~
..
---.----~
)->1
)->1
sgr
table
+--------.--~
+---
+~--~------+
sqr
..
~-.--
table
1-+-----------+--+----------------+->1
ft
+-1
..
-+
I-+------~----+--+----------------+->I
_
+-1
...
+
....
____
+ I
data
+------+
+~~-~-~+
data
+------+
1<-+
I A
1<-+
+-It_componentl<-+
+-It
+-------------+
component
1
1<-+ +-1
+------------+
+---~------~+
+----_
...
_----+
+-----------+
co~ponentl<-+
I
I
+------------+
+------------+
modtail
1--
+---------+
+--~-
+-----
+---
...
----+
modtail
..
--~-+
...
-----+
modtail
1--
1--
+---------+
omod
-->(
RHEADR )->1
~~-------
+~--
+~----------+
sqor
....
~-----+
table
1-------------+----------------+->1
+---,..
0
+------~----+
+-Io_componentl<-+
+-----------+
,
+--=~~------+
..
------+
modtail
1--
92
sqr
808~
_table
Object
+-------~-+
+
____
~_~
__
-->1
seq
+ I ________ A
qrp
1--+---------------+-->
Module
Formats
Version
4.0
sgor
-->1
_table
+----~
+----~----+
+--(
seq
-----
LNAMgS
....
---+
qrp
1--+---------------+--+---------------+-->
......
--
)<--+
+-->(
~
+--(
REGINT
----~---
OVLDEF
I
+--(
)--+
)<--+
---------
SEGDEF
I f
+-->(
)<--+
~~-~~--~
REGINT
I
--------
+--(
,
+--(
I
+--(
TypOEF
---~~~-~
...
..,-~-..,
EXTDEF
--------
~-
GRPDE~
..
--~--
~
)--+
I
)<--+
I
.. - I
)<--+
-, I
)<--+
rnodtail
--+--------------_+~->(
I
+--> ( REGINT
--+---------------+--+---------------+-->(
A
+--{
-~---~--
_~~
___
~_
OVLDEF
)<--+
~
)--+
"
MODE~D
~~------
________
+-->(
REGINT
)-->
)--+
~
MODEND
_______
_
)--}
93
o
_component
8986
Object
~odule
Pormats
Version
4,
--~-+---------~~--+--+-~-----------~------+-->(
-->(
~
+--~---+
+--1
+~---~~+
t.
_component
'fHEADR
data
)--+------------------+-->
, -
1<--+ +--1
A
+_
+--1
+-~--~--------+ I -----~--
t_component
+------~------+
...
_----------
compOnent
1<--+
1<--+
1
ENOREe
)-->
+-----------+
component
+--
..
--+--->1
I
1
+--------------+
+-->1
+--------------+
------~--
data
+--
...
--------~-+
debug
_reco
rd
..
+
1--+-->
I
1--+
94
iata
+---------------+
--+-->1
I +
I
+------------+
+-->1
I
+----~--.:----+
I
+---->(
t
,
+---->(
I I
+---->(
8e8~
content
____ ~ ___
thread
Object
=
def
--------
TYPDEF
--------
--------
PUBDEF
--~----~
-----~--
EXTDEF
Module
deE
1---+-->
____
+ A
1--->+
)----->+
)----->+
)----->+
Formats
I
I
I
I I
I I
Version
4.rtJ
--+-->(
t
I
+-->
I
I
+-->
t
I
+-->
I
I
+-->(.
..
_------
LOCSYM
________
------~-
(
LINNUM
--------
~-------
( BLKDEF
--------
--------
(
BLKEND
--------
--------
DEBSYM
)---+-->
)-->+
)-->+
)-->+
)-->+
A
,
t
,
t
I
t
1
95
88.8~
Obj
ect
Mod
ule
Pormats
Version
4.
content
--+-->(
I I
+-->
I
I
+-->(
,
I
+-->(
I
I
+-->(
I I
+-->(
thread
def
LIDATA
---~-~--
)---+--+---------------+-->
--------
(
LEDATA ) -->+
---~-~--
---~----
PIDATA
----~---
--------
PEDATA
----~~--
)-->+
)-->+
--------
RIDATA
--~-~---
-~---~--
REDATA
)-->+
)-->+
def
- A I
I I
I
I
I
I
I ,
~--~~---
+--(
FIXUPP
-------
I
)<--+
--->(
FIXUPP
)-->
~ote:
Must
contain
thread
fields
only.
9~
808~
Object
Module
Formats
APPENDIX 4
Version
4.9
This supplemented Fixupsd. fixups
in
understandinq
In
the
linker
and
Examples
examples
The
of
diaqrams
appendix
a
paper,
It
is
included
pictorial
the
8086
followinq
LOCATE
is
of
Self-relative
the
Seqment-relative
are
coded
EXAMPLES
was
now
originally
obsolete,
here
represe~tation,
fixup
meehanisms.
examples,
name
of
fixu~s
fixups
KEY
TO
SAMPLe
as
follows:
OF
called
because
we
a
locater
appear
FIXUP
FIXU~S
written
"Overview
it
and
assume
for
a~pear
in
DIAGRAMS
in
provides
therefore
that the
in
PART 1 of
PART
November
of
copious
LINK
808~
2.
is
is
R&L
this
1977,
Proposed
examples
an
the
aid
name
system.
appendix1
and
8086
of to
of
a
PPP LLL
~~~
. . .
indicates indicates indicates
the the
real
boundary
boundary
memory
of
a
PSEG
of
an
LSEG
boundaries
868~
Object
~odule
Formats
Version
4.a
PART
PPPPPPPPPPPPPPPPPPPPPP P
p-
- -
p
P
p
p
P P
P
P P
p
P
p
p
P
P
P
P P
P P
P
P P
P
p
P
P P
P P P
P
P
P P
P
P P
PPPPPPPPPPPPPPPPPPPPPP
-
+------~------+
TARGET
+-----~
+--~.----------+
LOCATION
+ .......... ~-....
-
-
-
.. -... --..
-----
-
--
-+
.. +
1.
p
P
P
p
P
P
P
P
P
P
P
P
P
P
P
SELF-RELATIVE
PSEG
P
p
p
P
P P
P
P
P
<-
<-
<-
->
PP
PT
REFERE~CES
,
I
PPPPPPPPPPlppppPPPPPPP P
p-
- -
p
P
P
+
..
P
P P P P P
~
P P
P
P P
P P P
P
P P
P P
P
P P
P
P
P.
P
P
pppppppp~ptppPP?PPPPPP
_-_
LOCATION
+_
..
_-------_
+-------------+ +-------------+
I
-1-
-
I
,
I
....
__
TARGET
,
I I
t
- - -
..
_---+
....
-
_+
P
P
P
P
P
P
P
P P
P P
P
P
P P P P
P
P P
P
P
P P
P
p p
P P P P
<-
<-
PP
PT
PP
-
point
PT -point
If diaqrams, distance and
is
commonly
98
defininq defining
the
then between
PSEG, the
positions
the
arrows
the
zero.
usually
TARG~T
of
would
tepef
an
LSEG
LOCATIO~
Doint
the
PSEG
and
down
anrl
TARGET
instead
point
Pi?
were of
is
exchanqerl
UP.
less
than
in
~ote:
1~
bytes,
the The
909~
1
Self-Relative
Object
Module
Intraseq~ent
Formats
References
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL L L
L L
L L
L
L
L
L L
L L
L L
+--------------+
+----~----~---~+
TARGET
L
L
L
L L
L L L L L L
L
L LOCATION L L
L I L L I L L I L
L I L
+--------~--------~-+
+~--------~---------+
L
L
L V L
L
L
L
+--------------+
TARGET
+-~~~----------+
L
L
L
L L
L L
L L L L
L L
L L
L L LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
Version
4.0
fixup,
Self-Relative
the
translator
references
puts
the
within
appropriate
a
sin~le
value
LSEG
into
no
not
LOCATION.
require
a
99
808~
Object
Module
Formats
Version
4.1
1.2
Self-Relative
Example:
LLLLLLLLLLLLLL
A
L L L L
L
L
L
LLLLLLLLLLLLLL
Both
FIXUP. REPRESENTATION:
LSEG's
-
..
--
Self-relative
+--_
LOC
+--.-------+
--_.-
Interseqment
......
_--+
,-----~-------
are
created
-.
References
jump
<-
L L L
L L L L L L
in
or
call
pp
I
---------->1
the
S~Me
to
B
LLLLLLLLLLLLLL
L
L L
L
LLLLLLLLLLLLLL
translation.
another
+--------+
TARGET
+~-----
segment.
I
...
-+
L L
L L L L
,
dl
I
V
<-
P'E
LINK.
above
LOCATION: OFFSET
P5EG:
TARGET:
OPERATION:
If
L5EG B
form
by
a'
B
51
(A)
SI(B)
or
51
combines
chanqinq
(thi
,dl
(B)
SI(B)
••••••.•••••••
LLLLLLLLLLLLLL L
L
+--------+
,
'fARGET
L
L
+--------+
L L L LLLLLLLLLLLLLL
(see
,
or
sis
diaqram
then
,dl
d2
..
L
dl
V
L L L L L L
LOBYTE
the
the to
I
v
=>
most
LINKER SI(8)
B
common
and
discussion
will
,dl+d2
L L
+--------+
,
TARGET
L L
+--------+
L L L L L L L LLLLLLLLLLLLLL
cho
ice)
followinq
modify
L
L
L
I
L
L
all
<-
fixups
p'r
LOCATE
of
OPE~
the
InO
Loading...