A method for executing a
machine instruction in a
data processing environment, the method comprising: - obtaining, by a processor, a
machine instruction for specifying a transaction start operation, the
machine instruction being defined for computer execution according to a
computer architecture, the
machine instruction for specifying a transaction start operation comprising: ◯ an operation code; and ◯ a control field for specifying one or more controls to be used in a transactional execution, comprising at least a base field and a
displacement field; and - an execution, by the processor, of the
machine instruction, the execution comprising: ◯ determining from a field of the statement whether a transaction to be initiated by the begin transaction statement is a restricted transaction or an unrestricted transaction; ◯ initiating a restricted transaction on the basis that the field is a value, where the restricted transaction has one or more constraints associated with it, where the one or more constraints are not associated with any unrestricted transaction, and setting a
condition code to a value indicating successful execution of the
machine instruction; and ◯ on the basis that the field is another value, specifying a location for storing
diagnostic information in an aborted unconstrained transaction, initiating the unconstrained transaction, and setting a
condition code to the value indicating successful execution of the machine instruction, wherein the field indicates an unrestricted transaction, and wherein, based on the base field having a value, contents of a register indicated by the base field are combined with contents of the
displacement field to create a first
operand address, the first
operand address indicating a location of a transaction diagnostic block
usable for storing the
diagnostic information upon abort.