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


Associated data file output

HLASM Programmer's Guide
SC26-4941-06

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.
Read syntax diagramSkip visual syntax diagram
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.
  1. 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'
  2. 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'
  3. 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'
  4. 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'
  5. 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'
  6. 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'

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014