External Symbol Dictionary (ESD)
This section of the listing contains the external symbol dictionary
information passed to the linkage editor or loader, or
z/OS Program Management Binder, in the object module.
This section helps you find references between modules in a
multimodule program. The ESD may be particularly helpful in debugging
the running of large programs constructed from several modules.
The ESD entries describe the control sections, external references,
classes, parts and entry points in the assembled program.
There are nine types of ESD entries (SD, ED, LD, ER, PC, PR, CM, XD, and WX).
Table 3 shows the ESD entries when you specify the
NOGOFF option. Table 4 shows the ESD entries
when you specify the GOFF option.
For each of the different types of ESD entries, an X indicates which of
the fields have values.
Table 3. Types of ESD entries when NOGOFF option specified
| SYMBOL |
TYPE |
ID |
ADDR |
LENGTH |
Owner ID |
FLAGS |
| X |
SD |
X |
X |
X |
|
X |
| X |
LD |
|
X |
|
X |
|
| X |
ER |
X |
|
|
|
|
|
PC |
X |
X |
X |
|
X |
| X |
CM |
X |
X |
X |
|
X |
| X |
XD |
X |
X |
X |
|
|
| X |
WX |
X |
|
|
|
|
Table 4. Types of ESD entries when GOFF option specified
| SYMBOL |
TYPE |
ID |
ADDR |
LENGTH |
Owner ID |
FLAGS |
| X |
SD |
X |
|
|
|
X1 |
| X |
ED |
X |
X |
X |
X |
X |
| X |
LD |
X |
X |
|
X |
X |
| X |
PR |
X |
X |
X |
X |
X |
| X |
ER |
X |
|
|
X |
|
| X |
CM |
X |
X |
|
X |
X |
| X |
XD |
X |
X |
X |
|
|
| X |
WX |
X |
|
|
X |
|
|
Note:
- Only if the SD ESDID entry is associated with CM ESDID entry.
|
Figure 2 is an example of the External Symbol
Dictionary generated with the GOFF assembler option,
and is followed by a description of its contents.
Note:
This sample is intended to show the various fields and possible
values and is not meant to be an actual listing.
Figure 2. External Symbol Dictionary listing
SAMP01 External Symbol Dictionary Page 2
1 2 3 4 5 6 7 8
Symbol Type Id Address Length Owner Id Flags Alias-of HLASM R6.0 2008/07/11 17.48
SAMP01 SD 00000001
B_PRV ED 00000002 00000001
B_TEXT ED 00000003 00000000 000000E0 00000001 00
SAMP01 LD 00000004 00000000 00000003 00
ENTRY1 LD 00000005 00000000 00000003 00
KL_INST SD 00000006
B_PRV ED 00000007 00000006
B_TEXT ED 00000008 00000000 00000000 00000006 00
KL_INST CM 00000009 00000000 00000008 00
SD 0000000A
B_PRV ED 0000000B 0000000A
B_TEXT ED 0000000C 000000E0 00000000 0000000A 00
Date0001 ER 0000000D 0000000A RCNVDATE
RCNVTIME ER 0000000E 0000000A
- 1
- The name of every external dummy section, control section, entry point,
external symbol, part, and class. If the external dummy section, control
section, entry point, part or external symbol has a corresponding ALIAS
instruction, the symbol shows the operand of the ALIAS instruction.
When you specify the GOFF assembler option on z/OS or CMS,
the assembler generates two ED entries, the first with a symbol name
of B_PRV and the second with a symbol name of B_TEXT.
- 2
- The type designator for the entry, as shown in the table:
- SD
- Control section definition. The symbol appeared in the name field
of a START, CSECT, or RSECT instruction.
When you specify the GOFF assembler option, on z/OS or CMS,
the assembler will generate an SD entry type for the symbol which
appears in the field name of a COM instruction.
- LD
- Label definition. The symbol appeared as the operand of an ENTRY
statement.
When you specify the
GOFF
assembler option, on z/OS or CMS, the assembler
generates an entry type of LD for each CSECT and RSECT
name.
- ER
- External reference.
The symbol appeared as the operand of an EXTRN statement,
or appeared as an operand of a V-type address constant.
- PC
- Unnamed control section definition (private code).
A CSECT, RSECT, or START statement that commences a control section
that does not have a symbol in the name field, or a control section that is
commenced (by any instruction which affects the location counter) before
a CSECT, RSECT, or START.
When you specify the GOFF assembler option, on z/OS or CMS,
the assembler does not generate an LD entry for a private code section.
For private code, the assembler creates an SD entry type with a blank name.
- PR
- Part definition.
The symbol appeared in the PART parameter of a CATTR statement.
- CM
- Common control section definition.
The symbol appeared in the name field of a COM statement.
- XD
- External dummy section.
The symbol appeared in the name field of a DXD statement or
the operand of
a Q-type
address constant.
The external
dummy section is also called a pseudo register in the
applicable Linkage Editor and Loader document, and
z/OS DFSMS Program Management.
Note:
The alignment value of an external dummy section is displayed in the
address field of the External Symbol Dictionary. However, its value
is encoded in different fields of the object file, not the address.
- WX
- Weak external reference.
The symbol appeared as an operand in a WXTRN statement.
- ED
- Element definition (one for each class).
The symbol appeared as an operand in a CATTR statement.
When you specify the NOGOFF assembler option, on z/OS or CMS,
the assembler does not generate an entry type of ED.
For further information,
refer to z/OS DFSMS Program Management.
- 3
- The external symbol dictionary identification number (ESDID).
The number is a unique 8-digit hexadecimal number identifying the
entry.
- 4
- The address of the symbol (in hexadecimal notation) for SD- and
LD-type entries, and spaces for ER- and WX-type entries.
For PC- PR- and CM-type entries, it indicates the beginning
address of the control section.
For XD-type entries, it indicates the alignment
with a number one less than the number of bytes in the unit of alignment.
For example, 7 indicates doubleword alignment.
- 5
- The assembled length, in bytes, of the
section, element, or DXD
(in hexadecimal notation).
- 6
- The ESDID of the control section in which
the LD ID is the ESDID of the following, depending on the type:
- LD
- The control section in which the label is defined.
- ED
- The control section to which this element belongs.
- CM
- The control section in which the common control section is defined.
- ER
- The control section in which the external reference was declared.
- PR
- The class to which this part belongs.
- 7
- For SD-, PC-, and CM-type
entries, this field contains the following
flags:
Bit 2: 0 = use the RMODE bit (5)
1 = RMODE is 64
Bit 3: 0 = use the AMODE bits (6-7)
1 = AMODE is 64
Bit 4: 0 = Section is not an RSECT
1 = Section is an RSECT
Bit 5: 0 = RMODE is 24
1 = RMODE is 31
Bits 6-7: 00 = AMODE is 24
01 = AMODE is 24
10 = AMODE is 31
11 = AMODE is ANY
- 8
- When symbol 1 is defined
in an ALIAS instruction, this field shows the
name of the external dummy section, control section, entry point,
part or external symbol of which symbol 1 is an alias.
[ Top of Page | Previous Page | Next Page | Contents | Index ]