There does not appear to be a combination of NUMPROC and OPT that will cause
an abend.  


We did some testing.  We ended up passing the literal '86 ' in via the
linkage section to short circuit the compiler's optimizations.

We tried compiling with all the combinations of NUMPROC and OPT.  We found
that, so long as the sending (usage display) field was unsigned, we got no
S0C7 on the move.  We also tried adding a compute statement using the packed
field and that also worked fine.  We passed in spaces and low values and
those worked too.  Adding a sign to the sending field made the S0C7 happen
on the move because the generated code was a pack followed by a zap.

It appears that the compiler generates code to smudge the sign into
correctness when the sending field is unsigned.  This is documented in the
language reference under 6.2.24.2 Elementary move rules.

A bit of a surprise.  Tomorrow I'll have to try this with OS/VS COBOL (the
only other compiler we've got hanging around) and see what happens.  Code is
available on request.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to