v The status of DO loops and other structures: Executing a SIGNAL while within a subroutine is safe
because DO loops, and so forth, that were active when the subroutine was called are not ended. (But
those currently active within the subroutine are ended.)
v Trace action: After a subroutine is debugged, you can insert a TRACE Off at the beginning of it, and
this does not affect the tracing of the caller. Conversely, if you simply wish to debug a subroutine, you
can insert a TRACE Results at the start and tracing is automatically restored to the conditions at entry
(for example, Off) upon return. Similarly, ? (interactive debug) and ! (command inhibition) are saved
across routines.
v NUMERIC settings: The DIGITS, FUZZ, and FORM of arithmetic operations (in section “NUMERIC” on
page 150) are saved and then restored on return. A subroutine can, therefore, set the precision, and so
forth, that it needs to use without affecting the caller.
v ADDRESS settings: The current and previous destinations for commands (see section “ADDRESS” on
page 132) are saved and then restored on return.
v Condition traps: (CALL ON and SIGNAL ON) are saved and then restored on return. This means that
CALL ON, CALL OFF, SIGNAL ON, and SIGNAL OFF can be used in a subroutine without affecting the
conditions the caller set up.
v Condition information: This information describes the state and origin of the current trapped condition.
The CONDITION built-in function returns this information. See section “CONDITION” on page 178.
v Elapsed-time clocks: A subroutine inherits the elapsed-time clock from its caller (see section “TIME” on
page 193), but because the time clock is saved across routine calls, a subroutine or internal function
can independently restart and use the clock without affecting its caller. For the same reason, a clock
started within an internal routine is not available to the caller.
v OPTIONS settings: ETMODE and EXMODE are saved and then restored on return. For more
information, see section “OPTIONS” on page 151.
Implementation maximum: The total nesting of control structures, which includes internal routine calls, is
dependent upon available storage.
CALL
Chapter 13. Keyword Instructions 137