HLASM Programmer's Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


External Symbol Dictionary (ESD)

HLASM Programmer's Guide
SC26-4941-06

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 might be 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 1 shows the ESD entries when you specify the NOGOFF option. Table 2 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 1. 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 2. 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:
  1. Only if the SD ESDID entry is associated with CM ESDID entry.

Figure 1 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 1. 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 generates 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 could depend on, or could affect or be affected by the location counter) before a CSECT, RSECT, START, DSECT, or COM.

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 eight-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.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014