Transactional Memory exit ASMAXTXP
This appendix provides information regarding the use of the LISTING exit ASMAXTXP supplied with the High Level Assembler
Function
The LISTING exit ASMAXTXP is used to verify the instructions used within a constrained transaction. ASMAXTXP performs the following checks for constrained transactions:
- The transaction must not exceed more than 32 instructions.
- All instructions within the transaction must be within 256 bytes contiguous bytes of storage.
- In addition to all regularly-restricted instructions (those restricted
in a non-constrained transaction), the following instructions are
also restricted:
- Any instruction not defined in Chapter 7 of the z/Architecture® Principles of Operation.
- The only branching instructions are relative branches with a positive relative immediate operand.
- Instructions that cause a classic serialization operation. Exceptions to this rule include TRANSACTION END and any instructions that cause specific-operand serialization.
- All SS and SSE format instructions.
- 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.
Invoking the exit
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.