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


Input and output data sets

HLASM Programmer's Guide
SC26-4941-06

Depending on the options in effect, High Level Assembler requires the following data sets, as shown in Figure 1:
Figure 1. High Level Assembler Files
                     ┌──────────────┐
                     │    SYSIN     │     ┌─────────────┐
                     └───────────┬──┘  ┌──┤   ASMAOPT   │
                                 │     │  └─────────────┘
                                 │     │
                                 ↓     ↓
 ┌──────────────┐           ┌────┴─────┴───┐           ┌──────────────┐
 │    SYSLIB    ├──────────→┤  Assembler   ├←─────────→┤    SYSUT1    │
 └──────────────┘           └───────┬──────┘           └──────────────┘
                                    │
                                    ↓
      ┌──────────────┬──────────────┼──────────────┬──────────────┐
      │              │              │              │              │
      ↓              ↓              ↓              ↓              ↓
┌─────┴─────┐  ┌─────┴─────┐  ┌─────┴─────┐  ┌─────┴─────┐  ┌─────┴─────┐
│  SYSPRINT │  │  SYSTERM  │  │  SYSLIN   │  │  SYSPUNCH │  │  SYSADATA │
└───────────┘  └───────────┘  └───────────┘  └───────────┘  └───────────┘

You can override the ddnames during installation or when invoking the assembler dynamically (see Invoking the assembler dynamically).

High Level Assembler requires this data set:
SYSIN
An input data set containing the source statements to be processed.
In addition, these data sets might be required:
ASMAOPT
An input data set containing an assembler option list.
SYSLIB
A data set containing macro definitions (for macro definitions not defined in the source program), source code to be called through COPY assembler instructions, or both.
SYSPRINT
A data set containing the assembly listing (if the LIST option is in effect).
SYSTERM
A data set containing a condensed form of SYSPRINT, principally flagged statements and their error messages (only if the TERM option is in effect).
SYSPUNCH
A data set containing object module output (only if the DECK option is in effect).
SYSLIN
A data set containing object module output normally for the linkage editor, loader, or binder (only if the OBJECT option is in effect).
SYSADATA
A data set containing associated data output (only if the ADATA option is in effect).
SYSUT1
Assembler work file (only if the WORKFILE option is in effect).

The data sets listed above are described in Specifying the source data set: SYSIN. Table 1 describes the characteristics of these data sets, including the characteristics set by the assembler and those you can override. The standard ddname that defines the data set appears as the heading for each data set description.

Table 1. Assembler data set characteristics
Data Set Access Method Logical Record Length (LRECL) Block Size (BLKSIZE) Record Format (RECFM)
SYSIN QSAM 80  5   9 
ASMAOPT QSAM  12   7  Fixed/Variable
SYSLIB BPAM 80  6   9 
SYSPRINT QSAM  1   7   8   10 
SYSTERM QSAM  2   5   8   11 
SYSPUNCH QSAM 80  5   4 
SYSLIN QSAM  3   5   4 
SYSADATA QSAM 32756 32760 or greater  8  VB
SYSUT1 QSAM   32760 Fixed
Notes to Table 1:
 1 
If you specify EXIT(PRTEXIT) and the user exit specifies the logical record length, the logical record length returned is used, unless the SYSPRINT data set has a variable-length record format in which case the LRECL used is 4 bytes greater than the value returned by the exit. If EXIT(PRTEXIT) has not been specified or the user exit does not specify a record length, the record length from the DD statement or data set label is used if present. Otherwise, the record length defaults to 133, or 137 if the record format is variable-length.

The minimum record length allowed for SYSPRINT is 121, and the maximum allowed is 255. If the record format is variable-length, the LRECL should be at least 125 or 137 depending on the LIST option.

 2 
If you specify EXIT(TRMEXIT) and the user exit specifies the logical record length, the logical record length returned is used. If EXIT(TRMEXIT) has not been specified or the user exit does not specify a record length, the record length from the DD statement or data set label is used if present. If not present, the record length defaults to the record length for SYSPRINT (if the LIST option is in effect) or 133 otherwise.

The maximum record length allowed for SYSTERM is 255.

 3 
If you specify the OBJECT option the logical record length must be 80. If you specify the GOFF option the object module can be generated with either fixed-length records of 80 bytes, or variable-length records up to BLKSIZE of 32720.

Hierarchical File System: If you want to copy the object data set to a file in a Hierarchical File System, for example under UNIX System Services, the object data set must be created with fixed-length records.

 4 
Both fixed and variable formats are supported; the default is fixed.
 5 
If specified, the BLKSIZE must equal the LRECL or be a multiple of the LRECL. If BLKSIZE is not specified, it is set to LRECL.

Refer to the applicable Linkage Editor and Loader document, or z/OS DFSMS Program Management, for the block size requirements of SYSPUNCH and SYSLIN, if you use them as input to the linkage editor, or to the z/OS binder.

 6 
The BLKSIZE on the DD statement or the data set label must be equal to, or be a multiple of, the LRECL.
 7 
The blocksize must be equal to or a multiple of the record length if the record format is fixed. If the record format is variable the blocksize must be at least 4 bytes greater than the record length.
 8 
High Level Assembler supports z/OS System-Determined Blocksize (SDB) for all output data sets except SYSLIN and SYSPUNCH.
System-Determined Blocksize is applicable when all the following conditions are true:
  • The operating system is MVS/ESA with an MVS level of 3.1 or higher.
  • The data set is NOT allocated to SYSOUT.
  • A block size of zero is specified or the blocksize is not specified in the JCL.
  • A record length (LRECL) is specified.
  • A record format (RECFM) is specified.
  • A data set organization (DSORG) is specified.

If these conditions are met, z/OS selects the appropriate blocksize for a new data set depending on the device type selected for output.

If the System-Determined Blocksize feature is not available, and your JCL omits the blocksize, or specifies a blocksize of zero, the assembler uses the logical record length as the blocksize.

 9 
Set by the assembler to F (or FB) if necessary.
 10 
Both fixed and variable formats are supported; the default is fixed. If the DD statement or data set label specifies machine or ASA control characters, the ASA option is set or reset accordingly. If machine or ASA control characters are not specified on the DD statement or data set label, the record format is modified according to the ASA option.
 11 
Set by the assembler to F (or FB) if necessary. The record format is set to FA (or FBA) if the ASA option is specified or FM (or FBM) otherwise.
 12 
The minimum record length allowed for ASMAOPT is 5 if the record format is variable length or 1 if the record format is fixed length. The maximum record length allowed is 32756 if the record format is variable length or 32760 if the record format is fixed length.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014