8086
Object
Module
Formats
Version
4."
PUBLIC
NAMES
DEFINITION
RECORD
-------(PUBDEF)-----
***********************///*********///*********************///***********
* * * * * * * *
*
REC
*
RECORD
* PUBLIC *
P~BLIC
* PUBLIC * TYPE *
CHK
*
*
TYP *
LENG'rH
* BASE *
NAME
*
OFFSET
*
INDEX
* SU,4 *
*
90H
* * * * * * *
* * * * * * * *
***********************///*********///*********************///***********
I ,
+-------------repeated--------------+
This
record
provides
a
list
of
1
or
more
PUBLIC
NAME's;
for
each
one,
3
datums
are
provided:
(1)
a
base
value
for
the
na~e,
(2)
the
offset
value
of
the
name,
and
(3)
the
type
of
entity
represented
by
the
name.
PUSLIC
BASE
The
PUBLIC
BASE
has
the
followinq
format:
*****///*********///*****************
* * * *
*
*
*
GROUP
INDEX
*
SEGMENT
*
* INDEX *
*
*
FRAME
*
NUMBER
*
*
*
* * *
*****///*********///*****************
, I
+conditional+
The
GROUP
INDEX
field
has
a
format
qiven
earlier,
and
provides
a
number
between
0
and
32767
inclusive.
A
non-zero
GROUP
INDEX
"associates·
a
qroup
with
the
public
sym~ol,
and
is
used
as
described
on
paqe
16,
case
(F2c).
A
zero
GROUP
INDEX
indicates
that
there
is
no
associated
qroup.
The
SEGMENT
INDEX
field
has
a
format
qiven
earlier,
and
provides
a
number
between
0
and
327~7
inclusive.
A
non-zero
SEGMEN~
INDEX
selects
an
LSEG,
in
which
case
the
location
of
each
public
symbol
defined
in
the
record
is
taken
as
a
non-neqative
displacement
(qiven
by
a PUBLIC OFFSET
field)
from
the
first
byte
of
the
selected
LSEG,
and
the
FRAME
NU~BER
field
must
be
absent.
A
SEGMENT
INDEX
of
0
(leaal
only
if
GROUP
INDEX
is
also
~)
means
that
the
location
of
each
public
symbol
defined
in
the
record
is
taken
~s
a
displacement
from
the
base
of
the
FRAM~
rlefined
by
the
value
in
the
FRAME
NU~8ER
field.
44