R986
Object
Module
Formats
Version
4.9
(T6)
X
is
an
EXTERNAL
INDEX.
The
TARGET
is
the
byte
whose
address
is
(eventually
qiven
by)
the
External
Name
identified
by
the
INDEX.
(T7)
X
is
a
FRAME
NUMBER.
The
TARGET
is
the
byte
whose
20-bit
address
is
(X*l6).
The
following
nomenclature
is
used
to
describe
a TARGET:
TARGET:
SI«seqment
name»
,<displacement>
(T0]
TARGET:
GI«qroup
name»
,<displacement>
(TIl
TARGET:
EI«symbol
name»
,<displacement>
[T21
TARGET:
<FRAME
NUM9ER>,<displacement>
(T3]
TARGET:
SI«seqment
name»
(T41
TARGET:
GI«qroup
name»
(T51
TARGET:
EI«symbol
name»
(T~l
TARGET:
<FRAME
NUMBER>
(T71
Here
are
some
examples
of
how
this
notation
can
be
used:
TARGET:
SI(CODE)
,1024
TARGET: GI(DATAAREA)
TARGET:
EI(SIN)
TARGET:
8000H,24H
TARGET: EI(PAYSCHEDULE)
,24
The
l025th
byte
in
the
segment
·CODE"
the
location
in
MAS
of
a
qroup
called
-DATAAREA
d
the
address
of
the
external
subroutine
·SIN"
MAS
location
800248
the
24th
byte
followinq
the
location
of
an
EXTERNAL
data
structure
called
dPAYSCHEOULE-
Altnouqh
-TARGET:
SICA)"
and
"TARGET:
SI(A)
,0"
both
specify
the
same
TARG8T,
their
use
can
have
different
effects,
as
is
discussed
below
in
the
section
on
intermediate
values
in
fixup
arithmetic.
FRAME
-
Every
8086
memory
reference
is
to
a
location
contained
within
some
FRAME;
where
the
FRAME
is
desiqnated
by
the
content
of
some
seqment
register.
In
order
for
R&L
to
form
a
correct,
usable
memory
reference,
it
must
know
not
only
what
the
TARGET
is,
but
also
with
respect
to
which
FRAME
the
reference
is
heinq
made.
Thus
every
fixup
specifies
such
a
FRAME,
in
one
of
5
ways
(F0,
•••
,F5)
described
below.
Some
ways
use
a
datum,
X,
which
is
an
INDEX-or-FRAME-NUMBER,
as
above.
Other
ways
require
no
datum.
This
is
reference
may
independently
not
the
case
of
an
8089
self-relative
reference.
The
be
to
any
location
within
an
8089
proaram,
of
FRA~E.
The
only
restriction
is
that
the
15