Assembler LP command descriptions and syntax
This section describes the Assembler language processor commands and their parameters and values.
ASSEMBLER (ASSEM) Command
The ASSEMBLER command controls the assembly listing destination. The parameter for the ASSEMBLER command is OUTPUT.
¦ ¦
¦ +-NoPRint-+ +-NODDio-+ ¦
¦ >>--ASSEMbler(OUtput(+--+---------+-,-+--------+--+))-->< ¦
¦ + +-PRint---+ +-DDIO---+ ¦ ¦
¦ +-BOth-----------------------¦ ¦
¦ +-NOne-----------------------+ ¦
+----------------------------------------------------------------------------+
OUTPUT (OU):
Specifies whether the assembly listing will print and/or written to a source listing file. Select from the following values:
NOPRINT (NOPR):
(Default) Does not print the assembly listing.
PRINT (PR):
Prints the assembly listing.
NODDIO (NODD):
(Default) Does not write the assembly listing to a source listing file.
DDIO (DD):
Writes the assembly listing to a source listing file.
BOTH (BO):
Prints the listing and writes it to a source listing file. This has the same effect as specifying ASSEMBLER(OUTPUT(PRINT,DDIO)).
NONE (NON):
Does not print the assembly listing and does not write it to a DDIO file. This has the same effect as ASSEMBLER(OUTPUT(NOPRINT,NODDIO)).
CONDDDIO (CONDD) Command
The CONDDDIO command specifies that the source listing will be written to the source listing file unless the assembly return code exceeds x. The default is 4. Permissible values are 0-8.
The CONDDDIO command can be used only with the preprocessor.
The following diagram illustrates the syntax for the CONDDDIO command.
¦ ¦
¦ +-4-+ ¦
¦ >>--CONDDdio(+---+)-->< ¦
¦ +-x-+ ¦
+----------------------------------------------------------------------------+
CONDSTEP (CONDS) Command
The CONDSTEP command controls the condition code set by the postprocessor when it is invoked by the preprocessor. The CONDSTEP parameter is ignored when the postprocessor is invoked as a separate job step after the assembly; the postprocessor return code is always used.
The CONDSTEP command can be used only with the preprocessor.
The following diagram illustrates the syntax for the CONDSTEP command.
¦ ¦
¦ +-HIghest--+ ¦
¦ >>--CONDStep(+----------+)-->< ¦
¦ +-COmpiler-+ ¦
+----------------------------------------------------------------------------+
HIGHEST (HI):
(Default) The condition code will be set to the value of the Assembler language processor return code or the compiler return code, whichever is higher.
COMPILER (CO):
The condition code will always be set to the Assembler return code. This option is typically used to allow a subsequent linkedit step to execute when the assembly executes normally but the postprocessor is unable to execute successfully.
The DDIO command defines the processor DDIO output.
DDIO Command
Identifies the information from the Assembler assembly listing that will be written to the VSAM or sequential DDIO file.
The parameters for the DDIO command are:
- PROGRAM-NAME
- DATE
- TIME
- OUTPUT
PROGRAM-NAME (PRO) Parameter
Specifies that an override name will be used for members in the source listing file. This parameter is not supported by BMC AMI DevX Abend-AID or BMC AMI DevX Abend-AID for CICS.
¦ ¦
¦ >>--DDio(PROgram-name(+------+))-->< ¦
¦ +-name-+ ¦
+----------------------------------------------------------------------------+
name:
Specifies an alternative name for an assembly listing written to the source listing file.
DATE (DAT) Parameter
Overrides the date found in the listing with a different date.
¦ ¦
¦ >>--DDio(DATe(+------+))-->< ¦
¦ +-date-+ ¦
+----------------------------------------------------------------------------+
date:
Specifies the alternative date that will be used for the override. The value must be a maximum length of eight characters.
TIME (TI) Parameter
Overrides the time found in the listing with a different time.
¦ ¦
¦ >>--DDio(TIme(+------+))-->< ¦
¦ +-time-+ ¦
+----------------------------------------------------------------------------+
time:
Specifies the alternative time that will be used for the override. The value must be a maximum length of eight characters.
OUTPUT (OU) Parameter
Specifies the options for a source listing that is written to the source listing file. The DDIO output parameter defines the sections of the assembler listing that are written to the source listing.
¦ ¦
¦ +-Xref---+ +-NOCOmpress-+ ¦
¦ >>--DDio(OUtput(+--------+-,-+------------+))-->< ¦
¦ +-NoXref-+ +-COmpress---+ ¦
+----------------------------------------------------------------------------+
XREF (XR):
(Default) Writes the XREF sections of the listing.
NOXREF (NOXR):
Does not write the XREF sections of the listing.
NOCOMPRESS (NOCO):
(Default) Does not compress the assembly listing. The size of the language processor members will not be reduced.
COMPRESS (CO):
Enables compression. Depending on the size of your program and the options you have set, the size of language processor source members may be reduced.
File-Overrides Commands
The File-overrides commands are used to override the default file definitions. The following overrides are available:
- WRK0 - WRK4
- PRTI
- PRTO
- ERRM
- LOAD
- DECK
The LOAD or DECK ddname is used by the Assembler language processor depending on the options selected for the assembly step. If both LOAD and DECK are specified, both will be processed by the Assembler language processor. If you are using a temporary data set for your object, and only one option (LOAD or DECK) is specified, eliminate the ddname that corresponds to the option that is NOT specified. For example, if you specify LOAD, then eliminate the DECK ddname.
The File-overrides commands can be used only with the postprocessor.
WRK0 - WRK4 File-Overrides Command
Specifies the work files.
¦ ¦
¦ (1) ¦
¦ >>-WRKn--(+--------------------------------------+)-->< ¦
¦ +-DD(ddname),BLK(blksize),BUF(buffers)-+ ¦
+----------------------------------------------------------------------------+
PRTI File-Overrides Command
Specifies the assembly listing input.
¦ ¦
¦ >>--PRTI(+----------------------------------------------------------------+)-->< ¦
¦ +-DD(ddname),BLK(blksize),BUF(buffers),LRECL(lrecl),RECFM(recfm)-+ ¦
+----------------------------------------------------------------------------------+
If you omit DD(ddname), the assumed ddname will be CWPPRTI.
PRTO File-Overrides Command
Specifies Assembler language processor output.
¦ ¦
¦ >>--PRT0(+---------------------------------------------------+)-->< ¦
¦ +-DD(ddname),BLK(blksize),BUF(buffers),LRECL(lrecl)-+ ¦
+----------------------------------------------------------------------------+
If you omit DD(ddname), the assumed ddname will be CWPPRTO.
ERRM File-Overrides Command
Prints the Assembler language processor error messages.
¦ ¦
¦ >>--ERRM(+--------------------------------------+)-->< ¦
¦ +-DD(ddname),BLK(blksize),BUF(buffers)-+ ¦
+----------------------------------------------------------------------------+
If you omit DD(ddname), the assumed ddname will be CWPERRM.
LOAD File-Overrides Command
Specifies the object library (indicated by the LOAD option of the assembler).
¦ ¦
¦ >>--LOAD(+--------------------------------------+)-->< ¦
¦ +-DD(ddname),BLK(blksize),BUF(buffers)-+ ¦
+----------------------------------------------------------------------------+
If you omit DD(ddname), the assumed ddname will be CWPLOAD.
DECK File-Overrides Command
Specifies the object library (indicated by the DECK option of the assembler).
¦ ¦
¦ >>--DECK(+--------------------------------------+)-->< ¦
¦ +-DD(ddname),BLK(blksize),BUF(buffers)-+ ¦
+----------------------------------------------------------------------------+
If you omit DD(ddname), the assumed ddname will be CWPDECK.
Optional Override Values
The keywords here cause the language processor to override its default values:
DDNAME (DD):
Specify a ddname instead of accepting the default ddname.
BLKSIZE (BLK):
Specify a decimal blocksize instead of accepting the default blocksize.
BUFFERS (BUF):
Specify a decimal number as the number of buffers instead of accepting the default number of buffers, which is 2. Only the first two buffers are used for buffering input/output. Extra buffers are used as in-core work space for the file; therefore, records placed in the work space will never be written to the work files. If the storage is available, use this parameter with the BLKSIZE parameter to increase the language processor speed.
If the language processor is running in the MVS/XA or MVS/ESA environments and is above the 16 MB line, a value of zero specifies that as much storage as is available will be used. Using zero places a greater amount of overhead on startup and should not be used for small programs.
LRECL (LR):
Specify a decimal number as the logical record length instead of accepting the default logical record size.
RECFM (RE):
Specify a record format instead of accepting the default record format. Valid formats include:
F | Fixed |
FA | Fixed ASA |
FM | Fixed Machine |
V | Variable |
VA | Variable ASA |
VM | Variable Machine |
INCLUDE (IN) Command
The INCLUDE command includes a library or sequential file member that contains another set of language processor options to be processed.
An included set of options can, in turn, include another set of options. If a recursive chain of INCLUDEs is encountered, the language processor will stop with an error message.
Duplicate or conflicting parameters are resolved as follows:
- Options are processed left to right.
- When an INCLUDE is encountered, the included member is processed immediately. Options following the INCLUDE will be processed after the included member is processed.
- The last options processed takes precedence.
- The sources of options are, in order of descending priority:
- forced options in the language assembler installation default module
- CBL options in the source file (or equivalent for other assemblers)
- PARM options on the EXEC card
- options specified in the CWPPRMO data set
- default options in the language assembler installation default module
The INCLUDE command can be used only with the preprocessor.
The following diagram illustrates the syntax for the INCLUDE command.
¦ ¦
¦ +-CWPPRMO-+ ¦
¦ >>--INclude(+---------+-,-+--------+)-->< ¦
¦ +-ddname--+ +-member-+ ¦
+----------------------------------------------------------------------------+
ddname:
The ddname of the JCL statement that specifies the data set name. If a member is not specified, then the ddname must point to a sequential file or library member.
member:
The library member name. If the ddname is not specified, then the default CWPPRMO will be used and a comma must precede the member name.
LANGPARM (LANGP) Command
The LANGPARM command specifies the parameters to be passed to the assembler invoked by the language processor. If the language processor is run as a separate job step, this option is ignored.
If you use the CWPPRMO data set to specify your assembler options, you should use the LANGPARM command. Otherwise, the preprocessor may not be able to distinguish between assembler options and language processor options with the same name. The LANGPARM command allows the preprocessor to identify compiler options that conflict with language processor names, thus preventing unpredictable results.
If you use the PARM statement to specify your assembler options, you can also use the LANGPARM command.
The LANGPARM command can be used only with the preprocessor.
The following diagram illustrates the syntax for the LANGPARM command.
¦ ¦
¦ >>--LANGParm(+---------------+)-->< ¦
¦ +-parm1...parmn-+ ¦
+----------------------------------------------------------------------------+
parm:
Specifies a parameter to be passed.
LANGUAGE (LANG) Command
The LANGUAGE command specifies the type of assembler to be executed for the Assembler language preprocessor.
The LANGUAGE command is no longer required for the postprocessor.
The following diagram illustrates the syntax for the LANGUAGE command.
¦ ¦
¦ +-HASM--+ ¦
¦ >>--LANGuage(+-------+)-->< ¦
¦ +-FASM--¦ ¦
¦ +-HLASM-+ ¦
+----------------------------------------------------------------------------+
HASM:
(Default) The language processor defaults to an Assembler H listing if the assembler cannot be determined.
FASM:
The language processor assumes an Assembler F listing if the assembler cannot be determined.
HLASM:
The language processor assumes a High Level Assembler listing if the assembler cannot be determined.
PRINT (PR) Command
The PRINT command identifies the sections of the assembly listing that will be printed. The parameter for the PRINT command is OUTPUT.
¦ ¦
¦ +-XRef---+ +-SOurce---+ ¦
¦ >>--PRint(OUtput(+--------+-,-+----------+))-->< ¦
¦ +-NOXRef-+ +-NOSOurce-+ ¦
+----------------------------------------------------------------------------+
OUTPUT (OU):
Specifies the options for a source listing that will be printed.
XREF (XR):
(Default) Prints the XREF sections of the listing.
NOXREF (NOXR):
Does not print the XREF sections of the listing.
SOURCE (SO):
(Default) Prints the Source section of the listing.
NOSOURCE (NOSO):
Does not print the Source section of the listing.
PROCESSOR (PROC) Command
The PROCESSOR command specifies the output parameters of the Assembler language processor. The parameters for the PROCESSOR command are:
- BYPASS
- DIAGNOSE
- ERRORS
- $ASUP
- $NG
- $NIDR
- $NO
- IDENTYES or IDENTNO
BYPASS (BY) Parameter
Specifies whether to run the preprocessor and assembler without running the postprocessor.
¦ ¦
¦ +-NOBYpass-+ ¦
¦ >>--PROCessor(+----------+)-->< ¦
¦ +-BYpass---+ ¦
+----------------------------------------------------------------------------+
NOBYPASS (NOBY):
(Default) Runs the postprocessor.
BYPASS (BY):
Does not run the postprocessor.
DIAGNOSE Parameter
Specifies whether extended diagnostic error messages will be generated.
¦ ¦
¦ +-NONe-----------------------------+ ¦
¦ >>--PROCessor(DIAGNOSE(+-+------------+-,-+-------------+-+))-->< ¦
¦ ¦ +-LOW-core---¦ +-ESA-Index---¦ ¦ ¦
¦ ¦ +-NOLOW-core-+ +-NOESA-Index-+ ¦ ¦
¦ +-ALL------------------------------+ ¦
+----------------------------------------------------------------------------+
NONE (NON):
(Default) Does not generate either type of message.
LOW-CORE (LOW):
An error message will be generated when an instruction is coded without any base or index register. An error message will be generated for each applicable operand. This option does not perform run time checking of low-core. It only checks object code.
NOLOW-CORE (NOLOW):
The error message will not be generated.
ESA-INDEX (ESA-I):
An error message will be generated when an RX (register-to-index form) instruction is coded with an index register and no base register.
NOESA-INDEX (NOESA-I):
The error message will not be generated.
ALL:
Has the same effect as specifying PROCESSOR(DIAGNOSE(LOW-CORE,ESA-INDEX)).
ERRORS (ER) Parameter
Specifies how the language processor error messages will be printed.
¦ ¦
¦ +-UPper-case-+ ¦
¦ >>--PROCessor(ERrors(+------------+))-->< ¦
¦ +-MIxed-case-+ ¦
+----------------------------------------------------------------------------+
UPPER-CASE (UP):
(Default) Errors will print in uppercase letters.
MIXED-CASE (MI):
Errors will print in uppercase and lowercase letters.
$ASUP Parameter
Allows a listing with suppressed statements to be postprocessed. For more information on using this parameter, see Handling Suppressed Statements.
¦ ¦
¦ >>--PROCessor(+-------+)-->< ¦
¦ +-$ASUP-+ ¦
+----------------------------------------------------------------------------+
$NG Parameter
Specifies that the preprocessor’s support of PRINT OFF or PRINT NOGEN will be bypassed.
¦ ¦
¦ >>--PROCessor(+-----+)-->< ¦
¦ +-$NG-+ ¦
+----------------------------------------------------------------------------+
$NIDR Parameter
Specifies that placement of the date and time stamp on the object module will be bypassed.
¦ ¦
¦ >>--PROCessor(+-------+)-->< ¦
¦ +-$NIDR-+ ¦
+----------------------------------------------------------------------------+
$NO Parameter
Specifies that the preliminary assembly performed by the preprocessor will be bypassed. The preliminary assembly is normally used to determine the assembler options currently in effect. However, if you know that your options satisfy the requirements of the language processor, you can bypass the preliminary assembly to reduce the preprocessor’s execution time.
¦ ¦
¦ >>--PROCessor(+-----+)-->< ¦
¦ +-$NO-+ ¦
+----------------------------------------------------------------------------+
IDENTYES or IDENTNO
By default, BMC AMI language processors attempt to add information to the object deck produced by a compiler (DD SYSLIN). This information assists BMC AMI products in locating the correct member in a BMC AMI Listing File. The Language Processors will by default add an IDENTIFY record to the object deck.
This IDENTIFY record is processed by the Linkage Editor or Binder when the object deck is transformed into a load module or program object. The data added to the load module or program object is non-executable, not loaded into memory when the module executes. It identifies the BMC AMI Listing File where the language processor stored its output for that program.
If you want to suppress this IDENTIFY card for a particular run of a Language Processor, you may supply the input PROCESSOR(IDENTNO) in the CWPPRMO input.
The default value is PROCESSOR(IDENTYES). You may alter this default by using the Customer Modification Facility (see Section B). If you alter the default to IDENTNO, you may then wish to supply the input PROCESSOR(IDENTYES) in CWPPRMO, for an individual execution of the Language Processor.
PROGRAM-NAME (PRO) Command
The PROGRAM-NAME command specifies an override name for members in the source listing file. The following diagram illustrates the syntax for the PROGRAM-NAME command.
¦ ¦
¦ >>--PROgram-name(+------+)-->< ¦
¦ +-name-+ ¦
+----------------------------------------------------------------------------+
name:
Specifies an alternative name for a source listing written to the source listing file.
SYSTEM (SYS) Command
The SYSTEM command performs miscellaneous functions. The following diagram illustrates the syntax for the SYSTEM command.
¦ ¦
¦ >>--SYStem(+-------+,-+------+,-+-----+,-+----+-)->< ¦
¦ +-TRace-+ +-TIme-+ +-PTF-+ +-ZAP+ ¦
+----------------------------------------------------------------------------+
TRACE (TR):
Specifies that the internal trace will print to CWPERRM.
TIME (TI):
Specifies that the internal time will print with the trace.
PTF:
Specifies that the PTF numbers currently installed on the CSS library will be printed. This parameter is used by BMC Support during problem diagnosis.
ZAP:
Specifies that the PTF numbers currently installed on the CSS library will be printed. This parameter is used by BMC Support during problem diagnosis.
ZIIP (ZIIP)
The ZIIP command controls the use of an available zIIP processor. The command provides a mechanism to disable zIIP use by the language processor, and to control memory usage and dump options when zIIP processing is enabled. The following diagram illustrates the syntax of the ZIIP command:
¦ ¦
¦ +-YES-+ +-MEM64-+ +-DUMP---+ ¦
¦ >>--ZIIP(+-----+,-+-------+,-+--------+-)->< ¦
¦ +-NO--+ +-MEM31-+ +-NODUMP-+ ¦
+----------------------------------------------------------------------------+
YES:
Indicates that zIIP processing is to be enabled. This is the default.
NO:
Indicates that zIIP processing is disabled and all language processing will execute on a general purpose processor. Alternately, zIIP processing can also be disabled by including a //CXZPIGNRDDDUMMY statement in the language processor JCL stream.
MEM64:
Indicates that 64-bit memory will be used during language processing. This is the default.
MEM31:
Indicates that normal 31-bit memory will be used during language processing.
DUMP:
Indicates that a machine readable dump will be taken if the language processor abends while processing during zIIP execution. This is the default.
NODUMP:
Indicates that a machine readable dump will be suppressed if the language processor abends while processing during zIIP execution.