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 characteristicsData 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.