Each message entry for assembly error diagnostic messages and assembly
abnormal termination messages has the following five sections:
- Message Number and Text
- Explanation of Message
- System Action
- Programmer Response
- Severity Code
Each message entry for
ASMAHL command error messages has up to
five of the following sections:
- Message Number and Text
- Explanation of Message
- Supplemental Information
- System Action
- Programmer Response
- Message Number and Text
- Only the message number and the major fixed portion of the message
text are included in the message description. Any abbreviations in
actual message text are described under the message explanation section.
Unused message numbers account for the gaps in the message number
sequence. No messages are defined for numbers which are not included
in this section (for example, ASMA222).
- Explanation of Message
- For some messages there is more than one explanation, as different
sections of the assembler can generate the same message. Several assembler
termination messages have identical explanations.
- Supplemental Information
- For ASMAHL command error messages, the supplemental information
describes the possible contents of the variables in the message text.
- System Action
- This section describes how the assembler handles statements
with errors. Some actions include:
- A machine instruction assembles as all zeros.
- An assembler instruction is normally ignored; it is printed but
has no effect on the assembly. Many assembler instructions, however,
are partially processed or processed with a default value. For some
instructions, the operands preceding the operand in error, or every
operand except the operand in error, is processed. For example, if
one of several operands on a DROP statement is a symbol that cannot
be evaluated to a register number, only that operand is ignored. All
the correctly specified registers are processed correctly.
- For some assembler statements, especially macro prototype and
conditional assembly statements, the operand or term in error is given
a default value. Thus the statement assembles completely, but probably
causes incorrect results if the program is run.
For ASMAHL command error messages,
this section describes the command return code and the status of the
system after the error.
- Programmer Response
- Many errors have specific or probable causes. In such a case,
the Programmer Response section gives specific steps for fixing the
error. Most messages, however, have too many possible causes to list
(from keying errors to wrong use of the statement). The Programmer
Response section for these error messages does not give specific directions.
The cause of most such errors can be determined from the message text
and the explanation.
- Severity Code
- The level of severity code indicates how critical the error
might be. The severity codes and their meanings are described in Message code format.
ASMAHL messages (those messages starting with
ASMACMS) have a severity code letter of E. The associated return code
is shown in the System Action for each message. An ASMAHL message
that causes the assembly to terminate generates a return code greater
than 20.
The severity code is used to determine the return
code issued by the assembler when it returns control to the operating
system. The IBM-supplied cataloged procedures (for z/OS) include a
COND parameter on the linkage edit and run steps. The COND parameter
prevents the running of these steps if the return code from the assembler
is greater than 8. Thus errors with a severity code of S prevent
the assembled program from linkage editing or running. Errors with
a severity code of E, or lower, in the message do not prevent
the assembled program from linkage editing or running.