A fix is available
APAR status
Closed as new function.
Error description
The toolkit Structured Programming Macros should support the combined Compare and Branch instructions such as CIJ, available since z10. It would also be helpful to provide "C" and "B" mnemonics for "Carry" and "Borrow" conditions following unsigned arithmetic operations.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: Users of Structured Programming Macros in * * HLASM 1.6 Toolkit for z/OS, z/VM and z/VSE * **************************************************************** * PROBLEM DESCRIPTION: Structured Programming Macros support * * for Compare and Branch instructions * **************************************************************** * RECOMMENDATION: * **************************************************************** The HLASM Toolkit structured programming macros do not support the use of combined compare-and-branch instructions, which are expected to perform better than separate instructions and do not affect the condition code. Also, the macros do not support Carry and Borrow conditions.
Problem conclusion
Temporary fix
Comments
The combined compare-and-branch instructions (available since z10) can now be used in condition expressions when using the structured programming macros. This consists of the following instructions: CIB CGIB CLIB CLGIB CIJ CGIJ CLIJ CLGIJ CRB CGRB CLRB CLGRB CRJ CGRJ CLRJ CLGRJ These instructions should be used without specifying the branch address, which will be filled in by the macros. Example: IF (CIJ,R15,GT,4) Note that these instructions do not set the condition code, so if the following term in a condition only tests the condition code, this will not test the result of the comparison but rather any previous value of the condition code. Also, carry and borrow conditions following logical arithmetic instructions can now be indicated by C for Carry (representing CC mask 3) and B for Borrow (representing CC mask 12, including support for the Subtract Logical with Borrow instructions). DOCUMENTATION UPDATES: The following updates are made to the "Toolkit Feature User's Guide", GC26-8710-12: The following text is added to the summary of changes: Changes since the twelfth edition: - Structured programming macro support for compare and branch instructions (APAR PH31153) - Structured programming macro support for Carry and Borrow condition mnemonics (APAR PH31153) In Table 3, "Mnemonics and complements", the second row of the is modified as follows to include Carry and Borrow mnemonics: +-----------------+---------+-------------------+------------+ |After arithmetic | P, M, Z,| plus, minus, zero,| NP, NM, NZ,| |instructions | O, C, B | overflow, carry, | NO, NC, NB | | | | borrow | | +-----------------+---------+-------------------+------------+ In the text for "IF macro option C" the following paragraph is inserted before the last paragraph starting "In all Option C formats": Combined compare and branch instructions (such as CRB and CIJ) may be used provided that the program will be executed only on hardware which supports them (IBM z10 and above). In that case the branch address operand should be omitted, as it will be filled in automatically by the macros. END OF DOCUMENTATION UPDATES ×**** PE20/11/10 FIX IN ERROR. SEE APAR PH31448 FOR DESCRIPTION
APAR Information
APAR number
PH31153
Reported component name
HLASM MVS, VM &
Reported component ID
569623400
Reported release
16A
Status
CLOSED UR1
PE
NoPE
HIPER
NoHIPER
Special Attention
YesSpecatt / New Function / Xsystem
Submitted date
2020-11-03
Closed date
2020-11-09
Last modified date
2020-12-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI72456 UI72457 UI72458
Modules/Macros
ASMMGBLV ASMMGETC ASMMIFPR ASMMPSHI ASMMSP
| GC26871012 |
Fix information
Fixed component name
HLASM TOOLKIT
Fixed component ID
569623401
Applicable component levels
R16A PSY UI72456
UP20/11/10 P F011
R36A PSY UI72457
UP20/11/30 P 2011
R6IM PSY UI72458
UP20/11/09 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":"16A"}]
Document Information
Modified date:
02 December 2020