Diagnostic cross-reference and assembler summary

This section of the listing summarizes the error diagnostic messages issued during the assembly, and provides statistics about the assembly.

The sample listing shown in Figure 1 contains a combination of z/OS® and CMS data sets to show examples of the differences in data set information.

Note: For a complete list of the diagnostic messages issued by the assembler, see High Level Assembler messages.
Figure 1. Diagnostic cross-reference and assembler summary
                                  Diagnostic Cross Reference and Assembler Summary                             Page   16
                                                                                            HLASM R6.0  2015/02/20 18.42
Statements Flagged
          1     131(L1:MACSAMP,10), 135(L1:MACSAMP,14), 148(P1,31), 175(P1,56)
    2   4 Statements Flagged in this Assembly        8 was Highest Severity Code
HIGH LEVEL ASSEMBLER, 5696-234, RELEASE 6.0, PTF R160    3 
SYSTEM: z/OS 02.01.00              JOBNAME: SAMP01      STEPNAME: C          PROCSTEP: (NOPROC)   4 
Data Sets Allocated for this Assembly   5 
 Con DDname   Data Set Name                                Volume  Member
  A1 ASMAOPT  SMORSA.SAMP01.JOB47707.D0000101.?
  P1 SYSIN    SMORSA.BOOK.SAMPLE.ASM                       37P003  SAMP01
  L1 SYSLIB   SMORSA.BOOK.SAMPLE.MACS                      37P004
  L2          SMORSA.BOOK.SAMPLE.COPY                      37P002
  L3          ANTZ.HLASM.V160.SPA160.AASMMAC2              37P001
  L4          SYS1.MACLIB                                  37SY03
 6    SYSPRINT SMORSA.SAMP01.JOB47707.D0000102.?

 10   64708K allocated to Buffer Pool            Storage required     248K
 11      56 Primary Input Records Read           13  925 Library Records Read                  0 Work File Reads
 12       3 ASMAOPT Records Read                 14  386 Primary Print Records Written         0 Work File Writes
 15       1 Object Records Written               16    0 ADATA Records Written
Assembly Start Time: 18.42.10 Stop Time: 18.42.11 Processor Time: 00.00.00.0044   16 
Return Code 008
 1 
The statement number of a statement that causes an error message, or contains an MNOTE instruction, appears in this list. Flagged statements are shown in either of two formats. When assembler option FLAG(NORECORD) is specified, only the statement number is shown. When assembler option FLAG(RECORD) is specified, the format is: statement(dsnum:member,record), where:
statement
is the statement number as shown in the source and object section of the listing.
dsnum
is the value applied to the source or library data set, showing the type of input file and the concatenation number. P indicates the statement was read from the primary input source, and L indicates the statement was read from a library. This value is cross-referenced to the input data sets listed under the sub-heading Datasets Allocated for this Assembly  5 .
member
is the name of the macro from which the statement was read. On z/OS, this can also be the name of a partitioned data set member that is included in the primary input (SYSIN) concatenation.
record
is the relative record number from the start of the data set or member which contains the flagged statement.
 2 
The number of statements flagged, and the highest non-zero severity code of all messages issued. The highest severity code is equal to the assembler return code.
If no statements are flagged, the following statement is printed:
No Statements Flagged in this Assembly

If the assembly completes with a non-zero return code, and there are no flagged statements, it indicates there is a diagnostic message in the Option Summary section of the listing (see Figure 1).

For a complete discussion of how error messages and MNOTEs are handled, see Assembly error diagnostics.

 3 
The current release of High Level Assembler and the last PTF applied.
 4 
Provides information about the system on which the assembly was run. This information is:
  • The name and level of the operating system used to run the assembly.
  • The job name for the assembly job. If the job name is not available, (NOJOB) is printed.
  • The step name for the assembly job. If the step name is not available, (NOSTEP) is printed.
  • The procedure name for the assembly job. If the procedure name is not available, (NOPROC) is printed.
 5 
On z/OS and CMS, all data sets used in the assembly are listed by their standard ddname. The data set information includes the data set name, and the serial number of the volume containing the data set. On z/OS, the data set information can also include the name of a member of a partitioned data set (PDS) or library (PDSE).

If a user exit provides the data set information, then the data set name is the value extracted from the Exit-Specific Information block described in Exit-Specific Information block.

The Con column shows the concatenation value assigned for each input data set. You use this value to cross-reference flagged statements, and macros and copy code members listed in the Macro and Copy Code Cross Reference section.

z/OS: On z/OS, the data set name for all data sets is extracted from the z/OS job file control block (JFCB). If the data set is a JES2 spool file, for example, the data set name is the name allocated by JES2. If the data set is allocated to DUMMY, or NULLFILE, the data set name is shown as NULLFILE.

CMS: On CMS, the data set name is assigned one of the values shown in Table 1.

Table 1. Data set names on CMS
File Allocated To: Data Set Name
CMS file The 8-character file name, the 8-character file type, and the 2-character file mode of the file, each separated by a space. If the data set is a disk file in the Shared File system, the volume serial number contains “** SFS”.
Dummy file (no physical I/O) DUMMY
Printer PRINTER
Punch PUNCH
Reader READER
Labeled tape file The data set name of the tape file
Unlabeled tape file TAPn, where n is a value from 0 to 9, or from A to F.
Terminal TERMINAL
z/VSE®:
On z/VSE, the data set name is assigned one of the values shown in Table 2.
Table 2. Data set names on z/VSE
File Allocated To: Data Set Name
Disk The file-id
Job stream (SYSIPT) None
Library (Disk). The ddname is shown as *LIB*. The file-id
Printer None
Punch None
Labeled tape file The file ID of the tape file
Unlabeled tape file None
Terminal (TERM) None
 6 
Output data sets do not have a concatenation value.
 10 
The minimum storage required for an in-storage assembly.
 11 
The number of primary input records read by the assembler. This count does not include any records read or discarded by the SOURCE user exit.
 12 
The number of records read from the ASMAOPT file (z/OS and CMS) or the Librarian member (z/VSE) by the assembler.
 13 
The number of records read from the libraries allocated to SYSLIB on z/OS and CMS, or assigned to the Librarian on z/VSE. This count does not include any records read or discarded by the LIBRARY user exit.
 14 
The count of the actual number of records generated by the assembler. If you have used the SPACE n assembler instruction, the count might be less than the total number of printed and blank lines appearing in the listing. For a SPACE n that does not cause an eject, the assembler inserts n blank lines in the listing by generating n/3 triple-spaced blank records, rounded to the next lower integer if a fraction results. For a SPACE 2, no blank records are generated. The assembler does not generate a blank record to force a page eject.

This count does not include any listing records generated or discarded by the LISTING user exit.

 15 
The number of object records written. This count does not include any object records generated or discarded by the OBJECT or PUNCH user exits.
 16 
The number of ADATA records written to the associated data file.
 17 
On z/VSE, the assembly start and stop times in hours, minutes, and seconds.

On z/OS and CMS, the assembly start and stop times in hours, minutes, and seconds and the approximate amount of processor time used for the assembly, in hours, minutes, and seconds to four decimal places.

The assembly start time does not include the time used during assembly initialization, which allocates main storage and data sets and processes the assembler invocation parameters. The assembly stop time does not include the time used during assembly termination, which deallocates main storage and data sets.