Nonconstrained transactions

A nonconstrained transaction begins with a TBEGIN instruction, ends normally with a TEND instruction, can be aborted (ended abnormally) with a TABORT instruction and may abort for many system-defined reasons.

The TBEGIN instruction may provide a "transaction diagnostics block" (TDB, mapped by macro IHATDB).

The instruction after the TBEGIN instruction usually is a conditional relative branch (BRC instruction) that can handle the condition codes with which a TBEGIN instruction may complete:

Upon transaction abort, control flows to the instruction after the TBEGIN instruction.