When you specify the ADATA assembler option, a file containing
associated data is produced by the assembler.
When you specify the ADATA
suboption of the GOFF assembler option, ADATA records
are written to the object data set as text records. You can specify
both ADATA and GOFF(ADATA) to produce ADATA records in
both the associated data file and the object data set. Information
about the assembled program can be extracted from either data set and
be used by debugging tools or cross reference tools.
The associated data records are subject to change in future releases
of High Level Assembler without prior notice. Any utility which processes
associated data files should not process any files with architecture
levels beyond those the utility has been designed and tested to process.
The ASMADATA macro maps the records in the
associated data file, and the
generalized
object format data set. The
syntax and parameter keywords for this macro are shown on page
Figure 0.
ASMADATA
.-,---------------------.
V .-NOGEN-. |
>>---+-PRINT=-+-GEN---+--+-+-----------------------------------><
| .-NO--. |
+-AID=-+-YES-+------+
| .-NO--. |
+-AOPT=-+-YES-+-----+
| .-NO--. |
+-COMPUNIT=-+-YES-+-+
| .-NO--. |
+-DCDS=-+-YES-+-----+
| .-NO--. |
+-DCX=-+-YES-+------+
| .-NO--. |
+-ESD=-+-YES-+------+
| .-NO--. |
+-JID=-+-YES-+------+
| .-NO--. |
+-MACH=-+-YES-+-----+
| .-NO--. |
+-MXREF=-+-YES-+----+
| .-NO--. |
+-MXREFX=-+-YES-+---+
| .-NO--. |
+-OPT=-+-YES-+------+
| .-NO--. |
+-OUTPUT=-+-YES-+---+
| .-NO--. |
+-RLD=-+-YES-+------+
| .-NO--. |
+-RXREF=-+-YES-+----+
| .-NO--. |
+-SOURCE=-+-YES-+---+
| .-NO--. |
+-SRCERR=-+-YES-+---+
| .-NO--. |
+-STATS=-+-YES-+----+
| .-NO--. |
+-SYM=-+-YES-+------+
| .-NO--. |
+-USER=-+-YES-+-----+
| .-NO--. |
+-USING=-+-YES-+----+
| .-NO--. |
'-XREF=-+-YES-+-----'
- Default
- PRINT=NOGEN,keyword=NO
- NOGEN
- Do not print the generated DSECTs in the listing
- GEN
- Print the generated DSECTs in the listing
- NO
- Do not generate a DSECT for this record
- YES
- Generate a DSECT for this record
- keywords
- AID
- ADATA Identification DSECT (Type X'0001')
- AOPT
- Options File Information (Type X'000B')
- COMPUNIT
- ADATA Compilation Unit Start/End DSECT (Type X'0002')
- DCDS
- DC/DS DSECT (Type X'0034')
- DCX
- DC Extension DSECT(Type X'0035')
- ESD
- External Symbol Dictionary (ESD) DSECT (Type X'0020')
- JID
- Job Identification DSECT (Type X'0000')
- MACH
- Machine Instruction DSECT (Type X'0036')
- MXREF
- Macro and Copy Code Source Summary DSECT (Type X'0060')
- MXREFX
- Macro and Copy Code Cross Reference DSECT (Type X'0062')
- OPT
- Options DSECT (Type X'0010')
- OUTPUT
- Output File DSECT (Type X'000A')
- RLD
- Relocation Dictionary (RLD) DSECT (Type X'0040')
- RXREF
- Register Cross Reference DSECT (Type X'0045')
- SOURCE
- Source Analysis DSECT (Type X'0030')
- SRCERR
- Source Error DSECT (Type X'0032')
- STATS
- Statistics DSECT (Type X'0090')
- SYM
- Symbol DSECT (Type X'0042')
- USER
- User Data Record DSECT (Type X'0070')
- USING
- Using Map DSECT (Type X'0080')
- XREF
- Symbol Cross Reference DSECT (Type X'0044')
In the fields described in each of the record types, a notation
based on the assembler language data type is used:
- C
- indicates EBCDIC data
- H
- indicates 2-byte binary integer data
- F
- indicates 4-byte binary integer data
- A
- indicates 4-byte binary address data
- X
- indicates hexadecimal (bit) data
No boundary alignments are implied by any data type, and
you can change the implied
lengths by using a length indicator (Ln). All
integer data is in System/370 format; that is bit 0 is
always the most significant bit, bit n is the least
significant bit, and the byte ordering in the records is from most
significant to the least significant. The bits within a byte are
numbered from left to right starting from 0.
Offsets within each record are calculated from the beginning of
the header section.
The following examples show the format of a DC/DS Record for various
DC statements.
- EXAMPLE1 DC 3F'5,6',HP(X'05')'7'
ESDID : F'1'
Type Flag : B'10000000'
Reserved : X'0000000000'
Statement Number : F'2'
Number of Operands : F'2'
Offset of first Operand : F'38'
Offset of next Operand : F'108'
Location Counter : X'00000000'
Duplication Factor : F'3'
Bit Offset : B'00000000'
Type Attribute : C'F'
Type Extension : C' '
Program Type : X'00000000'
Reserved : X'00000000'
Number of values : F'2'
Offset of first value : F'68'
Offset of next value : F'88'
Offset of generated value : F'84'
Byte length : F'4'
Bit length : F'0'
Generated Value : X'00000005'
Offset of next value : F'0'
Offset of generated value : F'104'
Byte length : F'4'
Bit length : F'0'
Generated Value : X'00000006'
Offset of next Operand : F'0'
Location Counter : X'00000018'
Duplication Factor : F'1'
Bit Offset : B'00000000'
Type Attribute : C'H'
Type Extension : C' '
Program Type : X'00000005'
Reserved : X'00000000'
Number of values : F'1'
Offset of first value : F'138'
Offset of next value : F'0'
Offset of generated value : F'154'
Byte length : F'2'
Bit length : F'0'
Generated Value : X'0007'
- EXAMPLE2 DC P'5,927'
ESDID : F'1'
Type Flag : B'10000000'
Reserved : X'0000000000'
Statement Number : F'3'
Number of Operands : F'1'
Offset of first Operand : F'38'
Offset of next Operand : F'0'
Location Counter : X'0000001A'
Duplication Factor : F'1'
Bit Offset : B'00000000'
Type Attribute : C'P'
Type Extension : C' '
Program Type : X'00000000'
Reserved : X'00000000'
Number of values : F'2'
Offset of first value : F'68'
Offset of next value : F'85'
Offset of generated value : F'84'
Byte length : F'1'
Bit length : F'0'
Generated Value : X'5C'
Offset of next value : F'0'
Offset of generated value : F'101'
Byte length : F'2'
Bit length : F'0'
Generated Value : X'927C'
- EXAMPLE3 DC B'101',2B'10111'
ESDID : F'1'
Type Flag : B'10000000'
Reserved : X'0000000000'
Statement Number : F'4'
Number of Operands : F'2'
Offset of first Operand : F'38'
Offset of next Operand : F'85'
Location Counter : X'0000001D'
Duplication Factor : F'1'
Bit Offset : B'00000000'
Type Attribute : C'B'
Type Extension : C' '
Program Type : X'00000000'
Reserved : X'00000000'
Number of values : F'1'
Offset of first value : F'68'
Offset of next value : F'0'
Offset of generated value : F'84'
Byte length : F'1'
Bit length : F'0'
Generated Value : X'05' B'00000101'
Offset of next Operand : F'0'
Location Counter : X'0000001E'
Duplication Factor : F'2'
Bit Offset : B'00000000'
Type Attribute : C'B'
Type Extension : C' '
Program Type : X'00000000'
Reserved : X'00000000'
Number of values : F'1'
Offset of first value : F'115'
Offset of next value : F'0'
Offset of generated value : F'131'
Byte length : F'1'
Bit length : F'0'
Generated Value : X'17' B'00010111'
- EXAMPLE4 DC BL.3'101',BL.5'10111,11001'
ESDID : F'1'
Type Flag : B'10000000'
Reserved : X'0000000000'
Statement Number : F'5'
Number of Operands : F'2'
Offset of first Operand : F'38'
Offset of next Operand : F'85'
Location Counter : X'00000020'
Duplication Factor : F'1'
Bit Offset : B'00000000'
Type Attribute : C'B'
Type Extension : C' '
Program Type : X'00000000'
Reserved : X'00000000'
Number of values : F'1'
Offset of first value : F'68'
Offset of next value : F'0'
Offset of generated value : F'84'
Byte length : F'0'
Bit length : F'3'
Generated Value : X'A0' B'10100000'
Offset of next Operand : F'0'
Location Counter : X'00000020'
Duplication Factor : F'1'
Bit Offset : B'00000011'
Type Attribute : C'B'
Type Extension : C' '
Program Type : X'00000000'
Reserved : X'00000000'
Number of values : F'2'
Offset of first value : F'115'
Offset of next value : F'132'
Offset of generated value : F'131'
Byte length : F'0'
Bit length : F'5'
Generated Value : X'B8' B'10111000'
Offset of next value : F'0'
Offset of generated value : F'148'
Byte length : F'0'
Bit length : F'5'
Generated Value : X'C8' B'11001000'
- EXAMPLE5 DC LB'4',2L'9'
This example shows a DC statement that requires the type extension
field to differentiate the attributes of the two floating point
operands.
ESDID : F'1'
Type Flag : B'10000000'
Reserved : X'0000000000'
Statement Number : F'6'
Number of Operands : F'2'
Offset of first Operand : F'38'
Offset of next Operand : F'100'
Location Counter : X'00000028'
Duplication Factor : F'1'
Bit Offset : B'00000000'
Type Attribute : C'L'
Type Extension : C'B'
Program Type : X'00000000'
Reserved : X'00000000'
Number of values : F'1'
Offset of first value : F'68'
Offset of next value : F'0'
Offset of generated value : F'84'
Byte length : F'16'
Bit length : F'0'
Generated Value : X'40010000000000000000000000000000'
Offset of next Operand : F'0'
Location Counter : X'00000038'
Duplication Factor : F'2'
Bit Offset : B'00000000'
Type Attribute : C'L'
Type Extension : C' '
Program Type : X'00000000'
Reserved : X'00000000'
Number of values : F'1'
Offset of first value : F'130'
Offset of next value : F'0'
Offset of generated value : F'146'
Byte length : F'16'
Bit length : F'0'
Generated Value : X'41900000000000003300000000000000'
- EXAMPLE6 DC 5Y(*-2),5Y(*-1)
This example shows a DC statement that requires a DC extension
record (X'0035') to contain the repeating fields.
The object code generated, and shown in the assembler listing:
2 PRINT DATA
000000 FFFE000000020004 3 DC 5Y(*-2),5Y(*-1)
000008 00060009000B000D
000010 000F0011
The ADATA records produced:
ESDID : F'1'
Type Flag : B'10010000'
Reserved : X'0000000000'
Statement Number : F'3'
Number of Operands : F'2'
Offset of first Operand : F'38'
Offset of next Operand : F'86'
Location Counter : X'00000000'
Duplication Factor : F'5'
Bit Offset : B'00000000'
Type Attribute : C'Y'
Type Extension : C' '
Program Type : X'00000000'
Reserved : X'00000000'
Number of values : F'1'
Offset of first value : F'130'
Offset of next value : F'0'
Offset of generated value : F'84'
Byte length : F'2'
Bit length : F'0'
Generated Value : X'FFFE'
Offset of next Operand : F'86'
Location Counter : X'0000000A'
Duplication Factor : F'5'
Bit Offset : B'00000000'
Type Attribute : C'Y'
Type Extension : C' '
Program Type : X'00000000'
Reserved : X'00000000'
Number of values : F'1'
Offset of first value : F'116'
Offset of next value : F'0'
Offset of generated value : F'132'
Byte length : F'2'
Bit length : F'0'
Generated Value : X'0009'
The object text for the statement is in the following
DC Extension Record:
ESDID : F'1'
Statement Number : F'3'
Location Counter : F'0'
Reserved : X'0000000000000000'
Offset of Object : F'44'
Length of Object : F'20'
Object Text : X'FFFE00000002000400060009000B000D000F0011'