A computer system for executing a machine instruction in a computing environment, the machine instruction for initiating a transaction, wherein stores by other processors to storage locations of the transaction cause the transaction to abort, and wherein stores by instructions in the transaction are effectively delayed until a selected transaction completes, said computer system comprising:na memory; anda processor in communications with the memory, wherein the computer system is configured to perform a method, said method comprising:nobtaining, by a processor, a machine instruction for execution, the machine instruction being defined for computer execution according to a computer architecture, the machine instruction comprising:nan operation code to specify a transaction begin operation; anda control field to specify one or more controls to be used in transactional execution; andexecuting, by the processor, the machine instruction, the executing comprising:ndetermining from a field of the instruction whether a transaction to be initiated by the transaction begin instruction is a constrained transaction or a nonconstrained transaction;based on the field being one value, initiating a constrained transaction, and setting a condition code to a value indicating successful execution of the machine instruction, said constrained transaction having one or more restrictions associated therewith, the one or more restrictions including at least one of a subset of general instructions is available, a limited number of instructions is to be executed, a limited number of storage-operand locations is to be accessed, or the constrained transaction is limited to a single nesting level;based on the field being another value, designating a storage location for storing diagnostic information in an aborted nonconstrained transaction, initiating the nonconstrained transaction, and setting a condition code to the value indicating successful execution of the machine instruction; andwherein the field indicates a nonconstrained transaction, and wherein the machine instruction further comprises a base field to be used in executing the transaction, and wherein based on the base field comprising one value, contents of a register specified by the base field are combined with contents of a displacement field to create a first operand address, the first operand address designating a location of a transaction diagnostic block usable to store the diagnostic information on an abort.
›9.↳ 8The computer system of claim 8, wherein the field comprises one of: the operation code or a field of the instruction separate from the operation code.d2
The computer system of claim 8, wherein the field comprises one of: the operation code or a field of the instruction separate from the operation code.
›10.↳ 8The computer system of claim 8, wherein the control field comprises one or more of the following:na general register save mask to indicate one or more…d2+1
The computer system of claim 8, wherein the control field comprises one or more of the following:na general register save mask to indicate one or more pairs of registers to be saved at a beginning of the transaction and restored on an abort; andan allow access register modification field to control whether the transaction is allowed to modify an access register.
›11.↳ 10The computer system of claim 10, wherein the field indicates a nonconstrained transaction, and wherein the control field further comprises:nan allow f…d3
The computer system of claim 10, wherein the field indicates a nonconstrained transaction, and wherein the control field further comprises:nan allow floating point operation field to control whether the transaction is allowed to execute specified floating point instructions; anda program interruption filtering control field to control whether certain classes of program interruption conditions result in an interruption.
›12.↳ 8The computer system of claim 8, wherein the method further comprises:nexecuting another machine instruction to end the transaction initiated by the tr…d2+1
The computer system of claim 8, wherein the method further comprises:nexecuting another machine instruction to end the transaction initiated by the transaction begin instruction, the another machine instruction comprising a transaction end instruction, the transaction end instruction comprising an operation code to indicate the transaction end instruction.
›13.↳ 12The computer system of claim 12, wherein the executing the another machine instruction comprises:ndecrementing a transactional nesting depth;determini…d3
The computer system of claim 12, wherein the executing the another machine instruction comprises:ndecrementing a transactional nesting depth;determining whether the decremented transactional nesting depth is zero; andcommitting store accesses made by the transaction based on the decremented transactional nesting depth being zero.
›14.↳ 8The computer system of claim 8, wherein the one or more restrictions comprise:na limited number of instructions within the transaction;instructions wi…d2
The computer system of claim 8, wherein the one or more restrictions comprise:na limited number of instructions within the transaction;instructions within the transaction are to be within a pre-defined area of memory;certain pre-specified instructions can be included within the transaction, others are restricted;a limit on access by storage operands of the transaction;the transaction does not access storage operands in blocks of memory that contain the pre-defined area of memory;the transaction does not access instructions or storage operands using different logical addresses mapped to a same absolute address; andoperand references made by the transaction are to be within a specified size.