A fix is available
APAR status
Closed as program error.
Error description
If OPSYN changes a model instruction in a macro definition to an instruction which is not allowed to be generated (as listed for message ASMA001E) this can cause ASMA951U or other errors.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: Users of HLASM for z/OS, z/VM, z/VSE and * * Linux * **************************************************************** * PROBLEM DESCRIPTION: If OPSYN changes a model instruction * * in a macro definition to an * * instruction which is not allowed to * * be generated this can cause ASMA951U * * or other errors. This fix corrects * * this issue. * **************************************************************** * RECOMMENDATION: * **************************************************************** When a macro is defined, various assembler instructions are recognized as part of the macro and encoded during definition, and all other instructions are saved as model statements, which will be used to generate machine or assembler instructions when the macro is invoked. Generation of a model statement must not result in attempting to generate a restricted instruction that should have been encoded when the macro was defined, as this cannot be handled at macro generation time. There is therefore a check at macro generation time to reject any restricted instruction with message ASMA001E. This check was only being performed if the operation code was generated by variable substitution, as it was assumed that any other operation code would have been checked when the macro was defined. However, the meaning of an operation code can be redefined by the OPSYN instruction, which can assign the current function of one operation code to another operation code, making the redefined operation code a new name for the function of the existing instruction. If the operation code was changed using OPSYN after the macro was defined, making it a restricted instruction, this bypassed the ASMA001E check. In most cases, this would cause termination of the assembler with message ASMA951U because the assembler instruction type did not map to a supported operation. As a special case, if the instruction was changed to a synonym of REPRO, this caused an attempt to copy the next line to the object code file, but it was not in the correct format for REPRO, producing incorrect results.
Problem conclusion
The check for restricted instructions is now performed even when the operation code does not include a variable. This means that message ASMA001E will be issued if OPSYN is used to change a model instruction to a restricted instruction as listed for this message. During testing it was noted that two instructions CATTR and ALIAS had been incorrectly marked as restricted, so they were previously rejected with message ASMA001E if the operation code was created by variable substitution. This has been corrected.
Temporary fix
Comments
APAR Information
APAR number
PH30060
Reported component name
HLASM MVS, VM &
Reported component ID
569623400
Reported release
160
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2020-10-01
Closed date
2020-10-07
Last modified date
2020-11-02
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI71966 UI71967 UI71968
Modules/Macros
ASMAINFO ASMA1L ASMA1R ASMA5UNI ASMA9Z
Fix information
Fixed component name
HLASM MVS, VM &
Fixed component ID
569623400
Applicable component levels
R160 PSY UI71967
UP20/10/08 P F010
R360 PSY UI71966
UP20/10/07 P 2010
R689 PSY UI71968
UP20/10/07 I 1000
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Line of Business":{"code":null,"label":null},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSENW6","label":"High Level Assembler and Toolkit Feature"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"160"}]
Document Information
Modified date:
03 November 2020