Assembler options

High Level Assembler provides you with many assembler options for controlling the operation and output of the assembler. You can set default values at assembler installation time for most of these assembler options. You can also fix a default option so the option cannot be overridden at assembly time. See IBM-supplied default assembler options for a list of the changes to the IBM-supplied default assembler options from High Level Assembler Release 4.

You specify the options at assembly time on:
  • An external file (z/OS® and CMS) or library member (z/VSE®).
  • The JCL PARM parameter of the EXEC statement on z/OS and z/VSE, or the ASMAHL command on CMS.
  • The JCL OPTION statement On z/VSE.
  • The *PROCESS assembler statement.
The assembler options are:
ADATA | NOADATA
Produces the associated data file.
ALIGN | NOALIGN
Checks alignment of addresses in machine instructions and whether DC, DS, DXD, and CXD are aligned on correct boundaries.
ASA | NOASA
(z/OS and CMS) Produces the assembly listing using American National Standard printer-control characters. If NOASA is specified the assembler uses machine printer-control characters.
ASCII(ccsid)
Specifies the local extended ASCII CCSID (or code page). This is used as the default CCSID used for converting ASCII character constants (data type CA) from EBCDIC to ASCII. On Linux, this also determines the code page assumed for ASCII source input files and the listing and terminal output files. The standard default is 819.
BATCH | NOBATCH
Specifies multiple assembler source programs are in the input data set.
CA(ccsid | LOCAL)
Specifies the CCSID to be used for ASCII constants and ASCII self-defining terms (data type CA), or LOCAL indicating that the current local ASCII CCSID should be used, as specified on the ASCII option. The default is CA(LOCAL).
CE(ccsid | LOCAL)
Specifies the CCSID to be used for EBCDIC constants and EBCDIC self-defining terms (data types C and CE), or LOCAL indicating that the current local EBCDIC CCSID should be used, as specified on the EBCDIC option. The default is CE(LOCAL).
CODEPAGE(X'047C')
Specifies the code page module to be used to convert Unicode character constants. New option, LOCAL specifies that no external table is used, and that Unicode conversion uses a standard internal table to convert character data from the specified EBCDIC option.
COMPAT(suboption) | NOCOMPAT
Directs the assembler to remain compatible with earlier assemblers in its handling of lowercase characters in the source program, and its handling of sublists in SETC symbols, and its handling of unquoted macro operands. The LITTYPE suboption instructs the assembler to return 'U' as the type attribute for all literals.
CU(ccsid | LOCAL)
Specifies the CCSID used for Unicode constants and Unicode self-defining terms (data type CU), or LOCAL indicating that the current local Unicode CCSID should be used, as specified on the UNICODE option. The default is CU(LOCAL).
DBCS | NODBCS
Specifies that the source program contains double-byte characters.
DECK | NODECK
Produces an object module.
DXREF | NODXREF
Produces the DSECT Cross Reference section of the assembler listing.
EBCDIC(ccsid)
Specifies the local EBCDIC CCSID (equivalent to code page) assumed to be used for source files and the assembler listing whenever any code page conversion is required. This information is used when converting character constants and self-defining terms to specified EBCDIC, ASCII or Unicode code pages (except that for Unicode conversion, any specified CODEPAGE table overrides the EBCDIC option). If no conversion is required, this option has no effect. It is also used on Linux when converting input files from ASCII to EBCDIC and when converting LIST(ASCII) listing output and terminal output from EBCDIC to ASCII. The standard default is 37 (US EBCDIC CECP).
ELF
This is a Linux only option. It is provided to allow creation of ELF files directly.
ERASE | NOERASE
(CMS) Deletes specified files before running the assembly.
ESD | NOESD
Produces the External Symbol Dictionary section of the assembler listing.
EXIT(suboption1,suboption2,…) | NOEXIT
Provides user exits to the assembler for input/output processing.
ADEXIT(name(string)) | NOADEXIT
Identifies the name of a user-supplied ADATA exit module.
INEXIT(name(string)) | NOINEXIT
Identifies the name of a user-supplied SOURCE exit module.
LIBEXIT(name(string)) | NOLIBEXIT
Identifies the name of a user-supplied LIBRARY exit module.
OBJEXIT(name(string)) | NOOBJEXIT
Identifies the name of a user-supplied OBJECT exit module.
PRTEXIT(name(string)) | NOPRTEXIT
Identifies the name of a user-supplied LISTING exit module.
TRMEXIT(name(string)) | NOTRMEXIT
Identifies the name of a user-supplied TERM exit module.
FAIL(suboption1,suboption2,…) | NOFAIL
MSG(msgval) | NOMSG
Specifies the minimum severity messages which should have their severity raised.
MNOTE(mnoteval) | NOMNOTE
Specifies the minimum severity MNOTEs which should have their severity raised.
MAXERRS(maxerrs) | NOMAXERRS
Specifies the number of error message to be issued before assembly terminates.
FLAG(suboption1,suboption2,…)
Specifies the level and type of error diagnostic messages to be written.
FOLD | NOFOLD
Converts lowercase characters to uppercase characters in the assembly listing.
GOFF | NOGOFF
(z/OS and CMS) Sets generalized object format.
ILMA | NOILMA
Specifies that inline macros are accessible from all OPTABLE definitions.
INFO | NOINFO
Displays service information selected by date.
LANGUAGE(EN | ES | DE | JP | UE)
Specifies the language in which assembler diagnostic messages are presented. High Level Assembler lets you select any of the following:
  • English mixed case (EN)
  • English uppercase (UE)
  • German (DE)
  • Japanese (JP)
  • Spanish (ES)

