Asmi 1020
Asmi 1020
SC26-3494-04
High Level Assembler for z/OS & z/VM & z/VSE
SC26-3494-04
Note!
Before using this information and the product it supports, be sure to read the general
information under “Notices” on page 225.
Chapter 14. Customizing High Level Chapter 20. Isolating the problem . . . 135
Assembler on z/VSE . . . . . . . . 111 Diagnosing the problem . . . . . . . . . . 135
Changing default options . . . . . . . . . 111 Diagnostic aids . . . . . . . . . . . . . 136
Relink High Level Assembler phase Installation problems . . . . . . . . . . . 136
ASMADOPT. . . . . . . . . . . . . 112
Placing High Level Assembler into the Shared Chapter 21. Building a keyword string 139
Virtual Area (SVA) . . . . . . . . . . . . 113 Keyword usage . . . . . . . . . . . . . 139
Using the problem identification worksheet . . . 140
Chapter 15. Maintaining High Level Step 1. Component identification keyword
procedure . . . . . . . . . . . . . . 141
Assembler on z/VSE . . . . . . . . 115
Step 2. Release level keyword procedure . . . . 141
Re-installing High Level Assembler . . . . . . 115
Release level procedure . . . . . . . . . 141
Applying service updates . . . . . . . . . 115
Step 3. Type-of-failure keyword procedure. . . . 142
What you receive . . . . . . . . . . . 115
Abnormal termination problem procedures . . 142
Checklist for applying service . . . . . . . 115
Message problem procedures . . . . . . . 143
Step 1. Check prerequisite APARs or PTFs . . . 116
Loop or no response problem procedures . . . 144
Contents v
Output problem procedures . . . . . . . 145 LANGUAGE . . . . . . . . . . . . 179
Performance problem procedures . . . . . . 146 LIBEXIT . . . . . . . . . . . . . . 179
Documentation problem procedures . . . . . 147 LIBMAC . . . . . . . . . . . . . . 180
Step 4. System-type keyword . . . . . . . . 147 LIMIT . . . . . . . . . . . . . . . 180
System-type procedure . . . . . . . . . 147 LINECOUNT . . . . . . . . . . . . 181
Problem identification worksheet . . . . . . . 148 LIST . . . . . . . . . . . . . . . 181
MACHINE . . . . . . . . . . . . . 182
Chapter 22. Using the keyword string MACHINELIST . . . . . . . . . . . 183
as a search argument . . . . . . . . 149 MAP . . . . . . . . . . . . . . . 184
MXREF . . . . . . . . . . . . . . 184
How to use the keyword string . . . . . . . 149
OBJECT . . . . . . . . . . . . . . 185
Search argument procedure. . . . . . . . . 149
OBJEXIT . . . . . . . . . . . . . . 185
OPTABLE . . . . . . . . . . . . . 186
Chapter 23. Preparing an APAR . . . 151 OPTABLELIST . . . . . . . . . . . . 187
Initiating an APAR . . . . . . . . . . . 151 PAGE0WARN . . . . . . . . . . . . 187
Job control statements (z/OS) . . . . . . . 153 PCONTROL . . . . . . . . . . . . . 188
Interactive environment (CMS) . . . . . . 153 PESTOP . . . . . . . . . . . . . . 190
Job control statements (z/VSE) . . . . . . 153 PROFILE . . . . . . . . . . . . . . 190
SYSADATA (z/OS and CMS) or SYSADAT PROFMEM . . . . . . . . . . . . . 191
(z/VSE) output . . . . . . . . . . . . 153 PRTEXIT . . . . . . . . . . . . . . 191
Submitting the APAR documentation . . . . . 154 PUSHWARN . . . . . . . . . . . . 192
RA2 . . . . . . . . . . . . . . . 192
Chapter 24. Modifier keywords . . . . 155 RECORDINFO . . . . . . . . . . . . 192
High Level Assembler Language Elements . . . 155 RENT . . . . . . . . . . . . . . . 193
Assembler options . . . . . . . . . . . . 157 RLD . . . . . . . . . . . . . . . 193
RXREF . . . . . . . . . . . . . . 194
Chapter 25. Internal Trace Facility . . 163 SECTALGN . . . . . . . . . . . . . 194
How to invoke the Internal Trace Facility . . . . 163 SIZE . . . . . . . . . . . . . . . 194
Specifying the trace data set . . . . . . . . 163 STORAGE . . . . . . . . . . . . . 196
ITF assembler option . . . . . . . . . . . 164 SUBSTRWARN . . . . . . . . . . . . 196
SUPRWARN. . . . . . . . . . . . . 196
SYSPARMV . . . . . . . . . . . . . 197
Part 6. Appendixes . . . . . . . . 165 TERM . . . . . . . . . . . . . . . 197
TEST . . . . . . . . . . . . . . . 198
Appendix A. High Level Assembler THREAD . . . . . . . . . . . . . . 198
Options . . . . . . . . . . . . . . 167 TRANSLATE . . . . . . . . . . . . 199
ASMAOPT . . . . . . . . . . . . . . 167 TRMEXIT . . . . . . . . . . . . . 199
ASMAOPT options . . . . . . . . . . . 167 TYPECHECK . . . . . . . . . . . . 200
ADATA . . . . . . . . . . . . . . 167 USING0WARN . . . . . . . . . . . . 200
ADEXIT . . . . . . . . . . . . . . 168 WARN . . . . . . . . . . . . . . 201
ALIGN . . . . . . . . . . . . . . 168 | WORKFILE . . . . . . . . . . . . . 202
ALIGNWARN . . . . . . . . . . . . 169 XOBJADATA (z/OS and CMS) . . . . . . 202
ASA (z/OS and CMS) . . . . . . . . . 169 XOBJECT (z/OS and CMS) . . . . . . . . 202
BATCH . . . . . . . . . . . . . . 169 XREF . . . . . . . . . . . . . . . 203
CODEPAGE . . . . . . . . . . . . . 170
COMPAT . . . . . . . . . . . . . . 170 Appendix B. High Level Assembler
CONTWARN . . . . . . . . . . . . 171 DDNAMES (z/OS and CMS) . . . . . 205
DBCS . . . . . . . . . . . . . . . 172 ASMADD Syntax . . . . . . . . . . . . 205
DECK . . . . . . . . . . . . . . . 172 ASMADD . . . . . . . . . . . . . . 205
DELETE . . . . . . . . . . . . . . 173 ADATA . . . . . . . . . . . . . . 205
DSECT . . . . . . . . . . . . . . 174 IN . . . . . . . . . . . . . . . . 206
DXREF . . . . . . . . . . . . . . 174 LIB . . . . . . . . . . . . . . . . 206
ESD . . . . . . . . . . . . . . . 175 LIN . . . . . . . . . . . . . . . 206
EXLITW . . . . . . . . . . . . . . 175 OPT . . . . . . . . . . . . . . . 207
FLAG . . . . . . . . . . . . . . . 176 PRINT . . . . . . . . . . . . . . . 207
FOLD . . . . . . . . . . . . . . . 176 PUNCH . . . . . . . . . . . . . . 207
GOFF (z/OS and CMS) . . . . . . . . . 176 TERM . . . . . . . . . . . . . . . 208
GOFFADATA (z/OS and CMS) . . . . . . 177 UT1 . . . . . . . . . . . . . . . 208
IMPLENWARN . . . . . . . . . . . 177
INEXIT . . . . . . . . . . . . . . 178
INFO . . . . . . . . . . . . . . . 178
Contents vii
viii HLASM V1R6 Installation and Customization Guide
About this book
| This book provides information needed to plan for, install, customize, maintain,
| and diagnose problems with High Level Assembler on z/OS, z/VM, z/VSE, and
| Linux for zSeries (zLinux).
z/OS
z/VM
z/VSE
It is also relevant to users who carry out diagnostic tasks on this product.
| To use this book, you need to be familiar with the z/OS, z/VM, z/VSE, or zLinux
| operating systems, the publications that describe your system, and job control
| language (JCL) or EXEC processing.
Syntax notation
Throughout this book, syntax descriptions use the structure defined below.
v Read the syntax diagrams from left to right, from top to bottom, following the
path of the line.
The ── symbol indicates the beginning of a statement.
The ─── symbol indicates that the statement syntax is continued on the next
line.
The ─── symbol indicates that a statement is continued from the previous line.
The ── indicates the end of a statement.
Diagrams of syntactical units other than complete statements start with the ───
symbol and end with the ─── symbol.
v Keywords appear in uppercase letters (for example, ASPACE) or upper and
lower case (for example, PATHFile). They must be spelled exactly as shown.
Lower case letters are optional (for example, you could enter the PATHFile
keyword as PATHF, PATHFI, PATHFIL or PATHFILE).
Variables appear in all lowercase letters in a special typeface (for example,
integer). They represent user-supplied names or values.
v If punctuation marks, parentheses, or such symbols are shown, they must be
entered as part of the syntax.
v Required items appear on the horizontal line (the main path).
v Optional items appear below the main path. If the item is optional and is the
default, the item appears above the main path.
default item
INSTRUCTION
optional item
v When you can choose from two or more items, they appear vertically in a stack.
If you must choose one of the items, one item of the stack appears on the main
path.
If choosing one of the items is optional, the whole stack appears below the main
path.
INSTRUCTION
optional choice1
optional choice2
v An arrow returning to the left above the main line indicates an item that can be
repeated. When the repeat arrow contains a separator character, such as a
comma, you must separate items with the separator character.
A repeat arrow above a stack indicates that you can make more than one choice
from the stacked items, or repeat a single choice.
Format
A B C
INSTRUCTION fragment
optional item
fragment:
operand choice1
(1)
operand choice2
operand choice3
Notes:
1 operand choice2 and operand choice3 must not be specified together
B The INSTRUCTION key word must be specified and coded as shown.
C The item referred to by “fragment” is a required operand. Allowable
choices for this operand are given in the fragment of the syntax diagram
shown below “fragment” at the bottom of the diagram. The operand can
also be repeated. That is, more than one choice can be specified, with each
choice separated by a comma.
Be sure to include the name of the document, the publication number of the
document, the version of High Level Assembler and, if applicable, the specific
location (for example, page number) of the text that you are commenting on.
v Fill out the Readers’ Comment Form at the back of this document, and return it
by mail or give it to an IBM representative. If the form has been removed,
address your comments to:
IBM Corporation
Reader Comments
DTX/E269
555 Bailey Avenue
San Jose, CA, 95141-9989
U.S.A.
v E-Mail your comments to this address: comments@us.ibm.com
When you send information to IBM, you grant IBM a nonexclusive right to use or
distribute the information in any way it believes appropriate without incurring any
obligation to you.
There are no major changes to the installation and customization procedures for
High Level Assembler with release 6.
A new section is included, describing the installation and usage of High Level
Assembler on zLinux.
Any reference to obsolete DASD devices has been removed from the z/VSE
chapters.
Changes in this edition of the book are indicated by a vertical bar in the left
margin.
For information about changes to the High Level Assembler product in release 6,
refer to HLASM General Information.
Distribution media
| High Level Assembler is distributed on the following:
| v 3480 tape cartridge
| The cartridge contains all the programs and data needed for installation. The
| cartridge is in SMP/E relative file format. The first file contains the SMP/E
| modification control statements. Subsequent files contain IEBCOPY, unloaded
| partitioned data sets, which SMP/E processes.
Basic material
| Table 1 describes the cartridge. Table 2 describes the file content of the cartridge.
Table 1. Basic material: program cartridge
Feature Physical
Medium Number Volume External Label Identification VOLSER
3480 cart. 5892 1 HLASM V1R6 for MVS MQ4160
The RECFM, LRECL, and BLK SIZE reflect the original values of the partitioned
data sets (relative files) before being unloaded by the IEBCOPY utility to tape.
Note: If you are installing High Level Assembler using the MVS Custom-Built
Product Delivery Offering (CBPDO) (5751-CS3), some of the information in
these figures may not be valid. Consult the CBPDO documentation for
actual values.
Optional material
There are no optional machine-readable materials for High Level Assembler.
The machine-readable components for High Level Assembler are installed in target
and distribution libraries.
v Target libraries are the data sets in which the run-time copy of High Level
Assembler is stored. These data sets include the executable program code and
any other components used during execution, such as sample JCL and messages.
v Distribution libraries are the data sets in which additional copies of these
components are stored. The copy of High Level Assembler kept in the
distribution libraries can be kept at a different service level than that in the
target libraries. SMP/E can reconstruct the target libraries in whole or in part
from the distribution libraries. Therefore, service or user modifications can be
removed from the run-time copy of High Level Assembler
In many cases, the same system can be used as both a driving system and a target
system. However, you may want to set up a clone of your system to use as a target
system by making a separate IPL-able copy of the running system. The clone
should include copies of all system libraries that SMP/E updates, copies of the
SMP/E CSI data sets that describe the system libraries, and your PARMLIB and
PROCLIB.
Some cases where two systems should be used include the following:
v When installing a new level of a product that is already installed, the new
product will delete the old one. By installing onto a separate target system, you
can test the new product while still keeping the old one in production.
v When installing a product that shares libraries or load modules with other
products, the installation can disrupt the other products. Installing onto a test
system or clone will allow you to assess these impacts without disrupting your
production system.
High Level Assembler runs on z/OS with the required licensed programs listed in
Table 3.
You should install the minimum release listed or any subsequent release for all
required licensed programs your site needs.
| Table 3. Required programs
| Required Licensed Program Minimum Version Supported
| z/OS Version 1 Release 7
| SMP/E SMP/E for z/OS V3.4.0
|
Check with the IBM Support Center for any PTFs you might need to apply.
Table 4 lists the total space required for each type of library. The values are for a
3390 DASD.
Table 4. Total DASD space required by High Level Assembler
Library Type Total Space Required
| Target 72 Tracks
| Distribution 76 Tracks
Table 5 gives an estimate of the storage requirements for SMP/E work data sets,
for High Level Assembler.
Table 5. Storage requirements for SMP/E work data sets
R L
T E R No. No.
Y O C E of of
Library P R F C 3390 DIR
DDNAME E G M L Trks Blks
SMPWRK1 S PDS FB 80 30 80
SMPWRK2 S PDS FB 80 30 80
| SMPWRK3 S PDS FB 80 180 80
SMPWRK4 S PDS FB 80 30 80
SMPWRK6 S PDS FB 80 30 80
SYSUT1 U SEQ -- -- 30 0
SYSUT2 U SEQ -- -- 30 0
SYSUT3 U SEQ -- -- 30 0
SYSUT4 U SEQ -- -- 30 0
Notes:
1. The data set sizes specified contain 15% extra space. You may wish to revise
these numbers based on your plans for adding additional function or service.
2. IBM recommends use of system determined blocksizes for efficient DASD
utilization for all non-RECFM U data sets. For RECFM U data sets, IBM
recommends a blocksize of 32760, which is the most efficient from a
performance and DASD utilization perspective.
If you choose not to use system determined blocksizes, use the blocksizes and
numbers of blocks specified to allocate the data sets. Data sets can be reblocked
to a larger size. Note that the maximum allowable blocksize will depend on the
type of DASD on which the dataset will reside.
3. Abbreviations used for the data set type are:
U Unique data set used by only the FMIDs listed. In order to determine
the correct storage needed for this data set, this table provides all
required information; no other tables (or program directories) need to
be referenced for the data set size.
S Shared data set used by more than the FMIDs listed. In order to
determine the correct storage needed for this data set, the storage size
given in this table needs to be added to other tables (perhaps in other
program directories). If the data set already exists, it must have enough
free space to accommodate the storage size given in this table.
If you currently have a previous release of this product installed in these
libraries, the installation of this release will delete the old one and reclaim the
space used by the old release and any service that had been installed. You can
determine whether or not these libraries have enough space by deleting the old
release with a dummy function, compressing the libraries, and comparing the
space requirements with the free space in the libraries.
For more information on the names and sizes of the required data sets, refer to
Table 7 and Table 8.
| Table 6 provides an estimate of the storage needed in the SMP/E data sets for
| High Level Assembler. The estimates must be added to those of any other
| programs and service being installed to determine the total additional storage
| requirements.
Table 6. Storage requirements for SMP/E data sets
R L
T E R No. No.
Y O C E of of
Library P R F C 3390 DIR
DDNAME E G M L Trks Blks
SMPMTS S PDS FB 80 30 5
SMPPTS S PDS FB 80 30 5
SMPSCDS S PDS FB 80 30 5
SMPSTS S PDS FB 80 30 5
| Table 7 and Table 8 list the target and distribution libraries and their attributes
| required to install High Level Assembler. The storage requirements of High Level
| Assembler must be added to the storage required by other programs having data
| in the same library.
Table 7. Storage requirements for High Level Assembler target libraries
R L
T E R No. No.
Y O C E of of
Library Member Target P R F C 3390 DIR
DDNAME Type Volume E G M L Trks Blks
SASMMOD1 LMOD ANY U PDS U 0 16 3
| SASMSAM1 SAMPLES ANY U PDS FB 80 36 2
| PROCS
| SASMMAC1 MACRO ANY U PDS FB 80 20 1
Table 8. Storage requirements for High Level Assembler distribution libraries (continued)
R L
T E R No. No.
Y O C E of of
Library P R F C 3390 DIR
DDNAME E G M L Trks Blks
| AASMMAC1 U PDS FB 80 20 1
You can access the supplied sample JCL after the SMP/E RECEIVE step in the
install process. Alternatively, you can copy the sample JCL directly from the
installation tape into a temporary library. If you use this method, use the data set
requirements shown in Table 9.
Table 9. Storage requirements for temporary library
R L
T E R No. No.
Y O C E of of
Data Set P R F C 3390 DIR
Name E G M L Trks Blks
JCL U SEQ FB 80 30 4
FMIDs deleted
| Installing High Level Assembler may result in the deletion of other FMIDs. To see
| what FMIDs will be deleted, examine the ++VER statement in the product’s
| SMPMCS.
| If you do not wish to delete these FMIDs at this time, you must install High Level
| Assembler into separate SMP/E target and distribution zones.
| Note: These FMIDs will not automatically be deleted from the Global Zone.
| Consult the SMP/E manuals for instructions on how to do this.
| 4. Use the supplied sample jobs or use SMP/E dialogs to RECEIVE, APPLY and
| ACCEPT. See Chapter 3, “Installing High Level Assembler on z/OS,” on page
| 19.
Program support
This section describes the IBM support available for High Level Assembler.
Program services
Contact your IBM representative for specific information about available program
services.
If you obtained High Level Assembler on a product tape, or if the CBPDO is more
than two weeks old when you install it, you should contact the IBM Support
Center or use S/390® SoftwareXcel to obtain the current “PSP Bucket”.
PSP Buckets are identified by UPGRADEs, which specify product levels, and
SUBSETs, which specify the FMIDs for a product level. The UPGRADE and
SUBSET values for High Level Assembler for z/OS are:
Table 10. PSP upgrade and subset ID
UPGRADE SUBSET Description
HLASM160 HMQ4160 HLASM MVS
Table 11 identifies the component IDs (COMPID) for High Level Assembler for
z/OS.
Table 11. Component IDs
RETAIN®
FMID COMPID Component Name Release
HMQ4160 569623400 MVS HIGH LEVEL ASM 160
Make sure that High Level Assembler serves the needs of the application
programmers at your site. Confer with them while you evaluate the customization
options for High Level Assembler, particularly those concerning High Level
Assembler options that are also available to the application programmers. This
ensures that the modifications you make best support the application programs
being developed at your site.
The information in this chapter helps you plan your customization. See Chapter 4,
“Customizing High Level Assembler on z/OS,” on page 27 for the actual
customization procedure.
Why do it
The High Level Assembler options and DDNAMES should be reviewed to assess
the required defaults for your site. Worksheets are provided for planning purposes.
In order to help you customize your exits, sample source is provided, as follows:
ASMAXINV
| Sample exit to read variable length records
ASMAXPRT
Sample listing exit
Note: If User Exits from a previous release are being used, these exits may need to
be reassembled for this release.
Why do it
Providing procedures that can assemble, link-edit, or link-and-go allow the user to
simply provide their assembler source, and select the appropriate procedure and
run their job. It minimizes the amount of user JCL required and provides a
standard convention to process assembler source.
These procedures provide the user with standard JCL that is tailored to your
installation requirements. The user does not need to keep track of JCL changes.
In general, installation conventions stipulate the options that you include in the
PARM, UNIT, and SPACE parameters of the cataloged procedures.
| If High Level Assembler Release 1 has previously been used, users might have
| become accustomed to using the old procedures names of HLASMC, HLASMCG,
| HLASMCLG and HLASMCL. In order to make the transition from this previous
| release, in the ASM.SASMSAM1 library, these old procedure names appear as
| aliases for the sample supplied procedures, as shown in Table 16.
Table 16. New and old procedure names
New Name Old Name
ASMAC HLASMC
ASMACL HLASMCL
ASMACLG HLASMCLG
ASMACG HLASMCG
Example
Figure 1 on page 16 shows JCL that invokes a sample procedure to assemble a
small assembler program.
Why do it
You might want to make some load modules resident in a link pack area in order
to minimize the search path length when High Level Assembler is run.
All assembler load modules are reentrant and eligible for placement in the link
pack area (LPA) and the modifiable link pack area (MLPA). The LPA and the
MLPA are areas of storage that are shared by all users. By placing modules in these
areas, you reduce the amount of storage needed in the user region.
If you prefer to move some or all of the load modules, move them with a
USERMOD that has a ++MOVE statement.
Notes:
v If you want to install High Level Assembler into its own SMP/E
environment, consult the SMP/E manuals for instructions on creating
and initializing the SMPCSI and the SMP/E control data sets.
v Sample jobs have been provided to help perform some or all of the
installation tasks. The SMP/E jobs assume that all DDDEF entries
required for SMP/E execution have been defined in the appropriate
zones.
v The SMP/E dialogs may be used instead of the sample jobs to
accomplish the SMP/E installation steps.
Overview of installation
You install this release of High Level Assembler using the SMP/E RECEIVE,
APPLY, and ACCEPT commands. You can do this by using SMP/E dialogs or
running batch jobs.
If using a CBPDO
If you obtained High Level Assembler as part of a CBPDO, you can use the
RCVPDO job found in the CBPDO RIMLIB data set to RECEIVE the High Level
Assembler FMID as well as any service, HOLDDATA, or preventive service
planning (PSP) information included on the CBPDO tape. For more information,
refer to the documentation included with the CBPDO.
Installation checklist
Table 18 lists the steps and associated jobs to install High Level Assembler. The
remaining sections in this chapter describe each step. You can use Table 18 as a
checklist.
Table 18. Summary of steps for installing High Level Assembler
Installation
Step Description Job Page
_1 SMP/E Considerations for Installing High Level Assembler 20
_2 Copy the Sample JCL from the Product Tape ASMWCOPY 21
_3 Set up the ISPF Editor Macro (optional) ASMWEDIT 21
_4 Allocate and Initialize the SMP/E Data Sets (optional) ASMWSMPE 22
_5 Perform SMP/E Receive ASMWRECV 22
_6 Allocate Target and Distribution Libraries ASMWALOC 23
Table 18. Summary of steps for installing High Level Assembler (continued)
Installation
Step Description Job Page
_7 Create DDDEF Entries ASMWDDEF 23
_8 Perform SMP/E Apply ASMWAPLY 23
_9 Run the Installation Verification Program ASMWIVP 24
_10 Perform SMP/E Accept ASMWACPT 24
If you have previously installed an earlier release of High Level Assembler, note
that the names of the sample jobs have changed from previous releases.
SMP/E environment
All SMP/E installation jobs provided assume that all necessary DD statements for
the execution of SMP/E are defined using DDDEFs.
Sample jobs are provided on the distribution tape to help you install High Level
Assembler. After the RECEIVE step has been completed, the sample jobs can be
found in SMPTLIB: IBM.HMQ4160.F1. Make a copy of these jobs in your own
library and modify them to use during the installation of High Level Assembler.
The sample jobs are:
ASMWSMPE
Sample job to define an SMP/E environment
ASMWRECV
Sample RECEIVE job
ASMWALOC
Sample job to allocate target and distribution libraries
ASMWDDEF
| Sample job to define High Level Assembler DDDEFs
ASMWAPLY
Sample APPLY job
ASMWIVP
Sample install verification job
ASMWACPT
Sample ACCEPT job
ASMWEDIT
Sample ISPF edit macro
| In the sample SMP/E jobs provided, the name of the SMP/E CSI is #globalcsi.
| The global zone name in the SMP/E CSI is GLOBAL. The distribution zone name is
| #dzone. The target zone name is #tzone. The sample jobs should be updated to
| reflect the CSI and zone names used at your site. Refer to the instructions in the
| sample jobs for other changes you may need to make.
The following sample JCL will copy the High Level Assembler jobs from the tape.
Add a job card and modify the parameters in boldface to uppercase values to meet
your site’s requirements before submitting.
| In this sample, #tape is the unit value matching the product cartridge, #hlq.JCL is
| the name of the data set where the sample jobs will reside, #dvol is the volume
| serial of the DASD device where the data set will reside, and #unit is the DASD
| unit type of the volume.
This macro lets you substitute correct values for all of the required variables in
those jobs, instead of making the changes repeatedly in each job.
Edit the macro ASMWEDIT and provide the correct values. Then copy it to any
data set in your TSO logon procedure SYSEXEC concatenation. Consult the
instructions in the macro for more information.
If you install into existing SMP/E data sets, make sure that you have enough
space.
If you plan to install into an existing zone, the cluster should have already been
allocated and primed. You can go on to the next step to perform an SMP/E
RECEIVE.
To install into a new zone, use the ASMWSMPE sample job to allocate and prime
the SMPCSI. Consult the instructions in the sample job for more information.
| Expected Return Codes and Messages: This job should issue a return code of zero
| and no error messages.
Expected Return Codes and Messages: This should issue a return code of zero and
no error messages.
Note: If you obtained High Level Assembler as part of a CBPDO, you can use the
RCVPDO job found in the CBPDO RIMLIB data set to RECEIVE the High
Level Assembler FMID as well as any service, HOLDDATA, or preventive
service planning (PSP) information included on the CBPDO tape. For more
information, refer to the documentation included with the CBPDO.
Expected Return Codes and Messages: This job should issue a return code of zero
and no error messages.
Expected Return Codes and Messages: This job should issue a return code of zero
and no error messages.
Expected Return Codes and Messages: This job should issue a return code of zero
and no error messages.
After this job, the SYSLIB concatenation needs to be updated in the target and
distribution zones:
v Add the SASMMAC1, SASMSAM1, and AASMMAC1 libraries to the SYSLIB
concatenation in the target zone.
v Add the AASMMAC1 library to the SYSLIB concatenation in the distribution
zone.
| To receive the full benefit of the SMP/E Causer SYSMOD Summary Report, do not
| bypass the following on the APPLY CHECK: PRE, ID, REQ, and IFREQ. This is
| because the SMP/E root cause analysis identifies the cause only of ERRORS and
| not of WARNINGS (SYSMODs that are bypassed are treated as warnings, not
| errors, by SMP/E).
You will be asked to supply some of the information above as you progress
through subsequent command generation panels for APPLY.
2. Perform an APPLY CHECK before the APPLY. Examine the output from the
APPLY CHECK run.
Expected Return Codes and Messages: This should issue a return code of zero
and no error messages.
3. If it shows no conflict, rerun the APPLY with CHECK=NO.
Expected Return Codes and Messages: This should issue a return code of zero
and no error messages.
Note: The GROUPEXTEND operand indicates that SMP/E accept all requisite
SYSMODs. The requisite SYSMODS might be applicable to other
functions.
Expected Return Codes and Messages: This job should issue a return code of
zero and no error messages.
Edit and submit sample job ASMWIVP. Consult the instructions in the sample job
for more information.
Expected Return Codes and Messages: This job should issue a return code of zero
and no error messages.
| To receive the full benefit of the SMP/E Causer SYSMOD Summary Report, do not
| bypass the following on the ACCEPT CHECK: PRE, ID, REQ, and IFREQ. This is
| because the SMP/E root cause analysis identifies the cause only of ERRORS and
| not of WARNINGS (SYSMODs that are bypassed are treated as warnings, not
| errors, by SMP/E).
Note: The GROUPEXTEND operand indicates that SMP/E accept all requisite
SYSMODs. The requisite SYSMODS might be applicable to other
functions.
Expected Return Codes and Messages: This job should issue a return code of
zero and no error messages.
SMP/E considerations
The following SMP/E information should be considered prior to commencing any
customizing task.
1. Install High Level Assembler as described in Chapter 3, “Installing High Level
Assembler on z/OS,” on page 19.
2. Apply the USERMODs to the target libraries, but do not accept them into the
distribution libraries.
3. Use SMP/E RESTORE to remove a USERMOD before you apply service to the
modules it changes.
4. Reapply the USERMOD after successful installation of High Level Assembler
service.
5. Sample jobs are provided to assist you in customizing High Level Assembler.
The sample jobs can be found in the ASM.SASMSAM1 library. The sample jobs
are:
ASMAASM
Sample SMP/E job to make HLASM the default Assembler utility
ASMAOPTS
A sample SMP/E USERMOD job to change default options
ASMASTD
Sample job to copy the HLASM procedures to your PROCLIB
ASMAIEV
Sample SMP/E USERMOD job to create IEV90 alias
In the sample SMP/E jobs provided, the name of the SMP/E CSI is #globalcsi.
The global zone name in the SMP/E CSI is GLOBAL. The distribution zone name
is #dzone. The target zone name is #tzone. The sample jobs should be updated
to reflect the CSI and zone names used at your installation. Refer to the
instructions in the sample jobs for other changes you may need to make.
Customization checklist
Table 20 lists the steps and associated jobs to customize High Level Assembler. The
remaining sections in this chapter describe each step. You can use Table 20 as a
checklist.
Table 20. Summary of steps for customizing High Level Assembler
Customizing
Step Description Job Page
| __ 1 Change the SMP/E assembler utility defaults. ASMAASM 28
__ 2 Customize user exits. _ 30
Table 20. Summary of steps for customizing High Level Assembler (continued)
Customizing
Step Description Job Page
__ 3 Change default options and DDNAMES. ASMAOPTS 29
__ 4 Customize the High Level Assembler Procedures. ASMASTD 31
__ 5 Place High Level Assembler into link pack area. _ 34
__ 6 Assembler H Migration (optional). ASMAIEV 34
Customization steps
Depending on your requirements not all of the following steps need to be
performed. For example, if you do not wish to change the supplied default options
and DDNAMES, you can bypass that step.
Depending on how your SMP/E system is configured, you must specify IEV90 or
ASMA90 as the name of the program to be called in the SMP/E Utility entry.
You can also consider changing other existing OPTIONS entries. For example, you
can alter the ASM subentry of each OPTIONS entry to point to the new UTILITY
entry of High Level Assembler.
Edit and submit job ASMAASM to change the OPTIONS entry. Consult the
instructions in the sample job for more information. The sample job is shown in
Figure 3 on page 29.
ASMAXADC
Sample exit to control ADATA record output
If you have installed the High Level Assembler load modules into your own
library, you will need to add a STEPLIB DD statement for your library, to the
procedures.
You may decide to move the High Level Assembler procedures to your system
procedure library. A sample job, ASMASTD is supplied to help you do this.
Edit and submit the job ASMASTD to move the procedures. Consult the
instructions in the sample job for information about changes you may need to
make. Figure 5 on page 32 shows this sample job.
This job moves the procedures into SYS1.PROCLIB; if necessary change this to
match your system procedure library.
The names of the supplied procedures changed after High Level Assembler Release
1. Therefore the original Release 1 procedures are supplied as aliases in the target
library ASM.SASMSAM1. If you also want to move the aliases to SYS1.PROCLIB
or other JES defined procedure libraries then include another SELECT statement in
the ASMASTD job. For example:
SELECT MEMBER=HLASMC,HLASMCG,HLASMCLG,HLASMCL
In some circumstances you may receive the following message when running these
procedures:
IEF686I DDNAME REFERRED TO ON DDNAME KEYWORD
IN PRIOR STEP WAS NOT RESOLVED
This warning message indicates that there were no linkage editor control
statements. You would supply these statements following a SYSIN DDNAME
statement. If you did not supply any linkage-editor control statements, this
message can be ignored.
Figure 6, Figure 7 on page 33, Figure 8 on page 33, and Figure 9 on page 34 show
these procedures as shipped with High Level Assembler.
Supplied procedures
The following figures display the contents of each supplied procedure.
//ASMAC PROC
//*
//C EXEC PGM=ASMA90
//SYSLIB DD DSN=SYS1.MACLIB,DISP=SHR
//SYSUT1 DD DSN=&&SYSUT1,SPACE=(4096,(120,120),,,ROUND),
// UNIT=SYSALLDA,DCB=BUFNO=1
//SYSPRINT DD SYSOUT=*
//SYSLIN DD DSN=&&OBJ,SPACE=(3040,(40,40),,,ROUND),
// UNIT=SYSALLDA,DISP=(MOD,PASS),
// DCB=(BLKSIZE=3040,LRECL=80,RECFM=FB,BUFNO=1)
//ASMACL PROC
//*
//C EXEC PGM=ASMA90
//SYSLIB DD DSN=SYS1.MACLIB,DISP=SHR
//SYSUT1 DD DSN=&&SYSUT1,SPACE=(4096,(120,120),,,ROUND),
// UNIT=SYSALLDA,DCB=BUFNO=1
//SYSPRINT DD SYSOUT=*
//SYSLIN DD DSN=&&OBJ,SPACE=(3040,(40,40),,,ROUND),
// UNIT=SYSALLDA,DISP=(MOD,PASS),
// DCB=(BLKSIZE=3040,LRECL=80,RECFM=FB,BUFNO=1)
//L EXEC PGM=HEWL,PARM=’MAP,LET,LIST,NCAL’,COND=(8,LT,C)
//SYSLIN DD DSN=&&OBJ,DISP=(OLD,DELETE)
// DD DDNAME=SYSIN
//SYSLMOD DD DISP=(,PASS),UNIT=SYSALLDA,SPACE=(CYL,(1,1,1)),
// DSN=&&GOSET(GO)
//SYSUT1 DD DSN=&&SYSUT1,SPACE=(1024,(120,120),,,ROUND),
// UNIT=SYSALLDA,DCB=BUFNO=1
//SYSPRINT DD SYSOUT=*
//ASMACLG PROC
//*
//C EXEC PGM=ASMA90
//SYSLIB DD DSN=SYS1.MACLIB,DISP=SHR
//SYSUT1 DD DSN=&&SYSUT1,SPACE=(4096,(120,120),,,ROUND),
// UNIT=SYSALLDA,DCB=BUFNO=1
//SYSPRINT DD SYSOUT=*
//SYSLIN DD DSN=&&OBJ,SPACE=(3040,(40,40),,,ROUND),
// UNIT=SYSALLDA,DISP=(MOD,PASS),
// DCB=(BLKSIZE=3040,LRECL=80,RECFM=FB,BUFNO=1)
//L EXEC PGM=HEWL,PARM=’MAP,LET,LIST’,COND=(8,LT,C)
//SYSLIN DD DSN=&&OBJ,DISP=(OLD,DELETE)
// DD DDNAME=SYSIN
//SYSLMOD DD DISP=(,PASS),UNIT=SYSALLDA,SPACE=(CYL,(1,1,1)),
// DSN=&&GOSET(GO)
//SYSUT1 DD DSN=&&SYSUT1,SPACE=(1024,(120,120),,,ROUND),
// UNIT=SYSALLDA,DCB=BUFNO=1
//SYSPRINT DD SYSOUT=*
//G EXEC PGM=*.L.SYSLMOD,COND=((8,LT,C),(8,LT,L))
//ASMACG PROC
//*
//C EXEC PGM=ASMA90
//SYSLIB DD DSN=SYS1.MACLIB,DISP=SHR
//SYSUT1 DD DSN=&&SYSUT1,SPACE=(4096,(120,120),,,ROUND),
// UNIT=SYSALLDA,DCB=BUFNO=1
//SYSPRINT DD SYSOUT=*
//SYSLIN DD DSN=&&OBJ,SPACE=(3040,(40,40),,,ROUND),
// UNIT=SYSALLDA,DISP=(MOD,PASS),
// DCB=(BLKSIZE=3040,LRECL=80,RECFM=FB,BUFNO=1)
//G EXEC PGM=LOADER,PARM=’MAP,LET,PRINT’,COND=(8,LT,C)
//SYSLIN DD DSN=&&OBJ,DISP=(OLD,DELETE)
// DD DDNAME=SYSIN
//SYSLOUT DD SYSOUT=*
| These modules are installed into the target library, ASM.SASMMOD1. The modules
| may be copied to a linklist library, an LPA library or a private library depending
| upon your requirements.
Edit and submit job ASMAIEV to create an alias of ASMA90. Consult the
instructions in the sample job for information about changes you may need to
make. ASMAIEV is shown in Figure 10 on page 35.
You might also receive a list of pre-requisite APARs or PTFs, which should have
been applied to your system before applying the current service. These prerequisite
APARs or PTFs, might relate to High Level Assembler or any other licensed
product you have installed, including z/OS.
To help you understand the service process, the following overview familiarizes
you with applying service for High Level Assembler.
Do not apply the documented USERMODs until PTF service has been ACCEPTed.
This is to avoid regressing service to the affected parts.
In the event of a serious problem, you can restore the backup copy of High Level
Assembler.
Edit and submit job ASMADEL0 to delete High Level Assembler. Consult the
instructions in the sample job for more information.
Expected Return Codes and Messages: You receive message GIM39701W because the
dummy function SYSMOD has no elements. The SMP/E RECEIVE command
returns a return code of 4. If any USERMODs have been applied then the SMP/E
APPLY command issues a GIM44502W message indicating USERMOD changes will
be lost with a return code of 4. Both these warning messages can be ignored.
The target and distribution libraries can now be deleted. They are shown in Table 7
on page 7 and Table 8 on page 7.
| If you cannot find an answer, report any difficulties with this product to your IBM
| Support Center. If an APAR is required, the Support Center will provide the
| address to which any needed documentation can be sent.
| To assist with reporting any difficulties refer to the diagnostic process as shown in
| Chapter 20, “Isolating the problem,” on page 135.
Table 22 identifies the component ID (COMP ID) for High Level Assembler for
z/OS.
Table 22. Component IDs
FMID COMP ID Component Name REL
HMQ4160 569623400 MVS HIGH LEVEL ASM 160
Distribution media
| High Level Assembler is available through the z/VM SDO on 3590 and 3592 tape
| cartridge. You can also receive this program electronically by ordering it through
| the z/VM SDO using IBM ShopzSeries. For more information about IBM
| ShopzSeries go to
| www.ibm.com/software/ShopzSeries.
| The tape cartridge or electronic envelope contains all the programs and data
| needed for installation.
Basic material
| Table 23 describes the cartridge. Table 24 describes the file content of the program
| cartridge.
| Table 23. Basic material: program cartridge
| Feature Physical
| Medium Number Volume External Label Identification VOLSER
| 3480 cart. 5872 1 HLASM V1R6 for VM unlabeled
|
Table 24. Program cartridge: file content
File Content
1 Tape Header
2 Tape Header
3 Product Header
4 Product Memo
5 Service Apply Lists
6 PTFPARTS
7 High Level Assembler Service
8 High Level Assembler Service summary
9 High Level Assembler Base code
10 High Level Assembler Sample and customization files
11 High Level Assembler Executable product code
Optional material
There are no optional materials for High Level Assembler.
If you received this product as part of a z/VM System Delivery Offering, PTFs that
have not been incorporated into this release are provided on the tape. A separate
cumulative service tape is not provided.
VMSES/E considerations
This section describes items that should be considered before you install High
Level Assembler
v VMSES/E is required to install and service this product.
| v The VMSES/E system-level software inventory and other dependent files reside
| on the MAINT 51D disk. If multiple users install and maintain licensed products
| on your system there might be a problem getting the necessary write access to
| MAINT’s 51D disk. If you find that there is contention for write access to the
| 51D disk, you can eliminate it by converting the software inventory from
| minidisk to the Shared File System (SFS). See z/VM: VMSES/E Introduction and
| Reference for information on how to make this change.
| v You no longer install and service High Level Assembler strictly using the
| MAINT user ID, but using a new user ID P696234J. IBM recommends that you
| use this userid, however, you can change the userid name if you wish. If you
| change this name, you must create a PPF override. Generally, this section of this
| installation and customization guide assumes that you have used the
| IBM-recommended userid, P696234J.
| If you plan to change the userid, it might be easier to do so during Step 1,
| substep 6 on page 54, while you are installing the product.
v If you plan to install to minidisks, you should be aware that the saved segment
must be built from the installation user ID P696234J. If you want to build the
segment from a common user ID, install High Level Assembler using the SFS
system, so that the common user ID can access High Level Assembler code
when building segments.
| v P696234J is the default user ID and can be changed. If you choose to change the
| name you need to create a Product Parameter File (PPF) override to change the
| name. This can be done in Step 1, substep 6 on page 54.
| v If you choose to install High Level Assembler on a common user ID, the default
| minidisk addresses for High Level Assembler might already be defined. If any of
| the default minidisks required by High Level Assembler are already in use,
| create an override to change the minidisks for High Level Assembler so they are
| unique.
Table 25. DASD storage requirements for target minidisks
Storage
Minidisk
in Cylinders Usage
Owner (user Default SFS 4K
ID) Address DASD CYLS Blocks Default SFS Directory Name
P696234J 2B2 3390 10 1800 Contains all the base code shipped with High Level
Assembler.
VMSYS:
P696234J.HLASM.OBJECT
P696234J 2C2 3390 4 720 Contains sample files, user local modifications and user
exits for High Level Assembler.
VMSYS:
P696234J.HLASM.LOCAL
P696234J 2D2 3390 20 1800 Contains serviced files.
VMSYS:
P696234J.HLASM.DELTA
P696234J 2A6 3390 1 180 Contains AUX files and software inventory files that
represents your test service level of High Level
Assembler.
VMSYS:
P696234J.HLASM.APPLYALT
P696234J 2A2 3390 1 180 Contains AUX files and software inventory files that
represents the service level of High Level Assembler that
is currently in production.
VMSYS:
P696234J.HLASM.APPLYPROD
P696234J 29E 3390 6 1080 Test build disk. This code will be copied to a production
disk, (for example, MAINT 19E ) so the production disk
will also require this amount of free space.
VMSYS:
P696234J.HLASM.TBUILD
P696234J 191 3390 5 900 P696234J 191 minidisk.
VMSYS:P696234J
Note: Cylinder values defined in this table are based on 4K block size.
If you plan to use SFS directories, then calculate the number of 4K blocks required
from Table 25.
| v Several users can access the same physical storage, therefore use of real storage
| is minimized.
v Using saved segments decreases the input/output rate and the DASD paging
space requirements, thereby improving the performance of the virtual machine.
v Saved segments attached to a virtual machine can reside above its defined
virtual storage.
v In the install process a physical saved segment is defined and its logical saved
segment loaded.
| In “Step 5: Define and build High Level Assembler saved segment (optional)” on
| page 60, the process of defining and building a saved segment is shown in detail.
| If you are unfamiliar with this process, refer to z/VM: Saved Segments Planning and
| Administration.
Program support
This section describes the IBM support available for High Level Assembler.
Program services
Contact your IBM representative for specific information about available program
services.
PSP Buckets are identified by UPGRADEs, which specify product levels, and
SUBSETs, which specify the FMIDs for a product level. The UPGRADE and
SUBSET values for High Level Assembler for z/VM are:
Table 26. PSP upgrade and subset ID
UPGRADE SUBSET Description
HLASM160 HLASMVM360 HLASM VM
| Table 27 identifies the component ID (COMPID) for High Level Assembler for
| z/VM.
Table 27. Component IDs
RETAIN
COMPID Component Name Release
569623400 VM HIGH LEVEL ASM 360
Make sure that High Level Assembler serves the needs of the application
programmers at your site. Confer with them while you evaluate the customization
options for High Level Assembler, particularly those concerning High Level
Assembler options that are also available to the application programmers. Doing so
will ensure that the modifications you make best support the application programs
being developed at your site.
The information in this chapter helps you plan your customization. See Chapter 9,
“Customizing High Level Assembler on z/VM,” on page 71 for the actual
customization procedure.
Spanish
Diagnostic messages in Spanish and listing headings printed in mixed case
English.
Why do it
The High Level Assembler options and DDNAMES should be reviewed to assess
the required defaults for your site. Worksheets are provided for planning purposes.
In order to help you customize your exits, sample source is provided, as follows:
ASMAXINV
| Sample exit to read variable length records
ASMAXPRT
Sample listing exit
Note: If User Exits from a previous release are being used, these exits may need to
be reassembled for this release.
Overview of installation
You install this release of High Level Assembler by using VMSES/E commands.
Command Explanation
link MAINT 5e5 5e5 rr Commands to access VMSES/E code.
access 5e5 b
Command Explanation
link MAINT 51d 51d mr Commands to acquire write access to
access 51d d software inventory disk.
| If another user already has the software inventory disk linked in write mode
| (R/W), you are not allowed to link to that disk in write mode. The other user
| must relink to the software inventory disk in read-only mode, then you can try
| the above procedure again.
The VMSES/E system-level software inventory and other dependent files reside
on the MAINT 51D disk.
You cannot proceed with the installation procedure until you have write access
to the software inventory disk.
5. Load the High Level Assembler product control files onto the software
inventory disk.
If you are installing from tape:
Command
vmfins install info (nomemo
Command
vmfins install info (nomemo env filename
Command
vmfins install ppf P696234J {HLASM|HLASMSFS} (plan nomemo
Command
vmfins install ppf P696234J {HLASM|HLASMSFS} (plan nomemo env filename
Command Explanation
vmfview install View the install message log.
| Review the install message log ($VMFINS $MSGLOG). If necessary, correct any
| problems before going on. For information about specific error messages, see
| z/VM: Other Components Messages and Codes.
In the planning chapter, you decided whether to install on minidisk or shared file
system (SFS). See “DASD storage required” on page 45 for the relevant storage
requirements.
v Use the directory entry in PLANINFO as a model for input to your system
directory.
The user directory entry resides at the end of the PLANINFO file, at the end of
the resource requirements section.
2. Add the P696234J directory to the system directory.
Change the password for P696234J from xxxxx to a valid password in
accordance with the security guidelines at your site.
Minidisk installers: Go to “If installing on a minidisk.”
If installing on a minidisk
After obtaining the user directory from the P696234J PLANINFO file:
v Add the MDISK statements to the directory entry for P696234J.
v Use Table 25 on page 46 in Chapter 6, “Planning for installing High Level
Assembler on z/VM” to obtain the minidisk requirements.
v Place the new directory online using VM/Directory Maintenance (DIRMAINT)
or an equivalent CP directory maintenance method.
Command Explanation
Options:
blocks The number of 4K blocks that you calculated previously.
Command Explanation
query filepool status vmsys: Command to get a list of directories in the
filepool and the number of free blocks. VMSYS
is the default filepool ID.
If the number of free blocks is smaller than the number of blocks you need to
install High Level Assembler (which you calculated in step 3 on page 56,
above), you need to add space to the filepool.
For instructions on adding space to a filepool, see z/VM: CMS File Pool
Planning, Administration, and Operation.
6. Create the necessary vmsys:P696234J.HLASM subdirectories used in the P696234J
PLANINFO file.
Command Explanation
set filepool vmsys: Commands to create subdirectories.
create directory dirid
Options:
dirid The name of the SFS directory you are creating.
Examples of the command above include:
create directory vmsys:P696234J.HLASM
create
. directory vmsys:P696234J.HLASM.object
.
.
Command Explanation
Options:
read Gives the user read authority on a file or directory.
newread
Indicates that users automatically receive read authority for any new
files added to the directory.
| For more information about the GRANT AUTHORITY command, see z/VM:
| CMS Commands and Utilities Reference.
Command Explanation
profile Command to execute profile.
5. Verify that you have write access to the software inventory disk.
Command Explanation
q 51d Command to query access status of the
software inventory disk.
| If the disk is not in read write mode (R/W) then see Step 1, substep 4 on page
| 54.
6. Make the installation media available:
| If you have received High Level Assembler as a product tape, then attach the
| tape to the user ID at virtual address 181. Using virtual address 181 is required
| by the VMFINS EXEC.
If you have received High Level Assembler as an Envelope file, ensure the
Envelope file exists on the A-disk.
7. Install High Level Assembler product from tape or from the Envelope file.
You might be prompted for additional information during VMFINS INSTALL
processing, depending on your installation environment. If you are unsure how
to respond to a prompt, refer to the appropriate sections in z/VM: VMSES/E
Introduction and Reference.
If you are installing from tape:
Command
Command
You are prompted to create an override for High Level Assembler when this
command executes. Refer to the message text for your response.
Options:
filename
The name of your Envelope filename, for example, P696234J.
nomemo
| Loads the memo from the tape but does not issue a prompt to send it
| to the system printer. Specify the memo option if you want to be
| prompted to print the memo.
nolink
Indicates that VMFINS is not to link to the appropriate minidisks, only
access them if they are not already accessed.
Notes:
a. You can override:
v The name of the product parameter file
v The default user IDs
v Minidisk/directory definitions
| b. If you change the PPF name, a default user ID, or other parameters via a
| PPF override, you must use your changed values instead of those indicated
| (when appropriate), throughout the rest of the installation instructions, as
| well as the instructions for servicing High Level Assembler. For example,
| you must specify your PPF override file name instead of P696234J for
| certain VMSES/E commands.
| c. If you are not familiar with creating PPF overrides using VMFINS, refer to
| z/VM: VMSES/E Introduction and Reference before you continue. Also see
| Appendix D, “Create Product Parameter File (PPF) override (z/VM),” on
| page 211.
8. Review the install message log ($VMFINS $MSGLOG).
Command Explanation
vmfview install View the install message log.
Correct any problems before you go on. For information about specific error
messages, see z/VM: Other Components Messages and Codes.
When you issue the command to update the build status table for High Level
Assembler, VMSES/E also executes the verification EXEC, V5696234.
1. Update Build Status Table and run verification EXEC.
Command Explanation
Command Explanation
Options:
serviced
Identifies build requirements and builds those objects flagged as
serviced in the service-level build status table.
nolink
| Indicates that VMFINS is not to link to the appropriate minidisks, only
| to access them if they are not already accessed.
A verification test is run automatically to ensure that High Level Assembler
was installed successfully. Figure 11 shows sample screen output from the
verification EXEC.
..
.
VMFINB2173I Executing verification exec V5696234
****************************************************
*** Verification assembly completed successfully
***
*****************************************************
VMFINS2760I VMFINS processing completed successfully
Command Explanation
vmfview install View the install message log.
Correct any problems before you go on. For information about specific error
messages, see z/VM: Other Components Messages and Codes.
| For more information on using VMSES/E for saved segments, see z/VM: Saved
| Segments Planning and Administration. Also see the SEGGEN command in z/VM:
| CMS Commands and Utilities Reference.
Defining and building the High Level Assembler saved segment should be
performed from the installation user ID. If you move any segments that are
currently defined on your system, you must ensure that they are rebuilt from the
user ID that maintains them.
1. Logon to the installation user ID P696234J.
2. Establish read access to VMSES/E.
Command Explanation
link MAINT 5e5 5e5 rr Commands to access VMSES/E.
access 5e5 b
Command Explanation
link MAINT 51d 51d mr Commands to access software inventory files.
access 51d d
| If another user already has the software inventory disk linked in write mode
| (R/W), you are not allowed to link to that disk in write mode. The other user
| must relink to the software inventory disk in read-only mode, then you can
| try the above procedure again.
The MAINT 51D disk is where the VMSES/E system-level software inventory
and other dependent files reside.
You cannot proceed with the installation procedure until you have write
access to the software inventory disk.
4. Add High Level Assembler segment object definitions to the SEGBLIST
EXC00000 build list.
All the modules that are to reside in the logical saved segment have an
RMODE=ANY and a AMODE=31. Therefore, the physical saved segment that
is about to be defined can reside above 16MB.
Command Explanation
vmfsgmap segbld esasegs segblist This command displays a panel for making
segment updates.
OBJNAME....: ????????
DEFPARMS...:
SPACE......:
TYPE.......: SEG
OBJDESC....:
OBJINFO....:
GT_16MB....: NO
DISKS......:
SEGREQ.....:
PRODID.....:
BLDPARMS...: UNKNOWN
6. Obtain the High Level Assembler segment definitions from the PRODPART
file. Enter the following highlighted values into the ’Add Segment Definition
Panel’.
Command Explanation
OBJNAME....: ASMAPSEG
PRODID.....: P696234J {HLASM|HLASMSFS}
Use HLASM for building a segment from a
minidisk.
See Figure 14 for the refreshed Add Segment definition panel that is
displayed.
If you have created a PPF override file then replace the PPF name on the
BLDPARMS. In this example, replace P696234J with your PPF override name.
OBJNAME....: ASMAPSEG
DEFPARMS...: 920-9F0 SR
SPACE......:
TYPE.......: PSEG
OBJDESC....: SEGMENT DEFINITION FOR HLASM R5
OBJINFO....:
GT_16MB....: YES
DISKS......:
SEGREQ.....:
PRODID.....: P696234J HLASM
BLDPARMS...: PPF(P696234J HLASM ASMBLSEG)
Figure 14. Add segment definition panel showing the new segment
Command Explanation
F5 F5 returns you to the Segment Map panel.
See Figure 15 on page 64 for the refreshed Segment Map panel that displays.
8. Save the new information and exit from the Segment Map panel.
Press F5 to save all changed information and exit the map panel.
9. Prepare to build the segment.
| a. Set storage.
|| Command Explanation
| def stor 24M This CP command defines the virtual
| machine storage to be greater than where the
| segment is loaded.
| Command Explanation
Command Explanation
access 5e5 b Access the VMSES/E code.
link MAINT 51d 51d mr Establish write access to the software
access 51d d inventory disk.
10. Issue VMFBLD command to build the High Level Assembler segment.
Command Explanation
vmfbld ppf segbld esasegs segblist ASMAPSEG (serviced
Options:
serviced
Identifies build requirements and builds those objects flagged as
serviced in the service-level build status table.
| 11. Update the SYSTEM SEGID file on the CMS system disk.
| The system segment identification file (SYSTEM SEGID) must reside on the
| CMS system disk (usually file mode S) and is named SYSTEM SEGID so that
| it is available to CMS at initialization time. This allows CMS to recognize the
| logical saved segment name.
| The file must also be copied to the test CMS system disk to prevent
| back-levelling during application of service.
| The following functions can only be performed by authorized user IDs.
| a. Release disk for use by MAINT user ID.
|| Command Explanation
| rel d (det Release the software inventory disk.
|
| access vmsys:P696234J.HLASM.TBUILD e
| Access High Level Assembler code in an SFS
| directory.
| access 19e f Access CMS’s Y disk.
|
3. Check if a previous High Level Assembler release is present.
If the Y disk contains a previous release, then you should remove it. Migration
is covered in substep 5 on page 68, below. High Level Assembler code can be
identified by modules with a prefix of ASMA and the HLASM module (Release
1 only).
4. Move High Level Assembler to the Y disk.
| If you have created a saved segment for High Level Assembler, then all
| modules except the following four reside in the saved segment. Therefore you
| only need to copy these four modules with the VMFCOPY command:
| v ASMAHL
| v ASMA90
| v ASMADOPT
| v ASMAINFO
If you have not created a saved segment then all the High Level Assembler
modules should be placed onto the Y disk using the VMFCOPY command.
| You should copy the ASMAMAC MACLIB, whether or not you have created a
| saved segment for High Level Assembler.
| If you have created a saved segment for High Level Assembler, use the
| following VMFCOPY commands:
Command
| If you have not created a saved segment for High Level Assembler, use the
| following VMFCOPY commands:
Command
Options:
| replace
| Causes the output file to replace an existing file with the same file
| identifier.
| olddate
| Uses the date and time on each input file as the date and time of the
| last update of each corresponding output file.
| prodid
| Causes the VMSES PARTCAT file on the 19E disk to be updated.
Command
Options:
| replace
| Causes the output file to replace an existing file with the same file
| identifier.
| olddate
| Uses the date and time on each input file as the date and time of the
| last update of each corresponding output file.
6. Move User Exits (Optional)
User exits are supplied as sample assembler source on the LOCAL disk. If these
exits are to be made generally available, they can be moved (ASMAX...
ASSEMBLE) to the MAINT 19E disk, or the LOCAL disk can be made available
to the users.
7. Resave the CMS saved system
This updates the shared Y-STAT (the saved Y disk file directory). If you have
created a saved segment, it also updates the S-STAT (the saved S disk file
directory) to reflect the updated SYSTEM SEGID file.
a. Define named saved system
This creates a named saved system for CMS.
Command Explanation
Command Explanation
ipl 190 clear parm savesys cms Resave CMS saved system to reflect the
change to the S-STAT (the saved S disk file
directory).
This completes the installation process for a disk other than the Y disk.
You use VMSES/E to create a local modification that changes the default options
and DDNAMES. You modify ASMADOPT ASSEMBLE on the LOCAL disk.
ASMAOPT
END
For example, you might make the following changes, shown in Figure 17 on page
72.
v Change the value for the XREF option to SHORT, and for the PESTOP option to
YES.
ASMADOPT CSECT
ASMAOPT XREF=SHORT,PESTOP=YES
ASMADD UT1=SYSUT2
END
| The name of the logical saved segment is ASMA93 and cannot be changed. You
| use the SEGMENT LOAD command to load the logical saved segment.
| To provide another physical saved segment for testing purposes, follow the
| instructions in “Step 5: Define and build High Level Assembler saved segment
| (optional)” on page 60 with the following changes:
| 1. Change the name of the physical saved segment on the ’Add Segment
| Definition’ panel within the VMFSGMAP tool as shown in Figure 14 on page
| 63.
| 2. Create a PSEG file. This could be done by copying the ASMAPSEG PSEG file
| on the test build disk and renaming it to the new name.
| 3. Change the physical segment name on the VMFBLD command in substep 10 on
| page 65 from ASMAPSEG to the new name.
ASMAXADT
Sample ADATA exit to load filter routine
ASMAXADR
Sample exit to reformat ADATA records from new to old format
ASMAXADC
Sample exit to control ADATA record output
| To become more familiar with service using VMSES/E, refer to z/VM: VMSES/E
| Introduction and Reference. This manual also contains the command syntax for the
| VMSES/E commands listed in the procedure.
Each step of the service instructions must be followed; do not skip any step unless
otherwise directed. All instructions showing accessing of disks assume default
minidisk addresses. If different minidisk addresses are used, or if using a
shared-file system, change the instructions appropriately.
You might also receive a list of pre-requisite APARs or PTFs, which should have
been applied to your system before applying the current service. These
pre-requisite APARs or PTFs might relate to High Level Assembler or any other
licensed product you have installed, including z/VM.
The following overview familiarizes you with some of the aspects of applying
service for High Level Assembler.
Table 32. Summary of steps for installing service on High Level Assembler (continued)
VMSES/E
Step Description Command Page
__ 3 Receive the new service. VMFREC 79
__ 4 Apply the new service. VMFAPPLY 79
__ 5 Reapply local service by entering local service into the 80
software inventory (if applicable).
__ 6 Update Build Status Table. VMFBLD 82
__ 7 Rebuild Serviced Parts (objects). VMFBLD 82
__ 8 Verify the service that has been applied and built. 82
__ 9 Place the service into production. 82
| The documentation envelope and the service envelope files must have a file
| type of SERVLINK. Make note of the file names that you are using as you
| will need to enter them in place of the variable envfilename in the VMFREC
| commands that follow.
1. Create a backup copy of the current High Level Assembler before applying the
service tape. Save this copy of High Level Assembler until you have completed
installing the service and you are confident that the service runs correctly.
2. Log on to the High Level Assembler service user ID: P696234J.
3. Establish read-write (R/W) access to the software inventory disk.
Command Explanation
| 4. If you are applying service from tape, attach the tape to the user ID P696234J at
| virtual address 181. If you have received the service as an Envelope file, ensure
| the SERVLINK file is available on the A-disk.
5. Establish the correct minidisk access order.
The VMFSETUP command accesses all the required disks or SFS directories to
establish the needed filemodes.
Command Explanation
Command Explanation
Command Explanation
Command Explanation
| vmfrec info (env envfilename The info option loads the documentation
(including the product service memo) to the
191 disk and displays a list of products.
7. Check the receive message log ($VMFREC $MSGLOG) for warning and error
messages.
Command Explanation
Make a note of which products and components have service on the tape. Press
PF5 to show all the status messages that identify the products on the tape.
Command Explanation
Command Explanation
Command Explanation
Note: If you are installing multiple service tapes, you can receive all the service
for this product before applying and building it. For each service tape or
electronic envelope you want to receive, do the following:
a. If receiving the service from tape:
Command Explanation
Command Explanation
Command Explanation
Command Explanation
Command Explanation
Options:
status Identifies build requirements.
If service has been applied to the source product parameter file (filetype of $PPF)
then carry out the instructions below before going on to “Step 7. Rebuild serviced
parts (objects)” on page 82.
| If the $PPF files have been serviced the following prompt is displayed:
| VMFBLD2185R The following source product parameter files have been
| serviced:
| VMFBLD2185R P696234J $PPF
| VMFBLD2185R When source product parameter files are serviced, all
| product parameter files built from them must be recompiled
| using VMFPPF before VMFBLD can be run.
| VMFBLD2185R Enter zero (0) to have the serviced source product
| parameter files built to your A-disk and exit VMFBLD so
| you can recompile your product parameter files with VMFPPF.
| VMFBLD2185R Enter one (1) to continue only if you have already
| recompiled your product parameter files with VMFPPF.
| If you select 0 then the following process will recompile the product parameter
| files (PPF).
| You should only select 1 if you have previously compiled your product parameter
| files. In this case, go to “Step 7. Rebuild serviced parts (objects)” on page 82.
| 1. Indicate $PPF file needs to be compiled
|| Command Explanation
| erase P696234J $PPF a Do not use your own PPF name in place of
| P696234J for this ERASE command.
|
| 5. Update build status table
|| Command Explanation
Command Explanation
Options:
serviced
Identifies build requirements and builds those objects flagged as
serviced in the service-level build status table.
2. Review build message log
Command Explanation
Command Explanation
|| Command Explanation
Command Explanation
Command Explanation
b. Issue the VMFBLD command to build the High Level Assembler segment.
Command
Options:
serviced
Identifies build requirements and build those objects flagged as
serviced in the service-level build status table.
4. Review build message log
Command Explanation
5. Update the CMS System disk with the SYSTEM SEGID file.
The system segment identification file must reside on the CMS system disk
(usually file mode S) and must be named SYSTEM SEGID so that it is available
to CMS at initialization time. This allows CMS to recognize the logical saved
segment name.
The file must also be copied to the test CMS system disk to prevent
backlevelling during application of service.
The following functions can only be performed by authorized user IDs.
Command Explanation
Command Explanation
Options:
olddate
Uses the date and time on each input file as the date and time of the
last update of each corresponding output file.
replace
Causes the output file to replace an existing file with the same file
identifier.
6. Move service into production.
You have now built the segment.
a. Log on to MAINT if you plan to put High Level Assembler general-use
code on the ’Y’ disk (MAINT’s 19E disk). Alternatively, log on to the user
ID of the owner of the disk that will contain the production level of the
High Level Assembler code.
b. Link to High Level Assembler code and access MAINT’s Y disk.
Choose which access is required depending on whether you have used a
minidisk or SFS.
For minidisk access:
|| Command Explanation
| link P696234J 29e 29e rr Access High Level Assembler code on a
| access 29e e minidisk.
| access 19e f Access CMS’s Y disk.
|
For SFS access:
Command Explanation
access vmsys:P696234J.HLASM.TBUILD e
Access High Level Assembler code on a SFS
directory.
access 19e f Access CMS’s Y disk.
v ASMADOPT
v ASMAINFO
Therefore the VMFCOPY command must be modified to copy only the four
modules which do not reside in the saved segment.
If you have not created a saved segment then all the High Level Assembler
modules should be placed onto the Y disk using the VMFCOPY command.
In both cases (saved segment or no saved segment), the ASMAMAC
MACLIB should be copied.
Command Explanation
Options:
olddate
Uses the date and time on each input file as the date and time of
the last update of each corresponding output file.
replace
Causes the output file to replace an existing file with the same file
identifier.
If you do not want to use the Y disk for general use code, log on as the
owner of the disk where you will put the production level of the High
Level Assembler code.
The VMFCOPY command updates the VMSES PARTCAT file on the 19E
disk.
| d. Resave the CMS saved system
| This updates the shared Y-STAT (the saved Y disk file directory). If you
| have created a saved segment, it also updates the S-STAT (the saved S disk
| file directory) to reflect the updated SYSTEM SEGID file.
| 1) Define named saved system
| This creates a named saved system for CMS.
|| Command Explanation
|
Removing High Level Assembler
You use the VMFINS DELETE command to remove High Level Assembler from
your system. For information about removing product code and resources from
your z/VM system, see the section about the VMFINS DELETE command, in
z/VM: VMSES/E Introduction and Reference.
| If you cannot find an answer, report any difficulties with this product to your IBM
| Support Center. If an APAR is required, the Support Center will provide the
| address to which any needed documentation can be sent.
| To assist with reporting any difficulties refer to the diagnostic process as shown in
| Chapter 20, “Isolating the problem,” on page 135.
Table 33 identifies the component ID (COMP ID) for High Level Assembler for
z/VM.
Table 33. Component IDs
COMP ID Component Name REL
569623400 VM HIGH LEVEL ASM 360
__ 1. Determine which of the following you are installing High Level Assembler
from:
__ A V2 Format tape (with one or more products besides High Level
Assembler)
__ A tape with just High Level Assembler on it
See “What you receive with High Level Assembler” on page 92.
__ 2. Determine the product parts to be installed:
__ COMPID 569623400
__ Feature number 5852
__ Tape label unlabeled
See “Basic material” on page 92.
__ 3. Verify that required software (and optional software, if appropriate) is at the
level needed. See “What you need to install High Level Assembler” on page
93.
__ 4. Verify that adequate storage is available. See “DASD and other storage
required” on page 93.
__ 5. Determine how you are going to install High Level Assembler:
__ Using Interactive Interface.
__ Using a batch installation job.
See “Planning where to install High Level Assembler” on page 94.
__ 6. Determine which of the following you want to install in:
__ Default library and sublibrary
__ A different library and sublibrary
If using a different library and sublibrary, verify that space is sufficient. See
“Planning where to install High Level Assembler” on page 94.
__ 7. Check on latest service updates needed. See “Program support” on page 94.
Distribution media
| High Level Assembler is distributed on the following:
| v 3480 tape cartridge
| The cartridge contains all the programs and data needed for installation.
Basic material
| Table 34 describes the program cartridge. Table 35 describes the file content of the
| program cartridge. z/VSE uses the Maintain System History Program (MSHP) to
| install this product.
| Table 34. Basic material: program cartridge
| Feature Physical External Label
| Medium Number Volume Identification Volser
| 3480 cart. 5852 1 HLASM V1R6 for unlabeled
| VSE
|
Table 35. Program cartridge: file content
File Description
1 Header file containing High Level Assembler copyright statement
2 Backup file ID “HLASM......1.6.0” followed by a MSHP System History File
3 High Level Assembler library file containing the production sublibrary
4 Tape mark
5 End of backup record
6 Tape mark
Optional material
There are no optional machine-readable materials for High Level Assembler.
For a list of books for related products, see “Bibliography” on page 215.
High Level Assembler runs on z/VSE with the required licensed program listed in
Table 36. You should install all licensed programs with the minimum release
listed or with any subsequent release.
Table 36. Required programs
Required Licensed Program Minimum Version Supported
| Auxiliary storage is needed for the system history file, for the library and for an
| intermediate work file (IJSYS03) on a direct-access storage device.
At a minimum, the library must have free the number of library blocks shown in
Table 37. A library block equals 1 kilobyte. Therefore, 10 library blocks equal 10,240
bytes.
If you plan to install this product in a separate MSHP history file, refer to Table 38
for MSHP DASD space requirements.
| Table 38. MSHP requirements
| File 3380 CYL 3390 CYL FBA BLKS
| IJSYSHF 1 1 900
|
To check the space, list the directory information of the PRD1 library, using the
LISTDIR command of the LIBR program. Make sure there are sufficient library
blocks in the free space.
You can use the Interactive Interface to install High Level Assembler, or the
documented sample batch job.
Program support
This section describes the IBM support available for High Level Assembler.
Program services
Contact your IBM representative for specific information about available program
services.
PSP Buckets are identified by UPGRADEs, which specify product levels, and
SUBSETs, which specify the CLCs for a product level. The UPGRADE and SUBSET
values for High Level Assembler for z/VSE are:
Table 39. PSP upgrade and subset ID
UPGRADE SUBSET Description
HLASM160 HLASMVSE689 HLASM VSE
Table 40 identifies the component ID (COMPID) for High Level Assembler for
z/VSE.
Table 40. Component IDs
RETAIN
CLC COMPID Component Name Release
689 569623400 VSE HIGH LEVEL ASM 689
Make sure that High Level Assembler serves the needs of the application
programmers at your site. Confer with them while you evaluate the customization
options for High Level Assembler, particularly those concerning High Level
Assembler options that are also available to the application programmers. Doing so
will ensure that the modifications you make best support the application programs
being developed at your installation.
The information in this chapter helps you plan your customization. See Chapter 14,
“Customizing High Level Assembler on z/VSE,” on page 111 for the actual
customization procedure.
Planning to install High Level Assembler into the shared virtual area
(SVA)
High Level Assembler can utilize the benefits to be gained by placing it in the
SVA.
Why do it
Installing frequently used data (such as licensed programs) in the SVA has several
advantages:
v Several users can access the same physical storage, therefore use of real storage
is minimized.
v Using the SVA decreases the input/output rate and the DASD paging
requirements, thereby improving the performance of the virtual machine.
v The elapsed time for jobs is shorter.
Phases are placed in the SVA using the SET SDL command. If you have not
previously placed High Level Assembler in the SVA, you need to make sure that
you have enough free space to accommodate the additional phases.
The maximum number of system directory list (SDL) entries is specified during
IPL using the SVA command. Check this number to see if the addition of High
Level Assembler phases causes it to be exceeded.
Overview of installation
You install this release of High Level Assembler by using the Maintain System
History Program (MSHP).
For information about backing up libraries and the system history file, see z/VSE:
System Control Statements.
Step 2: Allocate space for the library (omit if using the default)
By default, High Level Assembler is installed into the PRD1.BASE sublibrary for
z/VSE. If you decide to install High Level Assembler into a sublibrary other than
PRD1.BASE then proceed with this step.
Decide where to allocate space for the High Level Assembler sublibrary. Identify,
on the disk volume (or volumes) to be used for the library, suitable areas of free
space. To do this, list the volume table of contents (VTOC) of the disk or disks to
be used.
Use the disk space selected for High Level Assembler in the LIBR installation job
to allocate the VSE Librarian library in the sample job shown in Figure 20 on page
103.
// JOB ASMADEF
* CREATE A LIBRARY FOR THE High Level Assembler
// OPTION LOG
* Label for the High Level Assembler
* Library 1
// DLBL HLASM,’HLASM.LIBRARY’,99/365,SD
// EXTENT SYS002,SYSWK1,,,rtrk,ntrk
// ASSGN SYS002,DISK,VOL=SYSWK1,SHR
* ------------------------------------------
* Define the High Level Assembler Library 2
* ------------------------------------------
// EXEC LIBR
DELETE LIB=HLASM
DEFINE LIB=HLASM
/*
/&
Figure 20. Job to allocate the High Level Assembler library space
In area 1 change the filename (HLASM in the example) and file-id
(HLASM.LIBRARY in the example) of High Level Assembler to suit the
requirements at your site. Points to consider are:
| v The variable ntrk indicates the number of tracks required; see Table 37 on page
| 93 for the number of tracks for your DASD type.
v The variable rtrk represents the start position of the extent.
The Librarian job step in area 2 includes a DELETE statement before the DEFINE
statement so the job can be rerun. This means the following messages are issued
when the job runs for the first time; however these may be treated as informational
and ignored. The job continues to allocate the library.
In the following menus, enter the highlighted items that appear after the ===>
symbol.
4. Mount the High Level Assembler tape on an available tape drive.
5. In the z/VSE FUNCTION SELECTION menu, select:
===> 1 (Installation)
6. In the INSTALLATION menu:
You received High Level Assembler as a V2 Format tape, which contains one
or more optional products, therefore select:
===> 1 (Install Programs - V2 Format)
7. In the INSTALL PROGRAMS - V2 FORMAT menu, select:
===> 1 (Prepare for Installation)
8. In the PREPARE FOR INSTALLATION menu, select:
===> cuu (the address of the tape drive where you mounted the distribution
tape.)
(If you are using a virtual tape, enter 1 for Virtual Tape, otherwise enter 2.)
9. In the JOB DISPOSITION menu:
Make any changes required and press Enter to submit the job.
10. Respond to console messages:
When the job starts it asks if the tape is ready. After the tape is scanned it asks
if further tapes are to be read. Refer to Figure 21 for examples of the console
messages.
01 BG 000 IESI0091I PLEASE MOUNT TAPE LABELLED "VSE OPTIONAL TAPE NUMBER
02*BG 000 IESI0092A MOUNT ON TAPE DRIVE 580 . WHEN READY, REPLY "END/ENTER"
03*BG-000
04 0
05*BG 000 IESI0090A ARE THERE ANY MORE OPTIONAL PROGRAM TAPES? YES/NO
06*BG-000
10 0 no
11 BG 000 EOJ INSPRE MAX.RETURN CODE=0000
The output listing from this job gives a list of the optional programs on the
distribution tape with program identifiers and recommended library sizes. The
tapefile identifier for High Level Assembler is HLASM......1.6.0.
The program identifiers of the optional programs on the distribution tape are
also automatically entered on the INSTALL ADDITIONAL PROGRAM(S)
FROM TAPE menu.
11. To return to the z/VSE FUNCTION SELECTION menu, enter:
===> 1 (Installation)
12. In the INSTALLATION menu, select:
===> 1 (Install Programs - V2 Format)
13. In the INSTALL PROGRAMS - V2 FORMAT menu, select:
===> 2 (Install Programs(s) from Tape)
14. In the INSTALL ADDITIONAL PROGRAM(S) FROM TAPE menu:
Enter 1 (install) in the OPT field against the tapefile identifier
HLASM......1.6.0 (High Level Assembler)
and 2 (skip installation) against any other optional products you do not intend
| to install at this time.
If you did not use the default library PRD1.BASE, enter the name of your
library and sublibrary on this screen. The DLBL and EXTENT information for
this library should already be in the label information area.
Press PF5 to generate the installation job.
15. Retain products list
Decide if you want to keep the product list previously generated from LIBR
utility scan of the product tape.
16. In the INSTALL ADDITIONAL PROGRAM(S) FROM TAPE menu, enter:
===> cuu (the address of the tape drive where you mounted the High Level
Assembler tape)
(If you are using a virtual tape, enter 1 for Virtual Tape, otherwise enter 2.)
17. In the JOB DISPOSITION menu:
Make any changes required and press ENTER to submit the job to install High
Level Assembler.
18. Respond to console messages
Confirm prompt when asking for tape to install product.
Depending on how you request the High Level Assembler product you might
receive different installation tapes. One could contain only the High Level
Assembler product, the other might be a V2 Format tape containing one or more
optional program products. The job shown in Figure 22 on page 107 handles both
types of tape (V2 Format and V1 Format).
Create and tailor the following job stream, mount the distribution tape, and run
the installation job.
Figure 22 on page 107 provides the JCL required to install High Level Assembler.
Tailor this JCL to suit the requirements at your site.
As many as five modifications might be required to tailor the JCL. The keys in
Figure 22 on page 107 are explained individually and refer to the sections that
accompany the JCL description.
// JOB ASMAINST
* INSTALL THE High Level Assembler LIBRARY
// OPTION LOG
* Label for High Level Assembler Library 1
* Assign install tape as SYS006 2
// ASSGN SYS006,cuu
// MTC REW,SYS006
* ----------------------------------------
* This step installs High Level Assembler
* from the distribution tape
* using the VSE system history file 3
* ----------------------------------------
// EXEC MSHP,SIZE=900K,PARM=’PIDSTACKED’
INSTALL PROD FROMTAPE ID=’HLASM......1.6.0’ -
PROD INTO=PRD1.BASE
/*
* ----------------------------------------
* List the High Level Assembler Library 4
* --------------------------------------
// EXEC LIBR
LISTDIR SUBLIB=PRD1.BASE -
OUTPUT=NORMAL -
UNIT=SYSLST
/*
* ------------------------------------------
* Retrace the High Level Assembler product 5
* ------------------------------------------
// EXEC MSHP,SIZE=900K
RETRACE COMPONENT IDENTIFIER=5696-234-00
/*
// MTC RUN,SYS006
/*
/&
The step in area 4 of the job lists the directory entries of the sublibrary where
High Level Assembler was installed. Remove this step if a directory list is not
required. If you have installed High Level Assembler into a sublibrary other
than the default, then the name of the sublibrary must be changed to reflect the
value you specified in area 3.
Entries for High Level Assembler have a four character prefix of ASMA to
distinguish them from other products; there are three exceptions to this rule:
v HD234689.Z
v $SVAASMA.PHASE
v $SVAASMA.OBJ
5. Retrace the High Level Assembler product in the system history file.
The final step in area 5 of the job prints the component records from the
system history file for High Level Assembler. Remove this step if a retrace
listing is not required.
If this job has to be run again, remember first to restore the system history file,
which should have been backed up before running this install job, and second
to run the library allocation step again, if applicable.
To verify your installation, run the sample job ASMAIVPS.Z. This job will verify
your installation by exercising representative features of High Level Assembler.
Figure 23 shows the job ASMAIVPS.Z provided in the installed sublibrary. It runs the
sample program from the same sublibrary. If you installed High Level Assembler
in a sublibrary other than the default, modify the IBM-supplied JCL that runs the
verification program.
// JOB ASMAIVPS
*
* SAMPLE JCL TO VERIFY INSTALLATION OF THE
* High Level Assembler.
*
// LIBDEF *,SEARCH=(lib.sublib,PRD1.BASE) 1
// EXEC ASMA90,SIZE=ASMA90
COPY ASMASAM1
COPY ASMASAM2
/*
/&
In area 1, specify the user library where the source format macros have been
placed, followed by the library where the High Level Assembler resides.
If you are using the library exit for processing E-decks then modify the EXEC
statement in Figure 23 to:
// EXEC ASMA90,SIZE=(ASMA90,128K),PARM=’EXIT(LIBEXIT(EDECKXIT))’
A return code of 0 (zero) for the job indicates that the sample program completed
successfully. The assembly of the sample program is the actual verification that the
product is installed and functions correctly.
A sample job ASMAOPTV.Z is provided to help you modify and assemble the
IBM-supplied, default assembler options. It is shown in Figure 24 on page 112.
| The ASMAOPT macro in ASMAOPTV.Z is used to specify the options you want to set
| as the defaults. Refer to “General rules for coding the ASMADOPT ASSEMBLE
| file” on page 71 for more information on how to enter the options into the sample
| job. For more detailed information on these options see the HLASM Programmer’s
| Guide. For a description of the options and the values you can specify, see the
| Appendix A, “High Level Assembler Options,” on page 167.
When the changes have been made, submit the job for assembly on your z/VSE
system. The ASMAOPTV job assembles and catalogs a new ASMADOPT.OBJ
module in the user sublibrary. When this job has completed successfully, continue
with the section on re-linking High Level Assembler phase ASMADOPT, which
completes the customization of the High Level Assembler options.
In area 1, change the SETPARM values to those applicable to your installation.
In area 2, if High Level Assembler has been installed in a different sublibrary
from the default, change this to reflect your sublibrary.
| In area 3 include only the options and values you want to change.
| In area 4, change the sublibrary to reflect a user sublibrary in which changes to
| the High Level Assembler default options will be cataloged. This should be in a
| user library to ensure that the original IBM-supplied defaults are not overwritten.
In area 1 the library-search chain points first to the sublibrary where
ASMADOPT.OBJ was catalogued when you assembled the changed options. It
then points to the sublibrary where High Level Assembler was installed, and
where the link book ASMADOLK.OBJ resides.
In area 2, change the library and sublibrary to reflect the user sublibrary where
ASMADOPT.PHASE will reside.
In area 3 a link book supplies the phase statement and include values.
Placing High Level Assembler into the Shared Virtual Area (SVA)
This customization must be done by a system administrator.
Table 43 on page 99 gives a list of phase names, their link-edit attributes and
approximate sizes. It shows which phases are eligible for sharing storage, and the
approximate size of each phase.
To assist you in placing the High Level Assembler phases into the SVA, a sample
member named ASMASVA2.Z is provided. This sample job includes all the High
Level Assembler phases eligible for the SVA.
z/VSE: System Control Statements provides specific instructions about placing phases
into the SVA.
The phases are loaded using a load list. The $SVAASMA load list is provided. This
load list can also be placed in the BG startup procedure. If this is done then the
library containing the High Level Assembler must be in the LIBDEF search chain
within the LIBSDL procedure.
Figure 26. Sample JCL to load SVA-eligible phases using load list
You do not need to remove High Level Assembler from your system before
re-installing High Level Assembler, unless you intend to re-install the product in a
different sublibrary from the previous installation. In this case you must remove
High Level Assembler from the system history file before you can re-install it.
To re-install High Level Assembler, you follow the same steps as for installing
High Level Assembler. See Chapter 13, “Installing High Level Assembler on
z/VSE,” on page 101.
You might also receive a list of pre-requisite APARs or PTFs, which should have
been applied to your system before applying the current service. These
pre-requisite APARs or PTFs might relate to High Level Assembler or any other
licensed product you have installed, including z/VSE.
You apply service to High Level Assembler using either the z/VSE Interactive
Interface or a batch job.
The following checklist provides a summary of steps you should use to apply
service to High Level Assembler.
Table 45. Summary of steps for installing service on High Level Assembler
MSHP
Command or
Step Description Jobname Page
__ 1 Ensure prerequisite APARs or PTFs are applied. RETRACE 116
__ 2 Backup existing system. 116
__ 3 Apply service. INSTALL 116
__ 4 Run the installation verification program. ASMAIVPS 118
Your IBM Support Center has given you a list of any relevant prerequisite APARs
or PTFs. Probably most have been applied to your system. You can verify this by
retracing the APARs and PTFs in your system history file. The job shown in
Figure 27 shows how to retrace APARs and PTFs in the system history file. This job
is supplied as ASMARETR.Z
Use this listing to check that you have already applied any pre-requisite APARs or
PTFs. If you have not, arrange for your IBM Support Center to send them to you
and apply them before applying other service.
In the following menus specify the highlighted items that appear after the ===>
symbol.
A sample job to apply service using MSHP is shown in Figure 28. This job is
supplied as ASMAAPP.Z. For more information on MSHP see z/VSE: System
Control Statements.
In area 1, change cuu to the address of the tape drive where you have mounted
the service tape.
Area 2 shows the MSHP statement to install service from a tape. The information
in the system history file directs MSHP to apply the service to the sublibrary in
which High Level Assembler is installed. You do not need to supply this
information.
If you do have to remove High Level Assembler for any reason, you must delete
all the High Level Assembler entries from your sublibrary and remove High Level
Assembler from the system history file.
| A sample job, ASMADELV.Z, is supplied to help you do this. This job will:
| v delete all High Level Assembler members from the sublibrary where it is
| installed
| v remove High Level Assembler from the System History File
| v update DTRIHIST.Z in the system residence library to remove High Level
| Assembler from the list of installed products
| Consult the instructions in the job for more information.
| If you cannot find an answer, report any difficulties with this product to your IBM
| Support Center. If an APAR is required, the Support Center will provide the
| address to which any needed documentation can be sent.
| To assist with reporting any difficulties refer to the diagnostic process as shown in
| Chapter 20, “Isolating the problem,” on page 135.
Table 46 identifies the component ID (COMP ID) for High Level Assembler for
z/VSE.
Table 46. Component IDs
COMP ID Component Name REL
569623400 VSE HIGH LEVEL ASM 689
If you intend to execute High Level Assembler for zLinux on IFL processors, you
should order PRPQs 579-TCQ and 5799-TCR.
High Level Assembler on zLinux is installed using the Redhat Package Manager
(RPM).
Distribution medium
High Level Assembler is distributed on a 3480 tape cartridge.
The cartridge contains all the programs and data needed for installation. It is
labeled and has a VOLSER of 5799TC. There are four files on the 3480 tape; they
are described in Table 47.
Table 47. 3480 cartridge content
No. DSNAME RECFM LRECL BLKSIZE Description
1 README FB 80 27920 This file
2 H3100300.PDF U 0 32760 IPLA Licence for 5799-TCQ
3 ASML1020.PDF U 0 32760 User’s Guide
4 ASMA90.RPM U 0 32760 RPM Package
Filename Description
asma90 The HLASM executable file
asma90.map Map file for the HLASM executable
asmalib Additional and alternate module library:
v OBJ-to-ELF Converter exit
v APAR data file used by the INFO assembler option
v Alternate language message files
v Alternate codepage files
asmalib.map Map file for additional and alternate module library
asml1020.pdf User’s Guide
h3100300.pdf License Information
README Information about the product
runasma90 Sample execution script
High Level Assembler supports the operation codes available with the following
mode processors:
v System/370 Architecture
v Extended Architecture (370-XA)
v Enterprise Systems Architecture/370 (ESA/370)
v Enterprise Systems Architecture/390 (ESA/390)
v z/Architecture
Machine requirements
For assembling High Level Assembler programs
Programs written using High Level Assembler can be assembled, including
use of the z/Architecture processor machine instructions, the Extended
Architecture mode processor machine instructions, and Enterprise System
Architecture mode processor machine instructions, on all System/370 family
and its follow-on machines supporting the following operating systems:
v Linux for zSeries
v Linux for S/390
You might require an operating system-specific macro library to assemble
programs that run under that operating system, depending on macro usage.
For running High Level Assembler programs
A generated object program using z/Architecture, Extended Architecture
(370-XA), Enterprise Systems Architecture/370 (ESA/370), Enterprise Systems
Architecture/390 (ESA/390), Enterprise Systems/9000 (ES/9000) or Vector
Storage requirements
Virtual storage
High Level Assembler requires a minimum of 650K bytes of main storage.
450K bytes of storage are required for High Level Assembler modules. The
rest of the storage allocated to the assembler is used for assembler working
storage.
Auxiliary storage space
Depending on the assembler options used, auxiliary storage space might be
required for the following data sets:
v System input
v Macro instruction library—either system or private or both
v Print output
v Object module output
Library space
The package files will require 742K bytes of disk storage for modules and
procedures.
Chapter 16. Planning for installing High Level Assembler on zLinux 125
Required and optional software
You install High Level Assembler on zLinux using the Redhat Package Manager
(RPM). You first transfer the product files from the 3480 tape cartridge to a host
system (z/OS, z/VM, or z/VSE), and then across to the Linux system which will
be the target of the RPM installation.
Once the files are on DASD, then normal ftp can be used to transfer them to the
zLinux system. The type of transfer and resulting Linux filenames are:
The RPM package ASMA90.RPM must be renamed during or after the file transfer
so that RPM will correctly recognize the package.
The RPM package is the only file that is actually needed to be present on the
zLinux system for the RPM installation to succeed. The other files can be
transferred to any suitable computer platform which allows viewing of text and
pdf files.
Sample JCL
The following JCL can be used to copy the files from the 3480 tape cartridge up to
a host z/OS system. Add an appropriate JOB statement for the host system and
change ’hlq’ to an appropriate data set qualifier.
//*
//FILE01 EXEC PGM=IEBGENER
//*
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//*
//SYSUT1 DD DSN=README,DISP=SHR,
// UNIT=3480,VOL=(PRIVATE,RETAIN,,,SER=5799TC),
// LABEL=(1,SL),EXPDT=98000
//*
//SYSUT2 DD DSN=hlq.README,DISP=(NEW,CATLG),
// SPACE=(1,(100,100),RLSE),AVGREC=K
//*
//*
//FILE02 EXEC PGM=IEBGENER,COND=(4,LT)
//*
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//*
//SYSUT1 DD DSN=H3100300.PDF,DISP=SHR,
// UNIT=3480,VOL=(PRIVATE,RETAIN,REF=*.FILE01.SYSUT1),
// LABEL=(2,SL),EXPDT=98000
//*
//SYSUT2 DD DSN=hlq.H3100300.PDF,DISP=(NEW,CATLG),
// SPACE=(1,(1000,1000),RLSE),AVGREC=K
//*
//*
//FILE03 EXEC PGM=IEBGENER,COND=(4,LT)
//*
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//*
//SYSUT1 DD DSN=ASML1020.PDF,DISP=SHR,
// UNIT=3480,VOL=(PRIVATE,RETAIN,REF=*.FILE01.SYSUT1),
// LABEL=(3,SL),EXPDT=98000
//*
//SYSUT2 DD DSN=hlq.ASML1020.PDF,DISP=(NEW,CATLG),
// SPACE=(1,(1000,1000),RLSE),AVGREC=K
//*
//*
//FILE04 EXEC PGM=IEBGENER,COND=(4,LT)
//*
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//*
//SYSUT1 DD DSN=ASMA90.RPM,DISP=SHR,
// UNIT=3480,VOL=(PRIVATE,RETAIN,REF=*.FILE01.SYSUT1),
// LABEL=(4,SL),EXPDT=98000
//*
//SYSUT2 DD DSN=hlq.ASMA90.RPM,DISP=(NEW,CATLG),
// SPACE=(1,(1000,1000),RLSE),AVGREC=K
//*
Installation
The install should be a standard rpm install, for example:
rpm -v --prefix /usr/ --install asma90-1.6.0-3.s390.rpm
The rpm package is relocatable, so the --prefix option can be used to install High
Level Assembler into a different path than the default /usr path if required.
Prior to the install you can query the rpm package. Here are some examples.
v To list the spec file:
rpm -v --query --info --package asma90-1.6.0-3.s390.rpm
v To list the files within the rpm package:
rpm -v --query --list --package asma90-1.6.0-3.s390.rpm
If there are any install problems then the files can be manually extracted from the
rpm package, for example:
mkdir cpio
cd cpio
rpm2cpio asma90-1.6.0-3.s390.rpm | cpio --extract --verbose --make-directories --preserve-modification-time
To create ELF32 object files on zLinux, specify the HLASM ELF32 option
(--options=’ELF32’). You will also need to provide the following parameter so that
the assembler can locate and load the object exit that does this translation:
-E /usr/bin/asmalib
Usage
1. The generated listing is in EBCDIC, and will be difficult to view on zLinux.
However, the Linux ’dd’ command will automatically convert EBCDIC files to
ASCII, insert newlines, and so on. The ’man’ pages for ’dd’ describe its
options.
2. When you use FTP to copy source and macro files to zLinux, if you specify the
’binary’ option, the file is transferred in EBCDIC. This may avoid unexpected
mappings of EBCDIC characters to ASCII code points that HLASM does not
recognize or process correctly.
3. Be careful if you edit files on zLinux, because the original 80-byte fixed-length
structure of each record may not be retained.
4. Source files are recognized as EBCDIC or ASCII by checking the first record.
While the test is usually reliable, there are some cases where the need for
conversion is not correctly recognized. Also, some characters (such as those in
C-type and G-type constants) may not have ASCII equivalents that will cause
identical object code to be created.
5. High Level Assembler for zLinux does not use a work file and therefore the
default size option has been set at 32M. This may be inadequate for large or
complex assemblies, but can be increased by specifying the SIZE(xxM) option.
6. Transferring object or listing files to and from zLinux: if you wish to copy files
to or from zLinux using FTP, set the ’binary’ and ’locsite fix 80’ options
(for object files) or ’locsite fix 133’ (or 121), for listing files, before each
’get’.
When running on zLinux: set ’binary’ and ’put’ to VM. Then, you can
post-process each file with either
’PIPE <’ fn ft fm ’| deblock fixed ’ 80 ’|> ’ ofn oft ofm
Limitations
1. High Level Assembler for zLinux executes in 32-bit addressing mode. When
executing on zLinux systems running in 64-bit addressing mode, the Linux
32-bit compatibility interface is required for correct execution.
2. High Level Assembler for zLinux converts only OBJ object files to ELF32
format. To create ELF object files from GOFF object files, a separate conversion
module is required.
The limitations that apply to the generation of ELF32 object files are described in
the HLASM Programmer’s Guide.
If a problem occurs while you are using High Level Assembler, or the Toolkit
Feature, its cause might not be obvious. It might be an error in your program, in
the assembler itself, or in some component of the assembler’s operating
environment. To help you identify the failure, use the following procedure.
8. After the failure has been identified, consider writing a small test case that
reproduces the problem. This test case should help you to:
v Isolate the problem.
v Distinguish between an error in the application program and an error in
High Level Assembler.
v Choose keywords that best describe the error.
9. Specify the following assembler options, in addition to the options originally
specified, and reassemble the program. These options produce maximum
diagnostic information that help you diagnose product errors. See HLASM
Programmer’s Guide for more information on how to use these options.
DXREF
ESD
FLAG(0,ALIGN,CONT,RECORD,SUBSTR)
LIST(121)
MXREF(FULL)
PCONTROL(DATA,GEN,ON,MCALL,MSOURCE,UHEAD)
RLD
RXREF
USING(MAP,WARN(15))
XREF(FULL)
10. If the error symptoms change, return to step 4 on page 135.
11. Record the sequence of events that led to the error condition. You might be
able to use this information in developing a keyword string, and will need it if
an APAR is required.
12. Begin developing the keyword string, using the procedure in Chapter 21,
“Building a keyword string,” on page 139.
Diagnostic aids
In certain situations when an assembly cannot be completed, High Level
Assembler requests its internal abnormal termination routine to produce a specially
formatted dump. Diagnostic information in the dump can be useful if an APAR is
needed. The types of data that can be extracted from the dump include:
v Assembly abnormal-termination messages
v Register contents when the abnormal termination was requested
v The assembler common-storage area
v The statement that was being processed when the abnormal termination was
requested
The contents of the dump depend upon when the abnormal termination was
requested during processing of the assembly.
Installation problems
You can avoid or solve most installation problems if you follow these steps:
1. Consult the PSP bucket (see step 7 on page 135).
2. Read any material that accompanies the installation tape.
3. Review the step-by-step installation procedure before installing High Level
Assembler, or the HLASM Toolkit Feature.
If you still cannot solve the problem, develop a keyword string based on the
symptoms of the problem as described in Chapter 21, “Building a keyword string,”
on page 139.
If the keyword string produces a match in the software support database, the
search might yield a fuller description of the problem and possibly identify a
correction or circumvention. Such a search might yield several matches with
previously reported problems. Review each error description carefully to determine
if the problem description in the database matches your problem.
| If a match is not found, use the keyword string you have constructed to describe
| the failure when contacting the IBM Support Center for assistance. Keywords
| ensure that identical program errors are described with identical keyword strings.
| Spelling the keywords exactly as they are presented in this book is especially
| important for a successful match.
Keyword usage
The first keyword in a keyword string identifies the failing component. The
component identification for High Level Assembler is the product identifier
(569623400). For HLASM Toolkit Feature this keyword is 569623401. A search of the
software support database with this single keyword would locate all problems
reported for the whole assembler. Each additional keyword added to the keyword
string narrows the scope of the search argument and helps to eliminate
unnecessary examination of problem descriptions that have similar, but not
matching, characteristics. In some cases, a correction for a product failure might be
located with less than a full set of keywords. If you cannot follow the instructions
for selecting a particular keyword, omit that keyword to avoid incorrectly
identifying the problem. In general, if you contact IBM, you will be asked to
identify your problem with a full set of keywords, as described here.
Figure 29 shows the process of creating a keyword string. The keywords are
indicated as you proceed through the diagram. A full set of keywords for High
Level Assembler contains:
v The component identification
v The release level
v The type of failure
v One or more modifier keywords, depending on the type of failure, if applicable
Follow the steps in the keyword procedures until you are directed to the search
argument procedure.
┌───────────┐
│Component │
│ID Keyword │
│ │
└─────┬─────┘
│
┌─────┴─────┐
│ Release │
│ Level │
│ Keyword │
└─────┬─────┘
│
┌─────────────────┬─────────────────┬────────┴────────┬─────────────────┬─────────────────┐
│ │ │ │ │ │
└─────────────────┴─────────────────┴────────┬────────┴─────────────────┘ │
│ │
│
┌─────┴─────┐ │
│System─Type│ │
│Keyword │ │
│Procedure │ │
└─────┬─────┘ │
│ │
│
┌─────┴─────┐ │
│ Search │ │
│ Argument │─────────────────────────────────────┘
│ Procedure │
└───────────┘
where r.m specifies the current release and modification number. The release
level line for Release 6.0 of High Level Assembler is:
HLASM R6.0 yyyy/mm/dd hh.mm
2. Specify the release level keyword, using the following format: Rrm0
where r is the release level, and m is the modification level. The last character
of this keyword is always zero.
If Release 6.0 is the level you found in your listing, the release level keyword is
R600.
The following is an example of a set of keywords, consisting of the component
identification and release level keywords:
Component Identification: 569623400
ABENDxxxx procedure
1. On z/OS, if a system abend code is available, replace the xxxx of ABENDxxxx
with the system abend code, prefixed by a zero. For example, if the code was a
system abend 0C4, specify ABEND00C4 as your keyword. If the failure occurred
with a system abend 0C1, your set of keywords, so far, consists of:
Component Identification: 569623400
5. Determine with which assembler options the failure occurs. If the failure occurs
only when using certain options, indicate those options in the keyword string.
Select the applicable modifier keyword from the list shown in “Assembler
options” on page 157.
| 6. Continue with “Step 4. System-type keyword” on page 147.
Use the MSGxxx keyword procedure for any one of the following conditions:
v A message is issued under a set of conditions that should not have caused it to
be issued.
v A message contains incorrect data or is missing data.
v A message indicates an internal assembler error (for example, ASMA951).
Do not use this procedure if the assembler ended with a system abend code, or a
system message indicating an abnormal-termination. In these cases, use the
“Abnormal termination problem procedures” on page 142.
MSGxxx procedure
| 1. Replace the xxx of MSGxxx with the complete message identifier, but do not
| include the severity character (if any). For example, if assembly abnormal
| termination message ASMA950U is issued, the MSGxxx keyword would be
| MSGASMA950. Your set of keywords, so far, would consist of:
| Component Identification: 569623400
|
| Release Level: R600
|
| Type of Failure: MSGASMA950
2. Determine with which assembler options the failure occurs. If the failure occurs
only when using certain options, indicate those options in the keyword string.
Select the applicable modifier keyword from the list shown in “Assembler
options” on page 157.
3. Continue with “Step 4. System-type keyword” on page 147.
If the program appears to be in a WAIT state, follow your local procedures for
resolution.
LOOP procedure
1. Determine with which assembler options the failure occurs. If the failure occurs
only when using certain options, indicate those options in the keyword string.
Select the applicable modifier keyword from the list shown in “Assembler
options” on page 157.
2. If you are running on z/OS and the error is a system abend, with a system
abend code indicating not enough time, or inadequate output limits, increase
the allotment and rerun your program. If the problem is still unresolved, your
set of keywords, so far, would consist of:
Component Identification: 569623400
INCORROUT procedure
1. If the data or records were repeated endlessly, use the “LOOP procedure”
instead of the INCORROUT procedure to create your keyword string.
2. Use INCORROUT as your type-of-failure keyword.
3. If the error was detected because of incorrect or missing output from an
assembly that otherwise completed successfully, select a modifier keyword from
the following table to describe the type of error in the output.
4. Select another modifier keyword from the following table to describe the
portion of the output in which the error occurred.
5. Determine with which assembler options the failure occurs. If the failure occurs
only when using certain options, indicate those options in the keyword string.
Select the applicable modifier keyword from the list shown in “Assembler
options” on page 157.
For example, if you think that the assembler has given an incorrect Ordinary
Symbol and Literal Cross Reference section of the listing when assembling with
the XREF(FULL) option, your set of keywords, so far, would consist of:
Component Identification: 569623400
Modifiers: INVALID
XREF
FULL
6. Continue with “Step 4. System-type keyword” on page 147.
PERFM procedure
1. Record the actual and expected performance measurements for your system
configuration. Note the order number and page of the IBM document that is
the source of your performance expectations. You will be asked for this
information if you contact the IBM Support Center. If you prepare materials for
an APAR, you should also include this information in the error description.
2. Determine with which assembler options the failure occurs. If the failure occurs
only when using certain options, indicate those options in the keyword string.
Select the applicable modifier keyword from the list shown in “Assembler
options” on page 157.
3. Use PERFM as your type-of-failure keyword. For example, your set of
keywords for performance problems would consist of:
Component Identification: 569623400
DOC procedure
1. Locate the page or pages in the document where the problem occurs, and
prepare a description of the error and the problem it caused. This information
is required for APAR preparation if no similar problem is found in the software
support database.
2. Decide whether this documentation problem is severe enough to cause lost
time for other users.
| If the problem is not severe, fill out the Reader’s Comment Form attached to
| the back of the publication in question, or use the online form at
| www.ibm.com/software/awdtools/rcf/
| Include the problem description you have developed, along with your name
| and return address, so that IBM can respond to your comments.
If the problem is severe enough to cause lost time for other users, continue
creating your keyword string to determine whether IBM has a record of the
problem. If this is a new problem, you will be asked to submit a severity-3 or
severity-4 documentation (DOC) APAR.
3. Use the order number on the cover of the document together with the DOC
keyword as your type-of-failure keyword, but omit the hyphens. Leave a single
space between DOC and the document number. The number following the last
hyphen in the document number indicates the document release level. If the
document release level number has only one digit, it must be preceded by a
zero. For example if the order number is SC26-4940-05 (HLASM Language
Reference), use SC26494005. Your set of keywords consists of:
Component Identification: 569623400
System-type procedure
1. If the failure occurred while your program was assembling:
v On z/OS, use MVS or z/OS as your system-type keyword.
Some keywords may not be applicable to all software problems. See Chapter 24,
“Modifier keywords,” on page 155 for information on the modifiers you can
specify.
Modifiers: MXREF
your keyword string would consist of:
569623400 R600 ABEND00C4 MVS ESA MXREF
2. If the search produces a list of APARs, continue with step 3, otherwise go to
step 6.
3. When your search is complete, eliminate from the list of possible APAR fixes
those that have already been applied to your system.
4. Compare each of the remaining closed APAR descriptions with the current
failure symptoms.
| 5. If a match is found, find out if there is a corresponding PTF. If necessary, you
| can order the PTF from the IBM Support Center. If there is a PTF, apply it to
| your system and exit this procedure.
| For information about how to apply a PTF, refer to the cover letter for the PTF
| to be applied.
6. If the search did not produce a list of APARs, or an APAR description matching
the current failure is not found, expand the search by using the following
techniques:
a. Omit the release level keyword (for example, R600) from the search. This
expands the search to include similar failures on other release levels.
b. Drop one keyword from the right end of the search argument string. The
diagnostic procedures directed you to construct the keyword string with the
most significant keywords listed first. By dropping a keyword from the
right, you eliminate the least significant keyword, thereby expanding your
Initiating an APAR
1. Contact the IBM Support Center for assistance. Tell the support personnel that
you have used this manual to create a keyword string. Be prepared to supply
the following information:
v Customer number
v Operating system
v Operating system release level
v Current High Level Assembler maintenance level (PTF list and list of APAR
fixes applied)
v The various keyword strings used to search the software support data base
v Processor serial and model number
2. From the following list, you might be asked to include the applicable High
Level Assembler environmental information with your APAR:
v Job control statements
v Any spooled CMS consoles or special EXECs
v The following assembler listings:
– High Level Assembler Options Summary
– External Symbol Dictionary
– Source and Object
– Relocation Dictionary
– Ordinary Symbol and Literal Cross Reference
– Unreferenced Symbols in a CSECT
– DSECT Cross Reference
– Macro and Copy Code Source Summary
– Macro and Copy Code Cross Reference
– General Purpose Register Cross Reference
– Diagnostic Cross Reference and Assembler Summary
– USING map
| v Machine-readable copy of the program causing the problem, including all
| macros and copy members required by the program. This should be the
| smallest, least complex form of the program that still produces the error.
| v SYSADATA (z/OS and CMS) or SYSADAT (z/VSE) output
In addition, the console log might be helpful in reproducing the error. Any listings
supplied must be from the High Level Assembler assembly that failed.
You may also be asked to provide trace information from the assembly that failed.
Assembler options
The option name (and suboption if applicable) is the keyword.
ASSEMBLER OPTION
ADATA
ALIGN
ASA
BATCH
CODEPAGE
COMPAT
COMPAT CASE
COMPAT LITTYPE
COMPAT MACROCASE
COMPAT SYSLIST
COMPAT NOCASE
COMPAT NOLITTYPE
COMPAT NOMACROCASE
ASSEMBLER OPTION
COMPAT NOSYSLIST
DBCS
DECK (z/OS and CMS)
DELETE
DSECT
DISK (CMS)
DXREF
ERASE (CMS)
EXIT
EXIT ADEXIT
EXIT INEXIT
EXIT TRMEXIT
EXIT LIBEXIT
EXIT PRTEXIT
EXIT OBJEXIT
ESD
FLAG n
FLAG ALIGN
FLAG CONT
FLAG EXLITW
FLAG IMPLEN
FLAG PAGE0
FLAG PUSH
FLAG RECORD
FLAG SUBSTR
FLAG USING0
FLAG NOALIGN
FLAG NOCONT
FLAG NOEXLITW
FLAG NOIMPLEN
FLAG NOPAGE0
FLAG NOPUSH
FLAG NORECORD
FLAG NOSUBSTR
FLAG NOUSING0
FOLD
GOFF (z/OS and CMS)
GOFF ADATA (z/OS and CMS)
GOFF NOADATA (z/OS and CMS)
INFO
LANGUAGE
LANGUAGE DE
LANGUAGE EN
LANGUAGE ES
LANGUAGE EU
LANGUAGE JP
LIBMAC
LINECOUNT
| LIST
| LIST 121 (z/OS and CMS)
| LIST 133 (z/OS and CMS)
| LIST MAX (z/OS and CMS)
| LIST YES (z/OS and CMS)
MACHINE S370
ASSEMBLER OPTION
MACHINE S370XA
MACHINE S370ESA
MACHINE S390
MACHINE S390E
MACHINE ZSERIES
MACHINE ZS
MACHINE ZSERIES-2
MACHINE ZS-2
| MACHINE ZSERIES-3
| MACHINE ZS-3
| MACHINE ZSERIES-4
| MACHINE ZS-4
MACHINELIST
MXREF
MXREF FULL
MXREF SOURCE
MXREF XREF
NOADATA
NOALIGN
| NOASA (z/OS and CMS)
NOBATCH
NOCOMPAT
NODBCS
NODECK (z/OS and CMS)
NODXREF
NOERASE (CMS)
NOEXIT
NOESD
NOFOLD
NOGOFF (z/OS and CMS)
NOINFO
NOLIBMAC
NOLIST
NOMACHINELIST
NOMXREF
NOOBJECT
| NOOPTABLELIST
NOPCONTROL
| NOPESTOP
NOPRINT (CMS)
NOPROFILE
NORA2
NORENT
NORLD
NORXREF
NOSEG (CMS)
| NOSUPRWARN
NOTERM
NOTEST
NOTHREAD
NOTRANSLATE
NOTYPECHECK
NOUSING
| NOWORKFILE
ASSEMBLER OPTION
NOXOBJECT (z/OS and CMS)
NOXREF
OBJECT
OPTABLE DOS
OPTABLE ESA
OPTABLE UNI
OPTABLE XA
OPTABLE 370
OPTABLE ZOP
OPTABLE YOP
| OPTABLE ZS3
| OPTABLE ZS4
OPTABLELIST
PCONTROL
PCONTROL ON
PCONTROL OFF
PCONTROL GEN
PCONTROL DATA
PCONTROL UHEAD
PCONTROL MCALL
PCONTROL MSOURCE
PCONTROL NOGEN
PCONTROL NODATA
PCONTROL NOUHEAD
PCONTROL NOMCALL
PCONTROL NOMSOURCE
PESTOP
PRINT (CMS)
| PROFILE
RA2
RENT
RLD
RXREF
SECTALGN
SEG (CMS)
SIZE
| SIZE MAX
| SIZE MAX,ABOVE
SUPRWARN
SYSPARM
TERM
TERM WIDE
TERM NARROW
TEST
THREAD
TRANSLATE
TYPECHECK
| TYPECHECK MAGNITUDE
| TYPECHECK NOMAGNITUDE
| TYPECHECK REGISTER
| TYPECHECK NOREGISTER
USING
USING LIMIT
USING NOLIMIT
ASSEMBLER OPTION
USING MAP
USING NOMAP
USING WARN
USING NOWARN
| WORKFILE
XOBJECT (z/OS and CMS)
XOBJECT ADATA (z/OS and CMS)
XOBJECT NOADATA (z/OS and CMS)
XREF
XREF SHORT
XREF FULL
XREF UNREFS
You might be asked to provide an internal trace, or assist IBM support personnel
in obtaining an internal trace, if the information described in Table 50 on page 152
is not sufficient to resolve the reported problem.
Under CMS: issue the SYSTRACE FILEDEF command before the High Level
Assembler command, to specify the output trace data set. For example, you could
specify:
FILEDEF SYSTRACE DISK fn SYSTRACE m1 (RECFM F LRECL 81
If you do not do this, High Level Assembler will issue this FILEDEF command for
you.
Under z/VSE: use the following JCL to specify the output trace data set:
// ASSGN SYSTRAC,DISK,VOL=volser,SHR
// DLBL SYSTRAC,’dsname’,0,SD
// EXTENT SYSTRAC,volser,1,0,start,tracks
CAUTION:
The trace output data set can be very large depending on the information
requested by IBM.
ITF(xx)
For more information on how to change the default options, using ASMAOPT, see
“Step 3: Change default options and DDNAMES” on page 30 (z/OS), “Changing
option and DDNAMES defaults” on page 71 (CMS), or “Changing default options”
on page 111 (z/VSE).
ASMAOPT
The installation macro, ASMAOPT, lets you specify installation defaults for
assembler options during installation of High Level Assembler.
ASMAOPT
,
option
Defaults
If an option is not specified when the ASMAOPT macro is assembled, then the
IBM-supplied default is installed for that option. The default value is listed
with each option.
ASMAOPT options
The operands of the ASMAOPT macro, and the values that can specified for each
operand, are described below.
ADATA
ADATA=NO
ADATA=YES
YES
associated data is written to the file defined by the SYSADATA DD statement
(z/OS), the FILEDEF SYSADATA command (CMS), or the DLBL SYSADAT
statement (z/VSE).
NO
no associated data is collected.
Default
ADATA=NO
ADEXIT
|
| ADEXIT=
(name )
,string
|
name
identifies the name of a module that is loaded and called by the assembler to
monitor the associated data records written by the assembler to SYSADATA
(z/OS and CMS), or SYSADAT (z/VSE).
string
the character string that is passed to the exit module as part of the parameter
list built by the assembler. The character string is up to 64 characters in length.
Any character can be included in the string, subject to the rules for building
character strings defined in HLASM Language Reference. If the string includes
blanks, commas, or parentheses, enclose it in single quotation marks.
Default
No exit specified.
ALIGN
ALIGN=YES
ALIGN=NO
YES
instructs the assembler to check alignment of addresses in machine instructions
for consistency with the requirements of the operation code type. DC, DS,
DXD, and CXD are aligned on the correct boundaries.
NO
instructs the assembler not to check alignment of unprivileged machine
instruction data references, but still to check instruction references and
privileged machine instruction data references. DC, DS, and DXD are aligned
on the correct boundaries only if the duplication factor is 0.
Default
ALIGN=YES
ALIGNWARN
ALIGNWARN=YES
ALIGNWARN=NO
YES
instructs the assembler to issue one of the messages ASMA033I, ASMA212W,
or ASMA213W when there is an alignment error.
NO
instructs the assembler not to issue a message when there is an alignment
error.
Default
ALIGNWARN=YES
| ASA=
NO
YES
|
NO
instructs the assembler to use machine printer-control characters in records
written to the assembler listing file.
YES
instructs the assembler to use American National Standard printer-control
characters in records written to the assembler listing file.
BATCH
BATCH=YES
BATCH=NO
YES
instructs the assembler that multiple assembler source programs might be in
the input file. The first statement of the second and subsequent source
programs must immediately follow the END statement of the previous source
program. An end-of-file must immediately follow the last source program.
NO
instructs the assembler that only one assembler source program is in the input
file. Statements after the END statement are ignored.
Default
BATCH=YES
CODEPAGE
CODEPAGE=047C
CODEPAGE=xxxx
047C
Specifies that characters contained in the Unicode character (CU-type) data
constants (DCs) are to be converted using the ECECP: International 1
Unicode-3 mappings contained in module ASMA047C.
xxxx
Specifies that characters contained in the Unicode character (CU-type) data
constants (DCs) are to be converted using the Unicode mapping table module
ASMAxxxx where xxxx is the hexadecimal value of the number of the code
page contained in the module.
Default
CODEPAGE=047C
COMPAT
COMPAT=NO
,
NOCASE (1)
COMPAT= ( )
CASE
NOLITTYPE
LITTYPE
NOMACROCASE
MACROCASE
NOSYSLIST
SYSLIST
Notes:
1 Choose at least one option.
CASE
Instructs the assembler to maintain uppercase alphabetic character set
compatibility with earlier assemblers. It restricts language elements to
uppercase alphabetic characters A through Z if they were so restricted in
earlier assemblers.
NOCASE
Instructs the assembler to allow a mixed-case alphabetic character set.
LITTYPE
Instructs the assembler to return “U” as the type attribute for all literals.
NOLITTYPE
Instructs the assembler to provide the correct type attribute for literals once
they have been defined.
MACROCASE
Instructs the assembler to convert lowercase alphabetic characters (a through z)
in unquoted macro operands to uppercase alphabetic characters (A through Z).
NOMACROCASE
Instructs the assembler not to convert lowercase alphabetic characters (a
through z) in unquoted macro operands.
SYSLIST
Instructs the assembler to treat sublists in SETC symbols as compatible with
earlier assemblers. SETC symbols that are assigned parenthesized sublists are
treated as character strings, not sublists, when passed to a macro definition in
an operand of a macro instruction.
NOSYSLIST
Instructs the assembler not to treat sublists in SETC symbols as character
strings, when passed to a macro definition in an operand of a macro
instruction.
NO
Instructs the assembler to allow lowercase alphabetic characters a through z in
all language elements, to treat sublists in SETC symbols as sublists when
passed to a macro definition in the operand of a macro instruction, and to
provide the correct type attribute for literals once they have been defined.
Default
COMPAT=NO
CONTWARN
CONTWARN=YES
CONTWARN=NO
YES
the assembler issues diagnostic messages ASMA430W through ASMA433W
when one of the following situations occurs:
v The operand on the continued record ends with a comma and a continuation
statement is present but continuation does not start in the continue column
(usually column 16).
v A list of one or more operands ends with a comma, but the continuation
column (usually column 72) is blank.
v The continuation record starts in the continue column (usually column 16)
but there is no comma present following the operands on the previous
record.
v The continued record is full but the continuation record does not start in the
continue column (usually column 16).
NO
the assembler does not issue diagnostic messages ASMA430W through
ASMA433W when an inconsistent continuation is encountered.
Default
CONTWARN=YES
DBCS
DBCS=NO
DBCS=YES
YES
instructs the assembler to accept double-byte character set data, and to support
graphic (G-type) constants. The assembler recognizes X'0E' and X'0F' in
character strings enclosed by single quotation marks, and treats them as
shift-out and shift-in control characters for delimiting DBCS data.
NO
the assembler does not recognize X'0E' and X'0F' as double-byte character set
data delimiters, and does not support graphic (G-type) constants.
Default
DBCS=NO
DECK
DECK=NO
DECK=YES
YES
instructs the assembler to place the generated object module in the file defined
by the SYSPUNCH DD statement (z/OS), the FILEDEF SYSPUNCH command
(CMS), or the ASSGN SYSPCH statement (z/VSE).
NO
instructs the assembler not to place the generated object module in the file
DELETE
|
| DELETE=
,
( option )
,
( suboption )
|
option
an option that is to have its installation default value fixed. This option cannot
be overridden by invocation parameters. The option can be any of the
following assembler options:
Options
suboption
| a suboption of certain options that is to have its installation default value
| fixed. This suboption cannot be overridden by invocation parameters.
Notes:
| 1. If you specify the COMPAT option, one or more of the following suboptions
| must also be specified. You cannot specify any other suboption of COMPAT.
| v CASE
| v LITTYPE
| v MACROCASE
| v SYSLIST
| 2. (z/OS and CMS) If you specify the LIST option, one of more of the following
| suboptions must be specified:
| v 121
| v 133
| v MAX
| 3. If you specify the PCONTROL option, one or more of the following suboptions
| must also be specified.
|| DATA NODATA
| GEN NOGEN
| MCALL NOMCALL
| MSOURCE NOMSOURCE
| ON OFF
| UHEAD NOUHEAD
|
| 4. If you specify the TYPECHECK option, one of more of the following
| suboptions must be specified. You cannot specify any other suboption of
| TYPECHECK.
| v MAGNITUDE
| v REGISTER
Default
No options deleted.
DSECT
DSECT=NO
DSECT=YES
YES
instructs the assembler to produce a DSECT called ASMAOPT.
NO
instructs the assembler to produce a CSECT called ASMADOPT.
Default
DSECT=NO
DXREF
DXREF=YES
DXREF=NO
YES
the DSECT Cross Reference section is generated as part of the assembler listing.
The DSECT cross reference includes the symbolic names of all DSECTs defined
in the assembly, the assembled length and the external symbol dictionary
ESD
ESD=YES
ESD=NO
YES
the External Symbol Dictionary (ESD) section is generated as part of the
assembler listing. The ESD section of the assembler listing contains the external
symbol dictionary information that is passed to the linkage editor or loader in
the object module.
NO
the ESD section is not included in the assembler listing.
Default
ESD=YES
EXLITW
EXLITW=YES
EXLITW=NO
YES
the assembler issues the warning diagnostic message ASMA016W when a
literal is the object of an EX instruction
NO
the assembler suppresses the warning diagnostic message ASMA016W when a
literal is specified as the object of an EX instruction.
Default
EXLITW=YES
FLAG
FLAG=0
FLAG=integer
integer
| error diagnostic messages with a severity code of integer or higher, appear in
| the assembler listing. Error diagnostic messages with a severity code lower
| than integer do not appear in the listing, and the severity codes associated with
| those messages are not used to set the return code issued by the assembler.
| Any severity code from 0 through 255 can be specified. Error diagnostic
| messages have a severity code of 0, 2, 4, 8, 12, 16, or 20. MNOTEs can have a
| severity code of 0 through 255.
Default
FLAG=0
FOLD
FOLD=NO
FOLD=YES
YES
instructs the assembler to translate lowercase alphabetic characters (a through
z) in the assembler listing to uppercase alphabetic characters (A through Z). All
lowercase alphabetic characters are translated, including lowercase characters
in source statements, assembler error diagnostic messages, and assembler
listing lines provided by a user exit. Lowercase alphabetic characters are
translated to uppercase alphabetic characters, regardless of the setting of the
COMPAT(CASE) option.
NO
lowercase alphabetic characters are not translated to uppercase alphabetic
characters.
Default
FOLD=NO
GOFF=NO
GOFF=YES
YES
the assembler produces a generalized object format data set. The object data set
is defined by the SYSLIN DD statement (z/OS) or the FILEDEF SYSLIN
command (CMS). The generalized object format data set can only be processed
by DFSMS/MVS™ 1.3 or later.
NO
the assembler does not produce a generalized object format data set.
Default
GOFF=NO
| Notes:
| 1. The option XOBJECT is treated as a synonym for the GOFF option.
| 2. If you specify GOFF=YES, then you cannot specify TEST=YES.
| 3. If you specify GOFF=YES, you must also specify LIST=133 or LIST=MAX.
GOFFADATA=NO
GOFFADATA=YES
YES
the assembler includes the ADATA text record in the extended object format
data set (if one is produced — see GOFF). This format requires GOFF=YES.
NO
the assembler does not include the ADATA text record.
Default
GOFFADATA=NO
Notes:
1. This option can be specified as an assembler invocation parameter by
specifying the GOFF(ADATA) option.
2. The option XOBJADATA is treated as a synonym for the GOFFADATA option.
IMPLENWARN
IMPLENWARN=NO
IMPLENWARN=YES
YES
instructs the assembler to issue diagnostic message ASMA169I when an explicit
length subfield is omitted from an SS-format machine instruction.
NO
instructs the assembler not to issue diagnostic message ASMA169I when an
explicit length subfield is omitted from an SS-format machine instruction.
Default
IMPLENWARN=NO
INEXIT
|
| INEXIT=
(name )
,string
|
name
identifies the name of a module that is loaded and called by the assembler to
obtain source program statements, or to monitor the source program
statements read by the assembler from SYSIN (z/OS and CMS), or from
SYSIPT (z/VSE).
string
character string that is passed to the exit module as part of the parameter list
built by the assembler. The character string is up to 64 characters in length.
Any character can be included in the string, subject to the rules for building
character strings defined in HLASM Language Reference. If the string includes
blanks, commas, or parentheses, it must be enclosed in single quotation marks.
Default
No exit specified.
INFO
INFO=NO
INFO= yyyymmdd
YES
NO
Instructs the assembler not to copy any product information to the list dataset.
yyyymmdd
Instructs the assembler not to copy to the list dataset any product information
which is dated prior to yyyymmdd.
YES
Instructs the assembler to copy all product information to the list dataset.
Default
INFO=NO
LANGUAGE
LANGUAGE=EN
LANGUAGE= DE
ES
JP
UE
EN
diagnostic messages issued by the assembler and assembler listing headings
are printed in mixed uppercase and lowercase English.
DE
diagnostic messages issued by the assembler are in German. Assembler listing
headings are printed in mixed case English.
ES diagnostic messages issued by the assembler are in Spanish. Assembler listing
headings are printed in mixed case English.
JP diagnostic messages issued by the assembler are in Japanese. Assembler listing
headings are printed in uppercase English.
UE
diagnostic messages issued by the assembler and assembler listing headings
are printed in uppercase English.
Default
LANGUAGE=EN
LIBEXIT
|
| LIBEXIT=
(name )
,string
|
name
identifies the name of a module that is loaded and called by the assembler to
obtain macro library or copy library statements, or to monitor the macro
library or copy library statements read by the assembler from the file defined
by the SYSLIB DD statement (z/OS), the GLOBAL MACLIB command (CMS),
or the LIBDEF SOURCE statement (z/VSE). Macro library statements are
macro definition statements contained in a macro library. Copy library
statements are source program statements contained in a copy library.
string
the character string that is passed to the exit module as part of the parameter
list built by the assembler. The character string is up to 64 characters in length.
Any character can be included in the string, subject to the rules for building
character strings defined in HLASM Language Reference. If the string includes
blanks, commas, or parentheses, it must be enclosed in single quotation marks.
Default
No exit specified.
LIBMAC
LIBMAC=NO
LIBMAC=YES
YES
macro definition statements read from a macro library are imbedded in the
input source program immediately preceding the first invocation of that macro.
The assembler assigns statement numbers to the macro definition statements as
though they were included in the input source program.
NO
macro definition statements read from a macro library are not included in the
input source program.
Default
LIBMAC=NO
LIMIT
LIMIT=NO
LIMIT=integer
integer
when specified in conjunction with the WARN=8 suboption of the USING
option, tells the assembler the maximum displacement that is allowed in
base-displacement address resolution before a warning message is issued.
When the assembler converts an implicit address (symbolic address) into an
explicit address (base-displacement form address), it checks the calculated
displacement. If the calculated displacement is greater than the value specified
by integer, message ASMA304 is issued. integer must be a decimal value in the
range 0 to 4095. Specifying a value of 4095 is equivalent to specifying
LIMIT=NO.
NO
no calculated displacement checking is done.
Default
LIMIT=NO
LINECOUNT
LINECOUNT=60
LINECOUNT=integer
integer
the number of lines printed on each page of the assembler listing. integer must
have a value of 0, or 10 to 3267. If a value of 0 is specified, no page ejects are
generated and EJECT, CEJECT, and TITLE statements in the assembly are
ignored.
Up to 9 lines on each page can be used for heading lines.
Default
LINECOUNT=60
LIST
(1)
LIST= 121
YES
LIST = 133
MAX
NO
Notes:
1 For z/OS and CMS, the default is 121, for z/VSE the default is YES.
NO
no assembler listing is produced. If LIST=NO is specified, the options DXREF,
ESD, MAP, MXREF, PCONTROL, PRTEXIT, RLD, and XREF are ignored.
Defaults
z/OS and CMS
LIST=121
z/VSE LIST=YES
MACHINE
|
| MACHINE =
S370
S370XA
S370ESA
S390
S390E
ZSERIES
ZS
ZSERIES-2
ZS-2
ZSERIES-3
ZS-3
ZSERIES-4
ZS-4
|
| Usage: The MACHINE option is a synonym of the OPTABLE option, and it’s
| operands are also synonyms of, but are not identical to, the OPTABLE
| operands. See OPTABLE on page 186.
S370
the assembler loads and uses the operation code table that contains the
symbolic operation codes for the machine instructions specific to System/370™
systems, including those with a vector facility. See OPTABLE=370.
S370XA
the assembler loads and uses the operation code table that contains the
symbolic operation codes for the machine instructions specific to systems
operating in System/370 extended-architecture mode, including those with a
vector facility. See OPTABLE=XA.
S370ESA, S390, S390E
the assembler loads and uses the operation code table that contains the
symbolic operation codes for the machine instructions specific to systems
operating according to the ESA/370 or ESA/390 architecture, including those
with a vector facility. See OPTABLE=ESA.
ZSERIES, ZS
the assembler loads and uses the operation code table that contains the
symbolic operation codes for the machine instructions specific to
Z/Architecture systems. See OPTABLE=ZOP.
ZSERIES-2, ZS-2
the assembler loads and uses the operation code table that contains the
symbolic operation codes for the machine instructions specific to
Z/Architecture systems with the Long-Displacement Facility, the DAT
Enhancement Facility, the Message-Security Assist, and the HFP
Multiply-Add/Subtract Facility. See OPTABLE=YOP.
| ZSERIES-3, ZS-3
| the assembler loads and uses the operation code table that contains the
| symbolic operation codes for the machine instructions specific to
| Z/Architecture systems with the decimal floating point facility. See
| OPTABLE=ZS3.
| ZSERIES-4, ZS-4
| the assembler loads and uses the operation code table that contains the
| symbolic operation codes for the machine instructions specific to
| Z/Architecture systems with the general instructions extensions facility. See
| OPTABLE=ZS4.
Default
There is no default for the MACHINE option.
If you do not specify any value for the MACHINE option, the assembler takes
the value you have specified for OPTABLE, if any, or the default
OPTABLE=UNI, if not.
If you specify a value for MACHINE and a value for OPTABLE, and the
values you specify are mutually exclusive (for example, you specify
MACHINE=S390 and OPTABLE=ZOP) then the assembler will take the
specification for MACHINE.
MACHINELIST
MACHINELIST=NO
MACHINELIST=YES
MAP
MAP=YES
MAP=NO
YES
the USING Map section is generated as part of the assembler listing. The
USING Map is a summary of each USING, DROP, PUSH USING, and POP
USING statement in the assembler, including the statement number, the text of
the statement, and the registers involved.
NO
the USING map is not generated.
Default
MAP=YES
MXREF
MXREF=SOURCE
MXREF= YES
NO
FULL
XREF
SOURCE
| the Macro and Copy Code Source Summary section only is generated as part of
| the assembler listing. The Macro and Copy Code Cross Reference section is not.
YES
same as SOURCE.
NO
neither the Macro and Copy Code Source Summary section nor the Macro and
Copy Code Cross Reference section are generated as part of the assembler listing.
FULL
the Macro and Copy Code Source Summary and Macro and Copy Code Cross
Reference sections are generated as part of the assembler listing. These sections
include the name of each macro library or copy library accessed, the volume
serial number of the first DASD volume on which the library resides, and the
names of each member retrieved from the library.
XREF
| the Macro and Copy Code Cross Reference section only is generated as part of the
| assembler listing. The Macro and Copy Code Source Summary is not.
Default
MXREF=SOURCE
OBJECT
OBJECT=YES
OBJECT=NO
YES
| instructs the assembler to place the generated object module in the file defined
| by the SYSLIN DD statement (z/OS), the FILEDEF SYSLIN command (CMS),
| or the DLBL IJSYSLN statement (z/VSE).
NO
instructs the assembler not to place the generated object module in the file
defined by the SYSLIN DD statement (z/OS), the FILEDEF SYSLIN command
(CMS), or the DLBL IJSYSLN statement (z/VSE).
Default
OBJECT=YES
OBJEXIT
|
| OBJEXIT=
(name )
,string
|
name
identifies the name of a module that is loaded and called by the assembler to
receive object module records, or to monitor the object module records written
by the assembler to SYSPUNCH or SYSLIN (z/OS and CMS), or SYSPCH
(z/VSE).
string
the character string that is passed to the exit module as part of the parameter
list built by the assembler. The character string is up to 64 characters in length.
Any character can be included in the string, subject to the rules for building
character strings defined in HLASM Language Reference. If the string includes
blanks, commas, or parentheses, it must be enclosed in single quotation marks.
Default
No exit specified.
OPTABLE
OPTABLE=UNI
OPTABLE= DOS
ESA
XA
370
ZOP
YOP
ZS3
ZS4
UNI
the assembler loads and uses the operation code table that contains the
symbolic operation codes for the machine instructions that can be used on all
System/370 and System/390® systems, including those with a vector facility.
DOS
the assembler loads and uses the DOS operation code table. The DOS
operation code is designed specifically for assembling programs previously
assembled using the DOS/VSE assembler. The operation code table contains
the System/370 machine instructions, excluding those with a vector facility.
ESA
the assembler loads and uses the operation code table that contains the
symbolic operation codes for the machine instructions specific to systems
operating according to the ESA/370 or ESA/390 architecture, including those
with a vector facility.
XA
the assembler loads and uses the operation code table that contains the
symbolic operation codes for the machine instructions specific to systems
operating in System/370 extended-architecture mode, including those with a
vector facility.
370
the assembler loads and uses the operation code table that contains the
symbolic operation codes for the machine instructions specific to System/370
systems, including those with a vector facility.
ZOP
the assembler loads and uses the operation code table that contains the
symbolic operation codes for the machine instructions specific to
Z/Architecture systems.
YOP
the assembler loads and uses the operation code table that contains the
symbolic operation codes for the machine instructions specific to
Z/Architecture systems with the Long-Displacement Facility, the DAT
Enhancement Facility, the Message-Security Assist, and the HFP
Multiply-Add/Subtract Facility.
| ZS3
| the assembler loads and uses the operation code table that contains the
OPTABLELIST
OPTABLELIST=NO
OPTABLELIST=YES
NO
instructs the assembler not to produce the Operation Code Table Contents
report.
YES
instructs the assembler to produce the Operation Code Table Contents report.
Default
OPTABLELIST=NO
PAGE0WARN
PAGE0WARN=NO
PAGE0WARN=YES
NO
instructs the assembler not to issue diagnostic message ASMA309W when an
operand is resolved to a baseless address and a base and displacement is
expected.
Appendix A. High Level Assembler Options 187
ASMAOPT options
YES
instructs the assembler to issue diagnostic message ASMA309W when an operand
is resolved to a baseless address and a base and displacement is expected.
Since a baseless address is usually correct in the case of load address and all
shift instructions, this message will not be issued for any of these instructions.
Default
PAGE0WARN=NO
PCONTROL
PCONTROL=NO
,
NODATA (1)
PCONTROL = ( )
DATA
NOGEN
GEN
NOMCALL
MCALL
NOMSOURCE
MSOURCE
OFF
ON
NOUHEAD
UHEAD
Notes:
1 Choose at least one option.
DATA
instructs the assembler to print the object code of all constants in full, as
though a PRINT DATA statement was specified at the beginning of the source
program. All PRINT NODATA statements in the source program are ignored.
However, specifying PCONTROL=DATA does not override PRINT OFF or
PRINT NOGEN statements in the source program.
NODATA
instructs the assembler to print only the first 8 bytes of the object code of
constants, as though a PRINT NODATA statement was specified at the
beginning of the source program. All PRINT DATA statements in the source
program are ignored.
GEN
instructs the assembler to print all statements generated by the processing of a
macro, as though a PRINT GEN statement was specified at the beginning of
the source program. All PRINT NOGEN statements in the source program are
ignored. However, specifying PCONTROL=GEN does not override PRINT OFF
statements in the source program.
NOGEN
instructs the assembler not to print statements generated by the processing of a
macro or open code statements with substitution variables, as though a PRINT
NOGEN statement was specified at the beginning of the source program. All
PRINT GEN and PRINT MSOURCE statements in the source program are
ignored.
MCALL
instructs the assembler to print nested macro instructions, as though a PRINT
MCALL statement was specified at the beginning of the source program. All
PRINT NOMCALL statements in the source program are ignored. However,
specifying PCONTROL=MCALL does not override PRINT OFF or PRINT
NOGEN statements in the source program.
NOMCALL
instructs the assembler not to print nested macro instructions, as though a
PRINT NOMCALL statement was specified at the beginning of the source
program. All PRINT MCALL statements in the source program are ignored.
MSOURCE
instructs the assembler to print the source statements generated during macro
processing and the assembled addresses and generated object code of the
statements. All PRINT NOMSOURCE statements in the source program are
ignored. However, specifying PCONTROL=MSOURCE does not override
PRINT OFF or PRINT NOGEN statements in the source program.
NOMSOURCE
instructs the assembler not to print source statements generated during macro
processing, but print the assembled addresses and generated object code of the
statements. All PRINT MSOURCE statements in the source program are
ignored.
ON
instructs the assembler to produce an assembler listing unless the LIST=NO
option is specified. All PRINT OFF statements in the source program are
ignored.
OFF
instructs the assembler not to produce the Source and Object section of the
assembler listing. All PRINT ON statements in the source program are ignored.
UHEAD
instructs the assembler to print a summary of active USINGs in the heading
lines of each page of the Source and Object section of the listing, as though a
PRINT UHEAD statement was specified at the beginning of the source
program. All PRINT NOUHEAD statements in the source program are ignored.
However, specifying PCONTROL=UHEAD does not override PRINT OFF
statements in the source program.
NOUHEAD
instructs the assembler not to print a summary of active USINGs, as though a
PRINT NOUHEAD statement was specified at the beginning of the source
program. All PRINT UHEAD statements in the source program are ignored.
NO
the assembler honors all PRINT statements in the source program. The
Note: The PCONTROL option cannot be used to override the LIST=NO option. If
the LIST=NO option is specified, the PCONTROL option is ignored.
PESTOP
PESTOP=NO
PESTOP=YES
YES
if the assembler detects errors in the invocation parameters or in any
*PROCESS statements specified when the assembler is called, all such errors
are reported in assembler error diagnostic messages, and the assembly
terminates. Similarly, if the invocation parameters or *PROCESS statements
contain any options that have a fixed installation default value (the option was
specified in the DELETE option of the ASMAOPT macro), all such attempts to
override a fixed installation default are reported in assembler error diagnostic
messages, and the assembly terminated. See the DELETE option on page 173.
NO
the assembler reports errors in invocation parameters and in any *PROCESS
statements, and continues the assembly using the installation default value for
the erroneously specified option. Similarly, the assembler reports any attempts
to override fixed installation defaults, and continues the assembly using the
default value.
Default
PESTOP=NO
PROFILE
PROFILE=NO
PROFILE=YES
YES
the assembler copies the profile member into the source program, as if the
source program contained a COPY instruction as its first statement.
If you do not specify a profile member using the PROFMEM operand, the
default member name is ASMAPROF.
NO
the assembler does not copy the profile member into the source program.
Default
PROFILE=NO
PROFMEM
PROFMEM=ASMAPROF
PROFMEM=name
ASMAPROF
the default profile member.
name
the profile member name.
Default
PROFMEM=ASMAPROF
PRTEXIT
|
| PRTEXIT=
(name )
,string
|
name
identifies the name of a module that is loaded and called by the assembler to
receive assembler listing records, or to monitor the assembler listing records
written by the assembler to SYSPRINT (z/OS and CMS) or SYSLST (z/VSE).
string
the character string that is passed to the exit module as part of the parameter
list built by the assembler. The character string is up to 64 characters in length.
Any character can be included in the string, subject to the rules for building
character strings defined in HLASM Language Reference. If the string includes
blanks, commas, or parentheses, it must be enclosed in single quotation marks.
Default
No exit specified.
PUSHWARN
PUSHWARN=YES
PUSHWARN=NO
YES
| the assembler issues warning diagnostic message ASMA138W when a
| PUSH/POP stack is not empty at the completion of an assembly.
NO
| the assembler suppresses warning diagnostic message ASMA138W when a
| PUSH/POP stack is not empty at the completion of an assembly.
Default
PUSHWARN=YES
RA2
RA2=NO
RA2=YES
YES
| the assembler suppresses error diagnostic message ASMA066W when 2-byte
| relocatable address constants, such as AL2(*) and Y(*), are defined in the
| source program.
NO
| the assembler issues error diagnostic message ASMA066W when 2-byte
| relocatable address constants, such as AL2(*) and Y(*), are defined in the
| source program.
Default
RA2=NO
RECORDINFO
RECORDINFO=YES
RECORDINFO=NO
YES
instructs the assembler to do the following:
v Issue diagnostic message ASMA435I immediately after the last diagnostic
message for each statement in error. The message text describes the record
number and input data set name of the statement in error.
v Include the member name (if applicable), the record number and the input
data set concatenation value with the statement number in the list of flagged
statements in the Diagnostic Cross Reference and Assembler Summary section of
the assembler listing.
NO
instructs the assembler to do the following:
v Not issue diagnostic message ASMA435I for statements in error.
v Only show the statement number in the list of flagged statements in the
Diagnostic Cross Reference and Assembler Summary section of the assembler
listing.
Default
RECORDINFO=YES
RENT
RENT=NO
RENT=YES
YES
the assembler checks for possible coding violations of program reenterability.
NO
the assembler does not check for possible coding violations of program
reenterability except in executable control sections defined with the RSECT
instruction.
Default
RENT=NO
RLD
RLD=YES
RLD=NO
YES
| the Relocation Dictionary (RLD) section is generated as part of the assembler
| listing. The RLD section of the assembler listing contains the relocation list
| dictionary information that is passed to the linkage editor or loader in the
| object module.
NO
the RLD is not included in the assembly listing.
Default
RLD=YES
Appendix A. High Level Assembler Options 193
ASMAOPT options
RXREF
RXREF=YES
RXREF=NO
YES
Instructs the assembler to produce the General Purpose Register Cross Reference
section of the assembler listing. The General Purpose Register Cross Reference
includes:
v The register number
v The statement number which references the register
NO
Instructs the assembler not to produce the General Purpose Register Cross
Reference section of the assembler listing.
Default
RXREF=YES
SECTALGN
|
| SECTALGN=8
SECTALGN=alignment
|
alignment
Specifies the desired alignment for all sections, expressed as a power of 2 with
a range from 8 (doubleword) to 4096 (page). The default value is 8 for
doubleword alignment.
Default
SECTALGN=8
SIZE
SIZE=MAX
SIZE= intgK
intgM
MAX-intgK
MAX-intgM
SIZE=MAX
specifies that the assembler requests all the available space in the user region
(z/OS), virtual machine (CMS), or in the partition GETVIS (z/VSE).
SIZE=intgK
specifies the amount of virtual storage in 1024-byte (1K) increments.
The minimum acceptable value is 200K.
SIZE=intgM
specifies the amount of virtual storage in 1048576-byte (1M) increments.
The minimum acceptable value is 1M.
SIZE=MAX-intgK
Specifies that the assembler requests all the available space in the user region
(z/OS), virtual machine (CMS), or partition GETVIS (z/VSE), less the amount
of intgK of storage (1K equals 1024 bytes).
The minimum acceptable value is 1K.
MAX-intgM
Specifies that the assembler requests all the available space in the user region
(z/OS), virtual machine (CMS), or partition GETVIS (z/VSE), less the amount
of intgM of storage (1M equals 1048756 bytes).
The minimum acceptable value is 1M.
Notes:
1. The maximum storage value you can specify might not be available in the user
region (z/OS), virtual machine (CMS), or in the partition GETVIS (z/VSE),
| 2. The assembler obtains the storage specified from above the 16MB line, if
| available. If storage above the 16MB line is not available, the assembler obtains
| the storage from below the 16MB line.
| 3. The minimum amount of working storage required by the assembler is 200K.
4. When you specify the MAX suboption, the assembler releases 128K back to the
user region (z/OS), virtual machine (CMS), or the partition GETVIS (z/VSE),
for system usage. When you specify the MAX suboption, there might not be
enough storage remaining in the user region (z/OS), virtual machine (CMS), or
the partition GETVIS (z/VSE), to load any exits you specify, or any external
functions you use in your assembly.
5. The assembler loads user I/O exits before it obtains the working storage. If the
user exit obtains storage, then it reduces the amount available for the
assembler.
6. The assembler loads external function routines after it obtains working storage.
If you use external functions in your program, you should reduce the value
you specify in the SIZE option, to allow storage space for the external function
modules, and any storage they might acquire.
High Level Assembler acquires the amount of storage you specify in the SIZE
option from the user region (z/OS), virtual machine (CMS) or partition GETVIS
| (z/VSE).
| The statistics in the Diagnostic Cross Reference and Assembler Summary section of the
| assembly listing shows the amount of storage the assembler allocated. You must
| either specify a large enough value on the SIZE option to allow the assembler to
| perform an in-storage assembly, or use the WORKFILE option to provide a work
| data set. For information about the WORKFILE option, see page 202.
Default
SIZE=MAX
STORAGE
|
| STORAGE=
BELOW
ABOVE
|
| Note: Starting with High Level Assembler R5, the STORAGE option is obsolete. It
| is documented here for compatibility. The assembler ignores this option and
| always attempts to obtain the storage specified by the SIZE option from
| above the 16MB line. If storage above the 16MB line is not available, the
| assembler attempts to obtain the storage from below the 16MB line.
SUBSTRWARN
SUBSTRWARN=NO
SUBSTRWARN=YES
YES
the assembler issues error diagnostic message ASMA094 when the second
subscript value of the substring notation indexes past the end of the character
expression.
NO
the assembler does not issue error diagnostic message ASMA094 when the
second subscript value of the substring notation indexes past the end of the
character expression.
Default
SUBSTRWARN=NO
SUPRWARN
SUPRWARN=NO
,
(1)
SUPRWARN=( msgno )
Notes:
1 Specify at least one message number.
SYSPARMV
|
| SYSPARMV=
string
|
string
the character string used as the default value of the &SYSPARM system
variable symbol. The character string is up to 255 characters in length. Any
character can be included in the string, subject to the rules for building
character strings defined in HLASM Language Reference. If the string includes
blanks, commas, or parentheses, it must be enclosed in single quotation marks.
Default
SYSPARMV not specified.
TERM
TERM=NO
TERM= YES
WIDE
NARROW
YES
equivalent to WIDE. See the description of TERM=WIDE below.
WIDE
assembler messages are written to the file defined by the SYSTERM DD
statement (z/OS), the FILEDEF SYSTERM statement (CMS), or the ASSGN
SYSLOG statement (z/VSE). Messages written to the terminal file do not have
multiple consecutive blanks compressed to a single blank.
NARROW
assembler messages are written to the file defined by the SYSTERM DD
statement (z/OS), the FILEDEF SYSTERM statement (CMS), or the ASSGN
SYSLOG statement (z/VSE). Messages written to the terminal file have
multiple consecutive blanks compressed to a single blank.
NO
assembler messages are not written to the file defined by the SYSTERM DD
statement (z/OS), the FILEDEF SYSTERM statement (CMS), or the ASSGN
SYSLOG statement (z/VSE).
Default
TERM=NO
TEST
TEST=NO
TEST=YES
YES
the object module contains the special source symbol table (SYM records).
TEST=YES cannot be specified with GOFF=YES or XOBJECT=YES.
NO
the object module does not contain the special source symbol table (SYM
records).
Default
TEST=NO
THREAD
THREAD=YES
THREAD=NO
YES
instructs the assembler to not reset the location counter at the beginning of
each CSECT.
NO
instructs the assembler to reset the location counter at the beginning of each
CSECT.
Default
THREAD=YES
TRANSLATE
TRANSLATE=NO
TRANSLATE= AS
xx
AS
use ASCII translation table ASMALTAS to translate characters contained in
data constants and literals.
xx use user translation table ASMALTxx to translate characters contained in data
constants and literals.
NO
use the standard EBCDIC character set to translate characters contained in data
constants and literals.
Default
TRANSLATE=NO
TRMEXIT
|
| TRMEXIT=
(name )
,string
|
name
the user-supplied terminal (SYSTERM) exit. This module is invoked for TERM
exit type processing.
This exit might be used, for example, to write variable-length assembler
terminal records.
string
the character string that is passed to the exit module as part of the parameter
list built by the assembler. The character string is up to 64 characters in length.
Any character can be included in the string, subject to the rules for building
character strings defined in HLASM Language Reference. If the string includes
blanks, commas, or parentheses, it must be enclosed in single quotation marks.
Default
No exit specified.
TYPECHECK
TYPECHECK=(MAGNITUDE,REGISTER)
TYPECHECK= (NOMAGNITUDE,REGISTER)
(MAGNITUDE,NOREGISTER)
(NOMAGNITUDE,NOREGISTER)
YES
NO
MAGNITUDE | NOMAGNITUDE
Specifies whether or not the assembler will perform magnitude validation of
signed immediate-data fields of machine instruction operands.
REGISTER | NOREGISTER
specifies whether or not the assembler will perform type checking of register
fields of machine instruction operands.
YES
Enable all typechecking.
NO
Disable all typechecking.
Default
TYPECHECK=(MAGNITUDE,REGISTER)
USING0WARN
USING0WARN=YES
USING0WARN=NO
| YES
| the assembler issues warning diagnostic message ASMA306W when a USING:
| v Is coincident with the implied USING 0,0 and option USING(WARN(1)) is in
| effect.
| v Overlaps the implied USING 0,0 and option USING(WARN(4)) is in effect.
| NO
| the assembler suppresses warning diagnostic message ASMA306W.
| Default
| USING0WARN=YES
WARN
WARN=15
WARN= integer
NO
integer
the conditions under which the assembler issues various warning messages
pertaining to the USING instructions used in the source program. The
permissible value for integer is in the range 1 to 15.
Several conditions can be combined by adding together the associated
condition numbers. For example, specifying WARN(12) instructs the assembler
to issue warning diagnostic messages for the conditions with condition
numbers 4 and 8.
The meaning of the various condition number values for integer are:
1 the assembler issues message:
| v ASMA300 when a earlier active ordinary (unlabeled) USING’s range
| coincides with and supersedes that of the USING being processed.
| v ASMA301 when the range of the USING being processed coincides with
| and supersedes that of a earlier active ordinary (unlabeled) USING.
| v ASMA306 when the range of the USING being processed coincides with
| the implicit USING 0,0 (for example USING 0,2).
| 2 the assembler issues message ASMA302 when a USING specifies R0 as a
| base register, with a non-zero absolute or relocatable expression for the
| base address.
4 Multiple resolutions: The assembler issues message:
| v ASMA303 when multiple resolutions are possible for an implicit address.
| v ASMA306 when the range of the USING being processed overlaps the
| range of the implicit USING 0,0 (for example USING 16,2).
| 8 the assembler issues message ASMA304 when the calculated displacement
| in any valid resolution exceeds the threshold specified in the LIMIT
| suboption.
NO
no USING warning messages are issued.
Default
WARN=15
| WORKFILE
|
| WORKFILE=NO
WORKFILE=YES
|
||
| YES
| the assembler will attempt to open the workfile dataset, and if successfully
| opened, then the workfile will be used as a spill file if required.
| NO
| the assembler does not attempt to open the workfile dataset. Sufficient storage
| must be specified via the SIZE option to avoid abnormal terminations.
| Default
| WORKFILE=NO
XOBJADATA=NO
XOBJADATA=YES
YES
the assembler includes the ADATA text record in the generalized object format
data set (if one is produced — see XOBJECT). This format requires
XOBJECT=YES.
NO
the assembler does not include the ADATA text record.
Default
XOBJADATA=NO
Notes:
1. This option can be specified as an assembler invocation parameter by
specifying the XOBJECT(ADATA) option.
2. This option has been superseded by the option GOFFADATA.
XOBJECT=NO
XOBJECT=YES
YES
the assembler produces a generalized object format data set. The object data set
XREF
XREF=(SHORT,UNREFS)
XREF= SHORT
FULL
UNREFS
NO
SHORT
symbol cross-reference information for only those symbols that are referred to
is generated as part of the assembler listing. Any symbols that are defined, but
not referred to, are not included in the cross-reference listing.
FULL
symbol cross-reference information for all symbols used in the assembly is
generated as part of the assembler listing. This includes symbols that are
defined, but never referred to.
UNREFS
the assembler produces the Unreferenced Symbols Defined in CSECTs section of
the assembler listing. The symbols are listed in symbol name order. UNREFS
can be specified with the SHORT suboption to produce a cross-reference list of
referenced symbols. The UNREFS suboption can not be specified with the
FULL suboption.
NO
symbol cross-reference information is not generated as part of the assembler
listing.
Default
XREF=(SHORT,UNREFS)
Note: For further information on how to change the DDNames, using ASMADD,
see “Step 3: Change default options and DDNAMES” on page 30 (z/OS), or
“Changing option and DDNAMES defaults” on page 71 (CMS).
ASMADD Syntax
The syntax of the ASMADD installation macro is given below.
ASMADD
,
ddname
ASMADD
The operands of the ASMADD macro, and the values that can be specified for each
operand, are described below. The IBM-supplied default values are shown above
the main path.
ADATA
ADATA=SYSADATA
ADATA=ddname
ddname
the ddname of the data set containing the assembler language program data
that is generated by the assembler when the ADATA assembler option is
specified.
Default
ADATA=SYSADATA
IN
IN=SYSIN
IN=ddname
ddname
the ddname of the input data set containing source statements to be processed.
Default
IN=SYSIN
LIB
LIB=SYSLIB
LIB=ddname
ddname
the ddname of the data set containing system macros, installation-cataloged
macros, and members to be included by COPY statements.
Default
LIB=SYSLIB
LIN
LIN=SYSLIN
LIN=ddname
ddname
the ddname of the data set containing the object module generated by the
assembler when the OBJECT or XOBJECT assembler option is specified.
Default
LIN=SYSLIN
OPT
OPT=ASMAOPT
OPT=ddname
ddname
the ddname of the input data set containing the assembler options.
Default
OPT=ASMAOPT
PRINT=SYSPRINT
PRINT=ddname
ddname
the ddname of the data set containing the assembler listing generated by the
assembler when the LIST assembler option is specified.
Default
PRINT=SYSPRINT
PUNCH
PUNCH=SYSPUNCH
PUNCH=ddname
ddname
the ddname of the data set containing the object module generated by the
assembler when the DECK assembler option is specified.
Default
PUNCH=SYSPUNCH
TERM
TERM=SYSTERM
TERM=ddname
ddname
the ddname of the data set containing error messages and assembler completion
messages to be displayed at the terminal when the TERM assembler option is
specified.
Default
TERM=SYSTERM
UT1
UT1=SYSUT1
UT1=ddname
ddname
the ddname of the data set used as the assembler work file.
Default
UT1=SYSUT1
Note: Do not modify the product supplied P696234J $PPF or P696234J PPF files to
change the file pool name or any other installation parameters. If the
P696234J $PPF file is serviced, the existing $PPF file will be replaced, and
any changes to that file will be lost; by creating your own $PPF override,
your updates will be preserved.
The following process describes changing the default file pool name, VMSYS, to
MYPOOL1:
1. Create a new $PPF override file, or edit the override file created via the ’Make
Override Panel’ function.
Command Explanation
xedit overname $PPF fm2 overname is the PPF override file name (such
as “myHLASM”) that you want to use.
:OVERLST. HLASMSFS
*
* =================================================================== *
* Override Section for Initial Installation (Using SFS Directories) *
* =================================================================== *
:HLASMSFS. HLASMSFS P696234J
:DCL. REPLACE
&191 DIR MYPOOL1:P696234J.
&SAMPZ DIR MYPOOL1:P696234J.HLASM.LOCAL
&DELTZ DIR MYPOOL1:P696234J.HLASM.DELTA
&APPLX DIR MYPOOL1:P696234J.HLASM.APPLYALT
&APPLZ DIR MYPOOL1:P696234J.HLASM.APPLYPROD
&BLD0Z DIR MYPOOL1:P696234J.HLASM.TBUILD
&BAS1Z DIR MYPOOL1:P696234J.HLASM.OBJECT
&HLAID1 USER P696234J
:EDCL.
:END.
*
(This override replaces the :DCL. section of the HLASMSFS override area of the
P696234J $PPF file.)
3. If your $PPF override file was created on the A disk, copy it to file mode
D—the Software Inventory minidisk (MAINT 51D). Then erase it from filemode
A.
Command Explanation
Options:
OLDDATE
Use the date and time on the input file as the date and time of last
update of the output file.
4. Compile your changes to create the usable overname PPF file.
Command Explanation
vmfppf overname HLASMSFS overname is the file name of your $PPF
override file.
Now that the overname PPF file has been created, you should specify overname
instead of P696234J as the PPF name for those VMSES/E commands that require a
PPF name.
accept. An SMP/E process that moves distributed compiler options. Keywords that can be specified to
code and programs to the distribution libraries. control certain aspects of compilation. Compiler options
can control the nature of the load module generated by
activate. To make a program available for use. the compiler, the types of printed output to be
produced, the efficient use of the compiler, and the
addressing mode (AMODE). An attribute that refers destination of error messages.
to the address length that a routine is prepared to
handle upon entry. Addresses may be 24 or 31 bits component. (1) Software that is part of a functional
long. unit. (2) A set of modules that performs a major
function within a system.
address space. Domain of addresses that are accessible
by an application. condition code. A code that reflects the result of a
previous input/output, arithmetic, or logical operation.
AMODE. Addressing mode.
control block. A storage area used by a computer
APAR. Authorized program analysis report. program to hold control information.
authorized program analysis report (APAR). A control file. In CMS, a file that contains records that
request for correction of a problem caused by a defect identify the updates to be applied and the
in a current release of a program. macrolibraries, if any, needed to assemble a particular
source program.
authorized program facility (APF). The authorized
program facility (APF) is a facility that an installation control program (CP). A computer program designed
manager uses to protect the system. In MVS, certain to schedule and to supervise the execution of programs
system functions, such as all or part of some SVCs, are of a computer system.
sensitive; their use must be restricted to users who are
authorized. An authorized program is one that executes control section (CSECT). The part of a program
in supervisor state, or with APF authorization. specified by the programmer to be a relocatable unit,
all elements of which are to be loaded into adjoining
auxiliary file. In CMS, a file that contains a list of file main storage locations.
types of update files to be applied to a particular
source file. control statement. (1) In programming languages, a
statement that is used to alter the continuous sequential
execution of statements; a control statement can be a
B conditional statement, such as IF, or an imperative
statement, such as STOP. (2) In JCL, a statement in a
base. The core product, upon which features may be job that is used in identifying the job or describing its
separately ordered and installed. requirements to the operating system.
batch. Pertaining to activity involving little or no user conversational monitor system (CMS). A virtual
action. Contrast with interactive. machine operating system that provides general
interactive time sharing, problem solving, and program
byte. The basic unit of storage addressability, usually
development capabilities, and operates only under the
with a length of 8 bits.
control of the VM/370 control program.
D E
data definition name (DDNAME). The logical name ECMODE. Extended control mode.
of a file within an application. The DDNAME provides
the means for the logical file to be connected to the executable program. (1) A program that has been
physical file. link-edited and therefore can run in a processor. (2) The
set of machine language instructions that constitute the
data set. On MVS, a named collection of related data output of the compilation of a source program.
records that is stored and retrieved by an assigned
name. Equivalent to a CMS file. Extended control mode (ECMODE). A mode in which
all features of a System/370 computing system,
data set name (dsname). The data set name on the including dynamic address translation, are operational.
DD statement in the JCL or the dsname operand of the
TSO ALLOC command. Extended Service Option (ESO). A service option that
gives a customer all the new fixes for problems in IBM
DBCS. Double-byte character set. licensed programs that operate under that customer’s
operating system.
DDDEF. Dynamic data definition.
DD statement. In MVS, connects the logical name of a feature number. A four-digit code used by IBM to
file and the physical name of the file. process hardware and software orders.
Glossary 219
single relocatable load module. The linkage editor then nonexecutable components. Components of a product
stores the load module in a program library in main that cannot be run.
storage.
non reentrant. A program that cannot be shared by
link-edit. To create a loadable computer program by multiple users.
means of a linkage editor.
nonreenterable. See non reentrant.
load module. An application or routine in a form
suitable for execution. The application or routine has NSS. named saved system
been compiled and link-edited; that is, address
constants have been resolved. O
logical saved segment. A portion of a physical saved
object code. Output from a compiler or assembler
segment that CMS can manipulate. Each logical saved
which is itself executable machine code or is suitable
segment can contain different types of program objects,
for processing to produce executable machine code.
such as modules, text files, execs, callable services
libraries, language repositories, user-defined objects, or object deck. Synonymous with object module, text deck.
a single minidisk directory. A system segment
identification file (SYSTEM SEGID) associates a logical object module. A portion of an object program
saved segment to the physical saved segment in which suitable as input to a linkage editor. Synonymous with
it resides. See physical saved segment and saved segment. text deck, object deck.
LPA. Link pack area. online. (1) Pertaining to a user’s ability to interact
with a computer. (2) Pertaining to a user’s access to a
M computer via a terminal.
program number. The seven-digit code (in the format RMODE. Residence mode.
xxxx-xxx) used by IBM to identify each program
product. run. To cause a program, utility, or other machine
function to be performed.
program temporary fix (PTF). A temporary solution
or bypass of a problem diagnosed by IBM as resulting
from a defect in a current unaltered release of the
S
program.
save area. Area of main storage in which contents of
PSP. Preventive service planning. registers are saved.
PWS. Programmable workstation. service level. The modification level, release, version,
and fix level of a program. The service level
incorporates PTFs if there are any.
Q
saved segment. A segment of storage that has been
qualifier. A modifier that makes a name unique. saved and assigned a name. Saved segments can be
physical saved segments that CP recognizes or logical
saved segments that CMS recognizes. The segments can
R be loaded and shared among virtual machines, which
helps use real storage more efficiently, or a private,
reentrant. The attribute of a routine or application that
nonshared copy can be loaded into a virtual machine.
allows more than one user to share a single copy of a
See logical saved segment and physical saved segment.
load module.
shared segment. In VM, a feature of a saved system
reenterable. See reentrant
that allows one or more segments of reenterable code
relative file tape (RELFILE tape). A standard label in real storage to be shared among many virtual
tape made up of two or more files. It contains a file of machines.
the MCSs for one or more function SYSMODs and one
shared storage. An area of storage that is the same for
or more relative files containing unloaded source data
each virtual address space. Because it is the same space
sets and unloaded, link-edited object data sets at the
for all users, information stored there can be shared
distribution library level. A relative file tape is one way
and does not have to be loaded in the user region.
of packaging SYSMODs, and is typically used for
function SYSMODs. shared virtual area (SVA). In VSE, a high address area
of virtual storage that contains a system directory list
relative files (RELFILEs). Files containing
(SDL) of frequently used phases, resident programs that
modification text and JCL input data associated with a
can be shared between partitions, and an area for
SYSMOD.
system support.
RELFILEs. Relative files
severity code. A part of run-time messages that
RELFILE tape. Relative file tape indicates the severity of the error condition (1, 2, 3, or
4).
relocatable load module. On CMS, a combination of
object modules having cross references resolved and single-byte character set (SBCS). A collection of
prepared for loading into storage for execution. characters represented by a 1-byte code.
Glossary 221
SMPCSI. The SMP/E data set that contains assemblies, load modules, source modules, and libraries
information about the structure of a user’s system as copied from DLIBs during system generation, and the
well as information needed to install the operating system modifications (SYSMODs) applied to the target
system on a user’s system. The SMPCSI DD statement system.
refers specifically to the CSI that contains the global
zone. This is also called the master CSI. text deck. Synonym for object module, object deck.
softcopy. One or more files that can be electronically time sharing option/extended (TSO/E). An option on
distributed, manipulated, and printed by a user. the operating system; for System/370, the option
provides interactive time sharing from remote
software inventory disk. In VM, the disk where the terminals.
system level inventory files reside.
TSO/E. Time sharing option/extended.
source code. The input to a compiler or assembler,
written in a source language.
U
source program. A set of instructions written in a
programming language that must be translated to UCLIN. In SMP/E, the command used to initiate
machine language before the program can be run. changes to SMP/E data sets. Actual changes are made
by subsequent UCL statements.
SREL. System release identifier
UPGRADE. An alphanumeric identifier that specifies
statement. In programming languages, a language a product level.
construct that represents a step in a sequence of actions
or a set of declarations. user exit. A routine that takes control at a specific
point in an application.
sublibrary. In VSE, a subdivision of a library.
USERMOD. User modification.
SUBSET. The value that specifies the function
modifier (FMID) for a product level. It further specifies user modification (USERMOD). A change to product
an entry in RETAIN for a product level. code that the customer initiates.
target disk. In VM, the disk to which a program is volume. (1) A certain portion of data, together with its
installed. data carrier, that can be handled conveniently as a unit.
(2) A data carrier mounted and demounted as a unit;
target libraries. In SMP/E, a collection of data sets in for example, a reel of magnetic tape, a disk pack.
which the various parts of an operating system are
stored. These data sets are sometimes called system volume label. An area on a standard label tape used
libraries. to identify the tape volume and its owner. This area is
the first 80 bytes and contains VOL 1 in the first four
target zone. In SMP/E, a collection of VSAM records positions.
describing the target system macros, modules,
Glossary 223
224 HLASM V1R6 Installation and Customization Guide
Notices
This information was developed for products and services offered in the U.S.A.
IBM may not offer the products, services, or features discussed in this document in
other countries. Consult your local IBM representative for information on the
products and services currently available in your area. Any reference to an IBM
product, program, or service is not intended to state or imply that only that IBM
product, program, or service may be used. Any functionally equivalent product,
program, or service that does not infringe any IBM intellectual property right may
be used instead. However, it is the user’s responsibility to evaluate and verify the
operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter
described in this document. The furnishing of this document does not give you
any license to these patents. You can send license inquiries, in writing, to:
IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.
Licensees of this program who wish to have information about it for the purpose
of enabling: (i) the exchange of information between independently created
programs and other programs (including this one) and (ii) the mutual use of the
information which has been exchanged, should contact:
IBM Corporation
Mail Station P300
2455 South Road
Poughkeepsie New York 12601-5400
U.S.A.
The licensed program described in this document and all licensed material
available for it are provided by IBM under terms of the IBM Customer Agreement,
IBM International Program License Agreement or any equivalent agreement
between us.
For license inquiries regarding double-byte (DBCS) information, contact the IBM
Intellectual Property Department in your country or send inquiries, in writing, to:
IBM World Trade Asia Corporation
Licensing
2-31 Roppongi 3-chome, Minato-ku
Tokyo 106-0032, Japan
The following paragraph does not apply to the United Kingdom or any other
country where such provisions are inconsistent with local law: INTERNATIONAL
BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION ″AS IS″
WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
Any references in this information to non-IBM Web sites are provided for
convenience only and do not in any manner serve as an endorsement of those Web
sites. The materials at those Web sites are not part of the materials for this IBM
product and use of those Web sites is at your own risk.
If you are viewing this information softcopy, the photographs and color
illustrations may not appear.
Trademarks
The following are trademarks of International Business Machines Corporation in
the United States, or other countries, or both.
IBM MVS
The IBM Logo Productpac
ibm.com RETAIN
BookMaster S/390
Enterprise Systems Architecture/370 System/370
Enterprise Systems Architecture/390 System/390
CICS VM/ESA
CICS/VSE z/Architecture
DFSMS/MVS z/OS
IBMLink z/VM
IMS z/VSE
Other company, product, and service names may be trademarks or service marks
of others.
Index 229
physical saved segment 61 re-installing, z/OS 37 shared file system (continued)
placing High Level Assembler into re-installing, z/VM 75 top directory 56
SVA 113 re-installing, z/VSE 115 work space 56
PLANINFO file 55 reapply local service 76 SMP/E
ppf override 81 rebuild serviced parts 82 accept 31, 35
PPF override 45, 46, 55, 59 receive ACCEPT 38
prerequisites 37, 75, 115 documentation 77 APPLY 38
preventive service planning message log 77 APPLY CHECK 38
See PSP service, z/VM 78 APPLY REDO 37
problem RECORD, FLAG assembler assembler 28
reporting, z/OS 39 suboption 136 change default assembler 28
reporting, z/VM 87 reenterability 192, 193, 201 compress 31, 35
reporting, z/VSE 118 release level keyword 141 create IEV90 alias 34
problem identification worksheet 148 relocation dictionary CSI alter 29
problem isolation 135 See RLD data sets 7
procedure names 15 remove segment 82 dialogs 3
procedures removing High Level Assembler 118 how to use 3
match environment 15 required programs 5, 45, 93 level 5
ProductPac 10 RETAIN release 39, 87, 119 RECEIVE 38
profile EXEC 58 review build message log 82 RESTORE 27
program services 9, 47, 94 review message log 79 rework 30, 35
program temporary fix rework level 9 USERMOD for options 30
See PTF RLD utility 28
program update tape assembler option 136, 152 work data sets 6
See PUT keyword 146 software inventory
PSP 47 rpm package access disk 54, 76
information content 135 installing 128 reapply local service 76
obtain service updates, MVS 9 manual extraction 128 shared file system access 45
obtain service updates, z/VSE 94, querying 128 software support data base
119 searching 149
UPGRADE value and SUBSET ID, summary 139
z/OS 39
UPGRADE value and SUBSET ID,
S SoftwareXcel Extended 39, 119
SOURCE
sample install jobs, z/OS 19
z/VM 87 keyword 146
sample program 24, 82, 108
UPGRADE value and SUBSET ID, Spanish nls 12, 50, 98
saved segment
z/VSE 119 stacked items xi
map 62
ptf 10, 48, 95 standard labels 106, 107
planning 47
PTF standard procedures
reference sources 47
list of applied PTFs x ASMASTD job 32
virtual storage 47
service tape, z/OS 37 copying 32
where built 45
service tape, z/VM 75 modifying 15
search argument procedure 149
service tape, z/VSE 116 start-up identifiers 129
segment
publications start-up parameters 129
definition add 62
basic, z/OS 4 STAT keyword 146
definition panel 62
basic, z/VM 45 subset ID 9, 47, 87, 94
map 62
basic, z/VSE 92 Subset ID 39, 119
map refreshed 63
High Level Assembler 215 SVA
segment map 62
HLASM Toolkit 215 ASMASVA 113
Sending your comments xiii
machine instructions 215 High Level Assembler phases 99
service
useful during install, z/OS 11 planning 99
checklist, z/OS 37
useful during install, z/VM 49 SETSDL 100
checklist, z/VM 75
useful during install, z/VSE 97 syntax notation, description xi
checklist, z/VSE 115
z/OS 215 SYSADAT 168
user ID for z/VM 76
z/VM 215 SYSADATA 168, 206
service level 10, 48, 95
z/VSE 216 SYSIN 178, 206
service update level
purge named saved system 83 SYSIPT 178
See component identification keyword
PUT (program update tape) 149 SYSLIB 23, 206
SETPARM
SYSLIB dataset locations 129
ASMAOPTV 112
SYSLIN 185, 186, 207
shared file system 45
Q directories 46, 76
SYSLNK 185
SYSLOG 198
query filepool 57 directory create 57
SYSOPTN 207
directory examples 57
SYSPCH 173, 186
GRANT AUTHORITY 57
SYSPRINT 207
R newread 57
read authority 57
SYSPUNCH 173, 186, 208
railroad track format, how to read xi system history file 93, 106, 107
specific install steps 56
RCVPDO 19
subdirectories 57
Index 231
232 HLASM V1R6 Installation and Customization Guide
Readers’ Comments — We’d Like to Hear from You
High Level Assembler for z/OS & z/VM & z/VSE
Installation and Customization Guide
Release 6
We appreciate your comments about this publication. Please comment on specific errors or omissions, accuracy,
organization, subject matter, or completeness of this book. The comments you send should pertain to only the
information in this manual or product and the way in which the information is presented.
For technical questions and information about products and prices, please contact your IBM branch office, your
IBM business partner, or your authorized remarketer.
When you send comments to IBM, you grant IBM a nonexclusive right to use or distribute your comments in any
way it believes appropriate without incurring any obligation to you. IBM or any other organizations will only use
the personal information that you supply to contact you about the issues that you state on this form.
Comments:
Name Address
Company or Organization
_ _ _ _ _ _ _Fold
_ _ _and
_ _ _Tape
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Please
_ _ _ _ _do
_ _not
_ _ staple
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Fold
_ _ _and
_ _ Tape
______
NO POSTAGE
NECESSARY
IF MAILED IN THE
UNITED STATES
IBM Corporation
Reader Comments
DTX/E269
555 Bailey Avenue
San Jose, CA
U.S.A. 95141-9989
_________________________________________________________________________________________
Fold and Tape Please do not staple Fold and Tape
Cut or Fold
SC26-3494-04 Along Line
Printed in USA
SC26-3494-04