Hi Arthur,
I guess, it is S0CA, not S0C8, because S0C8 is for binary fixed point
overflow.
S0CA is for decimal overflow.
This is the end of an old story. We had problems when we entered C routines
with the S0C8 mask bit in the PSW set, because the generated C code
couldn't
tolerate this (there was some address arithmetic in some ANSI library
functions
which used arithmetic left shifts that immediately led to S0C8 abends if
this
mask bit was set ... so we had to switch off the S0C8 mask bit before
entering
these run time functions). This was at a time when OS PL/1 V2.3 was
still in use
which did a pretty good job on FIXEDOVERFLOW etc. with binary values, which
we used all the time; this is why we had the S0C8 active in our
ASSEMBLER modules,
too ... but when moving to C, we had to get rid of this.
Then there was a period when S0C8 abends were captured by LE and
neutralized
under the cover ... with massive performance impacts.
In the end, all LE languages including EP PL/1 (and C, of course) had to
be run
with the S0C8 mask bit off.
Kind regards
Bernd
Am 22.03.2015 um 10:27 schrieb Arthur Fichtl:
Cited from
http://www-01.ibm.com/support/knowledgecenter/SSQ2R2_7.6.1/com.ibm.ent.pl1.zos.doc/topics/ibmm2mst131.htm%23wq226:
As documented elsewhere, under Enterprise PL/I, the
FIXEDOVERFLOW/NOFIXEDOVERFLOW (or FOFL/NOFOFL) prefix applies only to
FIXED DECIMAL operations.
And, it is based on the Fixed-point overflow exception S0C8.
Arthur
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN