At 22:23 +0200 on 12/10/2011, Binyamin Dissen wrote about Re: Quick
test for empty stack?:

On Sat, 10 Dec 2011 13:09:39 -0500 "Robert A. Rosenberg" <[email protected]>
wrote:

:>At 12:29 -0600 on 12/09/2011, Robert Ngan wrote about Quick test for
:>empty stack?:

:>>Someone is getting a S0E0 abend with interrupt code of X'34'.

:>My memory might be going but since X'E0' = 224 it is in the range
:>that is supposedly reserved for USER SVCs? Thus is the existence of
:>this ABEND Code being issued by IBM a violation of the rule that SXYY
:>ABENDS are supposed to be associated with SVC YY and thus requiring
:>that USER SVCs not attempt to issue any ABENDs of the form SXYY which
:>IBM has hijacked? A USER SVC is supposed to have the ability to issue
:>any ABEND where the YY is it's ID and X is 0-E (FXX being reserved
:>for the SVC YY not defined ABEND)? I seem to remember other cases
:>where IBM has hijacked ABEND codes that are supposed to belong to
:>USER SVCs (although it just might just this one case and its various
:>Interrupt codes). Has IBM ever published a list of USER SVC Numbers
:>some of whose SXYY codes have been stolen in the documentation with a
:>warning that if you use the YY number, you should not try to use the
:>associated X modifier so as to avoid confusion with IBM's use of YOUR
:>SXYY ABEND code.

Has IBM reserved SYSTEM abends for user code? In fact, IBM takes quite a bit
of the USER codes as well.

A System ABEND is issued by an SVC when something goes wrong. Thus is
specific to that SVC and is supposedly keyed to that SVC's number.
IOW: SVC XX [XX is the SVC Number in HEX] issues SVCs of the form
SYXX [where Y is 0-E since SFXX is reserved by IBM to say SVC XX is
not defined]. Thus my query since a user defined SVC E0/224 can not
issue a S0E0 ABEND of its own since IBM has hijacked that ABEND code
restricting the SVC to only 14 not the 15 codes it is supposed to
have. I realize that most SVCs can live with only 14 ABEND codes but
I have seen some Vendor Code that issues a S0XX ABEND and thus if the
user does not use the Vendor's suggested SVC Number but accidentally
selects one that IBM has hijacked can run into a conflict.

As to IBM using USER ABENDs, that is a different issue since a USER
ABEND (Uxxxx) is issued by an application and is unique to THAT
application. Thus if Application X issues a U1000 then it means that
the application has run into a problem 1000 as defined in its
documentation. Application Y issuing a U1000 has a totally different
meaning which is defined in ITS documentation. If common routines are
shared between applications then the meanings would be the same iff
issued by the common routines. As for IBM grabbing USER ABEND Codes
this falls under the common routine exception. COBOL has a number of
USER ABENDs that it can issue from runtime code but they are
restricted to a set range leaving room for true user code use. The
same with applies to the top-hat routines supplied by IBM with LE.

My question only applies to SYSTEM ABENDs where IBM seems to be
violating the assignment of the SYXX codes that are supposed to be
allocated for SVC XX by using some for itself without being the owner
of SVC XX. The only case where I know of IBM supplying USER SVC codes
is when it issues the product (such as the case with CICS, etc.) and
the EXTENDED SVCs supported by the defined Extended SVC top-hat
numbers (which route to IGX as opposed to IGC modules). Many of the
IBM products use these in lieu of the traditional USER SVCs.

Reply via email to