A fix is available
APAR status
Closed as new function.
Error description
sample program ASMASTXP to validate transactional constraints
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All users of HLASM for z/OS. * **************************************************************** * PROBLEM DESCRIPTION: PM66334 ships a new exit ASMAXTXP * * and sample program ASMASTXP to validate * * constraints for the new transactional * * memory instructions at assembly time. * **************************************************************** * RECOMMENDATION: Apply the PTF provided * **************************************************************** A new listing exit ASMAXTXP provides functionality to validate the constraints associated with the new transactional memory instructions. For example, the exit validates the total number of instructions coded between the TBEGINC and TEND instructions does not exceed the specified limit. Further details of the constraints can be found in the z/Architecture Principles of Operation manual.
Problem conclusion
Temporary fix
Comments
The LISTING exit ASMAXTXP is shipped in SASMMOD1. The sample program ASMASTXP is shipped in SASMSAM1. The listing exit may issue warning messages as listed below. An assembly return code of 4 will be set should the listing exit fails any of its tests. The "High Level Assembler for z/OS & z/VM & z/VSE Programmmer's Guide Release 6" publication (SC26-4941-05) will be updated as follows: --- START OF DOC UPDATES --- A new appendix will be added: Appendix Q. Transactional Memory exit ASMAXTXP (z/OS only) The following text will be added: This appendix provides information regarding the use of the LISTING exit ASMAXTXP supplied with the High Level Assembler. The section "Function" will be added with the following text: The LISTING exit ASMAXTXP is used to verify the instructions used within a constrained transaction. ASMAXTXP performs the following checks for constrained transactions: 1. The transaction must not exceed more than 32 instructions. 2. All instructions within the transaction must be within 256 bytes contiguous bytes of storage. 3. In addition to all regularly-restricted instructions, i.e. those restricted in a non-constrained transaction, the following instructions are also restricted: a. Any instruction not defined in Chapter 7 of the z/Architecture Principles of Operation. b. The only branching instructions are relative branches with a positive relative immediate operand. c. Instructions that cause a classic serialization operation. Exceptions to this rule include TRANSACTION END and any instructions that cause specific-operand serialization. d. All SS and SSE format instructions. e. A list of individual instructions that may execute in the hardware coprocessor. Other constraints such as operand alignment and number of locations accessed are not possible to check during assembly. The section "Invoking the exit" will be added with the following text: To invoke the exit, specify the EXIT assembler option as follows: EXIT(PRTEXIT(ASMAXTXP)) The sample program ASMASTXP found in SASMSAM1 can be run with the above assembler option as an example of how ASMAXTXP processes constrained transactions. The section "Messages" will be added with the following text: ASMAXTXP might issue message ASMA701W as follows: @ ** ASMA701W LISTING: ASMAXTXP: HLASM R6.0 or higher required. This message is issued because HLASM R6.0 or higher is required to run this exit. @ ** ASMA701W LISTING: ASMAXTXP: Could not acquire memory. An attempt to acquire memory failed and the exit could not continue. @ ** ASMA701W LISTING: ASMAXTXP: Invalid exit type or request type passed to exit. ASMAXTXP will only process valid LISTING EXIT requests; this message is issued if the listing exit request is invalid. @ ** ASMA701W LISTING: ASMAXTXP: TBEGINC base register nonzero. The TBEGINC instruction would cause a specification exception if bits in the base register field are non-zero. @ ** ASMA701W LISTING: ASMAXTXP: TBEGINC second operand is invalid. The immediate mask value used in the TBEGINC instruction does not conform to the instruction's specification. @ ** ASMA701W LISTING: ASMAXTXP: Transaction exceeds total byte limit. The transaction length is longer than 256 bytes allowed. @ ** ASMA701W LISTING: ASMAXTXP: Transaction exceeds maximum instruction count (excluding) TBEGIN and TEND. The number of instructions between the TBEGIN and TEND instructions exceeds 32 instructions. @ ** ASMA701W LISTING: ASMAXTXP: TBEGINC allow-AR-modification control is 0. If the allow-AR-modification flag is 0 then the exit cannot guarantee that instructions used within a transaction will not modify access registers. @ ** ASMA701W LISTING: ASMAXTXP: Instruction is restricted. This message is issued if the instruction is restricted for example: a privileged instruction, modifying ARs / FRs etc. @ ** ASMA701W LISTING: ASMAXTXP: Relative branch target is zero or negative. A relative branch instruction may branch backwards in the program. This is invalid in a constrained transaction. @ ** ASMA701W LISTING: ASMAXTXP: Relative branch target exceeds size limit. The relative branch will cause program flow to leave the constrained transaction without a TEND instruction being issued. @ ** ASMA701W LISTING: ASMAXTXP: Relative branch mask is 0. The relative branch instruction will never execute because its mask is 0. ASMAXTXP flags this as a warning. @ ** ASMA701W LISTING: ASMAXTXP: STCMH with M3 field = 0 and R1 field = 6 or 7. The use of the STCMH instruction becomes restricted when the M3 field value is 0 and the R1 field is 6 or 7. @ ** ASMA701W LISTING: ASMAXTXP: Warning: DC/DS within transaction. A DC or DS assembler instruction has been detected during assembly within a constrained transaction. This only occurs if the duplication factor on the instruction is non-zero. @ ** ASMA701W LISTING: ASMAXTXP: Code section ended inside transaction. An END statement has been encountered within a constrained transaction that has not been terminated with a TEND instruction. The end of the messages issued by ASMAXTXP terminates the appendix. --- END OF DOC UPDATES --- Additional keywords: PM49761 D/T2827
APAR Information
APAR number
PM66334
Reported component name
HLASM MVS, VM &
Reported component ID
569623400
Reported release
160
Status
CLOSED UR1
PE
NoPE
HIPER
NoHIPER
Special Attention
YesSpecatt / New Function / Installability /
Xsystem
Submitted date
2012-06-07
Closed date
2012-09-06
Last modified date
2013-07-30
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK81557 UK81558 UK81559
Modules/Macros
ASMAINFO ASMASTXP ASMAXTXP ASMA9Z HMQ4160J
SC26494105 |
Fix information
Fixed component name
HLASM MVS, VM &
Fixed component ID
569623400
Applicable component levels
R160 PSY UK81558
UP12/09/08 P F209
R360 PSY UK81557
UP12/09/30 P 1209
R689 PSY UK81559
UP12/09/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.
[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"160","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSENW6","label":"High Level Assembler and Toolkit Feature"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"160","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
30 July 2013