Am 06.08.2018 um 22:02 schrieb Seymour J Metz:
It might be that some SPIE routines handle the interrupt,
maybe print a message, and then allow it through to the OS.
I vaguely recall someone using DC H'0' followed by a message in a special
format to get a tailored error message via a SPIE exit.
SPIE / ESPIE is incredibly powerful, and you can do lots of
sophisticated things with it.
At my former customer's site we had something called "reentrant check".
The module was loaded into read-only memory (protected) and executed.
If the module modified itself or its static storage, the resulting
abends (S0C4) were
captured by SPIE and reported; the desired operation then was executed using
a special (customized) SVC and execution continued. For certain places
where
modifications were allowed, the instruction could be prefixed by a certain
character constant (DC CL4'RENT') ... then no error was reported.
Reentrant checks were possible for PL/1 and ASSEMBLER modules;
they were used during test stage to make sure that the modules are
REALLY reentrant.
We also had a self-written batch debugger, which relied completely on
S0C1 and SPIE
to do its instrumentation and implement the breakpoints; at least in the
first version.
Later it used TRAP2 and a customized SVC to write the DUCT.
Kind regards
Bernd