Enabling ON Statements

<enabling on statement>

── ON ──<fault list>─┬──────────────────────────┬─┬─ , ─┬──────────────►
                     └─<fault information part>─┘ └─ : ─┘
►─<fault action>───────────────────────────────────────────────────────┤

The two forms of enabling ON statements are the implicit call and the implicit branch. The implicit call form causes the fault termination of the block in which it appears. The implicit branch form permits the block in which it appears to continue to run.

Once an interrupt is enabled, it remains enabled until one of the following conditions occurs:

  • The procedure or block that contains the ON statement is exited.

  • The interrupt is explicitly disabled.

  • A new interrupt is enabled for the same fault condition.

Whenever the block that contains an ON statement is exited, the interrupt status (enabled or disabled) for that fault condition reverts to the status it had just before the block was entered.

No call on the block exit intrinsic is required to deactivate the armed faults for a block.

Each execution of an ON statement adds one stack cell to the block in which it is used.