|
The file contains records classified into different record types.
Each type of record provides information about the assembler language
program being assembled. Each record consists of two parts:
- A 12-byte header section, which has the same structure for all
record types.
- A variable-length data section, which varies by record type.
The header section contains, among other items, the record code
which identifies the type of record.
The record types, and their contents, written to the associated
data file are: - Job Identification X'0000'
- Provides information about the assembly job, the host system environment,
and the names of the primary input data sets.
- ADATA Identification X'0001'
- Provides a precise time stamp, and a description of the character
set used for character data in the file.
The time stamp is represented
as Universal Time (UT) with the low-order bit representing 1 microsecond.
- ADATA Compilation Unit Start/End X'0002'
- Indicates where the associated data records for each assembly
unit begin and end. The START record is written to the associated
data file at the beginning of each assembly. The END record is written
to the associated data file at the end of each assembly. The END record
contains a count of the total number of records written to the associated
data file.
When there are multiple assembler programs in the input
file, there is a START and END record for each program assembled.
- Output File X'000A'
- Provides information about all the assembler output files used
for the assembly.
- Options File X'000B'
- Provides information about the ASMAOPT file (z/OS and CMS) or
library member (z/VSE) used for the assembly, if applicable.
- Options X'0010'
- Describes the assembler options used for the assembly.
- External Symbol Dictionary X'0020'
- Describes all the control sections, including DSECTs, defined
in the program.
- Source Analysis X'0030'
- Describes a single source line.
There is one Source Analysis
record in the file for each source record which appear in the listing
as if PRINT ON,GEN was active. This includes those source records
generated by macro instructions, or included
by COPY instructions. A Source Analysis record is also produced for
TITLE statements. The FOLD assembler option does not cause the source
in the Source Analysis record to be converted to uppercase.
The
Source Analysis records appear in the sequence they appear in the
listing. Conditional assembly statements might cause the source statements
to be skipped or the sequence of the records to be altered.
- Source Error X'0032'
- Describes errors in source program statements.
All Source
Error records follow the Source Analysis record to which they apply.
- DC/DS X'0034'
- Describes the constant or storage defined by a source program
statement that contains a DC, DS, CXD, DXD, CCW, CCW0, or CCW1 instruction.
If a source program statement contains one of the above, then
a DC/DS record is written following the Source Analysis record.
If
there is an error in the DC, DS, CXD, DXD, CCW, CCW0, or CCW1 instruction,
the DC/DS record is not produced.
If the DC statement has
a duplication factor greater than 1, and at least one of the operand
values has a reference to the current location counter (*),
then a DC extension record (X'0035') is generated.
- DC Extension X'0035'
- This record describes the object text generated by a DC statement
when the DC statement has repeating fields. This record is only created
if the DC statement has a duplication factor greater than 1 and at
least one of the operand values has a reference to the current location
counter (*).
- Machine Instruction X'0036'
- Describes the object code generated for a source program statement.
If a source program statement causes machine instructions to be
generated, then a Machine Instruction record is written following
the source record. If there is an error in the machine instruction,
the Machine Instruction record follows the Source Error record.
- Relocation Dictionary X'0040'
- Describes the relocation dictionary information that is contained
in the object module RLD records.
- Symbol X'0042'
- Describes a single symbol defined in the program.
There is
one Symbol record for each symbol defined in the program, including
literals.
- Symbol and Literal Cross Reference X'0044'
- Describes the references to a single symbol.
All Symbol and
Literal Cross Reference records follow the Symbol record to which
they apply.
- Register Cross Reference X'0045'
- Describes the references to a single register.
- Macro and Copy Code Source Summary X'0060'
- Describes the source of each macro and copy code member retrieved
by the program.
- Macro and Copy Code Cross Reference X'0062'
- Describes the references to a single macro, or member copied by
the COPY assembler instruction.
- User Data X'0070'
- Describes the data written by the ADATA assembler instruction.
- Using Map X'0080'
- Describes all USING, DROP, PUSH USING, and POP USING statements
in the program.
- Statistics X'0090'
- Describes the statistics about the assembly.
Figure 1 shows part of the
listing of an assembler program. If this assembler program is assembled
with the ADATA option, the records produced in the associated data
file are in the sequence shown below Figure 1. Figure 1. Sample assembler program
for associated data output Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2008/07/11 17.48
00000 0001E 1 CSECTNAM CSECT FIG00010
000000 90EC D00C 0000C 2 STM 14,12,12(13) FIG00020
R:F 00000 3 USING CSECTNAM,15 FIG00030
000004 0000 0000 00000 4 A 2,FIELD3 FIG00040
** ASMA044E Undefined symbol - FIELD3
000008 98EC D00C 0000C 5 LM 14,12,12(13) FIG00050
00000C 07FE 6 BR 14 FIG00060
7 DROP 15 FIG00070
8 COPY ADATA FIG00080
00000E 9=FIELD1 DS CL8 ADA00010
000016 10=FIELD2 DS CL8 ADA00020
11 END FIG00090
- Type
- Description
- X'0002'
- ADATA Compilation Unit START record
- X'0001'
- ADATA Identification record
- X'0000'
- Job Identification record
- X'0010'
- Options record
- X'0020'
- External Symbol Dictionary record for CSECTNAM
- X'0030'
- Source record for statement 1 CSECTNAM CSECT
- X'0030'
- Source record for statement 2 STM 14,12,12(13)
- X'0036'
- Machine Instruction record for STM instruction
- X'0030'
- Source record for statement 3 USING CSECTNAM,15
- X'0030'
- Source record for statement 4 A 2,FIELD3
- X'0032'
- Source Error record for message ASMA044E
- X'0036'
- Machine Instruction record for A instruction
- X'0030'
- Source record for statement 5 LM 14,12,12(13)
- X'0036'
- Machine Instruction record for LM instruction
- X'0030'
- Source record for statement 6 BR 14
- X'0036'
- Machine Instruction record for BR instruction
- X'0030'
- Source record for statement 7 DROP 15
- X'0030'
- Source record for statement 8 COPY ADATA
- X'0030'
- Source record for statement 9 (From COPY member ADATA) FIELD1
DS CL8
- X'0034'
- DC/DS record for FIELD1
- X'0030'
- Source record for statement 10 (From COPY member ADATA) FIELD2
DS CL8
- X'0034'
- DC/DS record for FIELD2
- X'0030'
- Source record for statement 11 END
- X'0042'
- Symbol record for CSECTNAM
- X'0044'
- Symbol and Literal Cross Reference record for CSECTNAM
- X'0042'
- Symbol record for FIELD1
- X'0042'
- Symbol record for FIELD2
- X'0042'
- Symbol record for FIELD3
- X'0044'
- Symbol and Literal Cross Reference record for FIELD3
- X'0044'
- Symbol and Literal Cross Reference record for FIELD1
- X'0044'
- Symbol and Literal Cross Reference record for FIELD2
- X'0060'
- Macro and Copy Code Source Summary record for COPY ADATA
- X'0062'
- Macro and Copy Code Cross Reference record for COPY ADATA
- X'0080'
- USING Map record for USING on statement 3
- X'0080'
- USING Map record for DROP on statement 7
- X'0045'
- Register Cross Reference records…
- ⋮
-
- X'0045'
- …for each register referenced (0–15)1
- X'0090'
- Assembly Statistics record
- X'0002'
- ADATA Compilation Unit END record The count value in this record
is 54.
Note: - There is one X'0045' record for each of the sixteen registers
due to the implicit references by the STM and LM instructions.
|