When you select either of the English languages, the assembler listing headings are produced in the same case as the diagnostic messages.

When you select either the German language or the Spanish language, the assembler listing headings are produced in mixed case English.

When you select the Japanese language, the assembler listing headings are produced in uppercase English.

The assembler uses the default language for messages produced on CMS by the High Level Assembler command.

LIBMAC | NOLIBMAC
Instructs the assembler to imbed library macro definitions in the input source program.
LINECOUNT(integer)
Specifies the number of lines to print in each page of the assembly listing.
LIST(ASCII | EBCDIC)
Linux only option. If LIST(ASCII) is specified, the listing file is produced as an ASCII text file. The EBCDIC output is filtered to blank out any control codes then translated as from EBCDIC code page 37 to ASCII 819, then trailing spaces are removed and newline characters are added after each line. The default is LIST(EBCDIC).
LIST | LIST(121 | 133 | MAX) | NOLIST
(z/OS and CMS) Specifies whether the assembler produces an assembly listing. The listing may be produced in 121-character format or 133-character format.
LIST | NOLIST
(VSE only) Specifies whether the assembler produces an assembly listing.
MACHINE(machine[, LIST | NOLIST])
Specifies a machine name suboption as defined for the MACHINE assembler option. This selects the corresponding OPTABLE option. For more details, see the table Equivalent suboptions for OPTABLE and MACHINE options in the HLASM Programmer’s Guide.
MXREF | MXREF(FULL | SOURCE | XREF) | NOMXREF
Produces the Macro and Copy Code Source Summary, or the Macro and Copy Code Cross Reference, or both, in the assembly listing.
OBJECT | NOOBJECT
Produces an object module.
OPTABLE([UNI | DOS | 370 | XA | ESA | ZOP | ZS1 | YOP | ZS2 | Z9 | ZS3 | Z10 | ZS4 | Z11 | ZS5 | Z12 | ZS6 | Z13 | ZS7 | Z14 | ZS8 | Z15 | ZS9| Z16 | ZSA| Z17 | ZSB][,LIST | NOLIST])
Specifies the operation code table to use to process machine instructions in the source program.
PCONTROL(suboption1,suboption2,…) | NOPCONTROL
Specifies whether the assembler should override certain PRINT statements in the source program.
PESTOP
Specifies that the assembler should stop immediately if errors are detected in the invocation parameters.
PRINT | DISK | NOPRINT
(CMS) Specifies that the assembler should write the LISTING file on the virtual printer.
PROFILE | PROFILE(name) | NOPROFILE
Specifies the name of a library member, containing assembler source statements, that is copied immediately following an ICTL statement or *PROCESS statements, or both. The library member can be specified as a default in the installation options macro ASMAOPT.
RA2 | NORA2
Specifies whether the assembler is to suppress error diagnostic message ASMA066 when 2-byte relocatable address constants are defined in the source program.
RENT | NORENT
Checks for possible coding violations of program reenterability.
RLD | NORLD
Produces the Relocation Dictionary section of the assembler listing.
RXREF
Produce the Register Cross Reference section of the assembler listing.
SECTALGN(alignment)
Specifies the desired alignment for all sections, expressed as a power of 2 with a range from 8 (doubleword) to 4096 (page).
SEG | NOSEG
(CMS) Specifies that assembler modules are loaded from the Logical Saved Segment (LSEG).
SIZE(value)
Specifies the amount of virtual storage that the assembler can use for working storage.
SUPRWARN(msgnum1,msgnum2,…) | NOSUPRWARN
Specifies one or more message numbers, of warning (4) or less severity, to be suppressed.
SYSPARM(value)
Specifies the character string that is to be used as the value of the &SYSPARM system variable.
TERM(WIDE | NARROW) | NOTERM
Specifies whether error diagnostic messages are to be written to the terminal data set On z/OS and CMS, or SYSLOG On z/VSE.
TEST | NOTEST
Specifies whether special symbol table data is to be generated as part of the object module.
THREAD | NOTHREAD
Specifies whether or not the location counter is to be reset at the beginning of each CSECT.
TRANSLATE(AS | suffix) | NOTRANSLATE
Specifies whether characters contained in character (C-type) data constants (DCs) and literals should be translated using a user-supplied translation table. The suboption AS directs the assembler to use the ASCII translation table provided with High Level Assembler.
TYPECHECK(suboption1,suboption2) | NOTYPECHECK
Controls whether or not HLASM performs type checking of machine instruction operands.
UNICODE(ccsid)
Specifies the local CCSID used for Unicode constants and Unicode self-defining terms (data type CU). This is used as the default CCSID for converting Unicode character constants (data type CU). The standard default is 1200.
USING(suboption1,suboption2,…) | NOUSING
Specifies the level of monitoring of USING statements required, and whether the assembler is to generate a USING map as part of the assembly listing.
WORKFILE | NOWORKFILE
If storage apart from central storage is required during assembly, use the utility file for temporary storage.
XREF(SHORT | UNREFS | FULL) | NOXREF
Produces the Ordinary Symbol and Literal Cross Reference, or the Unreferenced Symbols Defined in CSECTs, or both, in the assembly listing.