This section of the listing concerns symbols and literals that are defined and used in the
program. Figure 1. Ordinary symbol and literal
cross-reference
Ordinary Symbol and Literal Cross Reference Page 8
1 2 3 4 5 6 7 7 9 10
Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2015/02/20 18.42
Entry1 2 00000000 00000004 I 128 129 130U
Label1 2 00000036 00000004 H H 152 160
NumDays 4 00000014 FFFFFFFF A A 167 166
Plist 1 00000000 FFFFFFFE J 168 146U 147U
RCNVDATE 1 00000000 00000007 T 177 177
RCNVTIME 1 00000000 00000008 T 178 178
R1 1 00000001 00000004 A U 35 148 153M 154
R2 1 00000002 00000004 A U 36 150M
R5 1 00000005 00000004 A U 39 148M 150
R7 1 00000007 00000004 A U 41 155M
R8 1 00000008 00000004 A U 42 156M
R9 1 00000009 00000004 A U 43 149U
Savearea ***UNDEFINED*** 00000000 U 131
STATDS 1 00000000 FFFFFFFF J 164 151U
StaticData
8 00000050 00000004 D D 162 151U
WorkingStorage
1 00000000 FFFFFFFD J 171 149U
WSNumber 4 00000008 FFFFFFFD F F 173 154M
=f'1' 4 00000060 00000004 F 176 153
=V(RCNVDATE)
4 00000064 00000004 V 177 155
=V(RCNVTIME)
4 00000068 00000004 V 178 156
1
Shows each symbol or literal. Symbols are shown in the form in which they are defined, either in
the name entry of a machine or assembler instruction, or in the operand of an EXTRN or WXTRN
instruction. Symbols that are defined by using mixed-case letters are shown in mixed-case letters,
unless the FOLD assembler option was specified.
If a symbol name is used as a literal more than
once in a program, and the form of the symbol name is coded differently, for example
=V(symbol) and =V(SYMBOL), and the symbol is not defined in the
program, the symbol is listed in the form of the first reference. In the following example, the
assembler lists the symbol name as inPUT because the third statement is the first
occurrence of the symbol, and the symbol was not previously defined.
test csect
using *,15
la 1,=v(inPUT) third statement
la 1,=v(INPUT)
end
In the following example, the assembler lists the symbol name
inPUT because the third statement defines inPUT as an external
symbol. The assembler also lists the symbol name INput because the fifth statement
defines INput as an ordinary symbol.
test csect
using *,15
la 1,=v(inPUT) third statement
la 1,=v(INPUT)
INput dc cl4' ' fifth statement
END
2
Shows, in decimal notation, the byte length of the field represented by the symbol. This field
is blank for labeled USINGs (see symbol WA).
3
Shows the hexadecimal address that is assigned to the symbol or literal, or the hexadecimal
value to which the symbol is equated. This field is blank for labeled USING symbols. The Value
column can contain the UNDEFINED or QUALIFIER strings, depending on the properties of the
symbol.
4
For symbols and literals that are defined in an executable control
section or a dummy section, this field shows the external symbol dictionary ID (ESDID) assigned to
the ESD entry for the control section in which the symbol or literal is defined. For external
symbols, this field indicates the ESDID assigned to ESD entry for this symbol. For symbols defined
in a dummy control section, this field indicates the control section ID assigned to the control
section. For symbols defined by using the EQU statement, if the operand contains a relocatable
expression, this field shows the external symbol dictionary ID of the relocatable expression.
Otherwise, it contains the current control section ID.
5
Column title R is an abbreviation for “Relocatability Type”.
6
Indicates the type
attribute of the symbol or literal. Refer to Type attribute (T') in the HLASM Language Reference for details.
7
Indicates the assembler type of the symbol, including type extensions (if any). Refer to
HLASM Language Reference for
details.
8
Indicates the program type of the symbol. Refer to HLASM Language Reference for details.
9
Is the statement number in which the symbol or literal was defined.
10
Shows the statement numbers of the statements in which the symbol or literal appears as an
operand. Additional indicators are suffixed to statement numbers as follows:
B
The statement contains a branch instruction, and the relocatable symbol is used as the
branch-target operand address.
D
The statement contains a DROP instruction, and the symbol is used in the instruction
operand.
M
The instruction causes the contents of a register represented by an absolute symbol, or a
storage location represented by one or more relocatable symbols, to be modified.
U
The statement contains a USING instruction, and the symbol is used in one of the instruction
operands.
X
The statement contains an EX machine instruction, and the symbol in the second
operand is the symbolic address of the target instruction.
In the case of a duplicate symbol, this column contains the message:
****DUPLICATE****
A symbol name can appear in the cross-reference section as
both an external symbol name and an ordinary symbol name. In this situation, there is no
duplication.
The following notes apply to the cross-reference section:
Notes:
Cross-reference entries for symbols that are used in a literal refer to the assembled literal in
the literal pool. Look up the literals in the cross-reference to find where the symbols are
used.
A PRINT OFF listing control instruction does not affect the production of the cross-reference
section of the listing.
In the case of an undefined symbol, the columns Length ( 2 ) and
Value ( 3 ) contain the message: