Gil wrote:
<snip>

Somewhat later in this thread, Thomas David Rivers averred that LPR

Of 0x80000000 results in 0x80000000.

The puzzling sequence of instructions was LPR; LCR; SLR 31 to set a

char variable on a nonzero operand.  This works correctly (and I'll

trust the C compliers) only if both LPR and LCR result in 0x80000000,

or at least some nonzero result.
</snip>

It is true that LPR of 0x80000000 does result in 0x80000000.
As does LCR of 0x80000000.

If I have this right:
Overflow processing for these instructions depends on the "fixed point 
overflow" bit in the PSW program mask.
The "only if" is true only when the program mask does not have that bit on..
It is false if the program mask does have the bit on because the overflow 
results in a program interrupt. If a program interrupt were to occur, only if 
there were appropriate recovery in place that accepted this and retried 
silently to the next instruction could we consider that the program continues 
as expected.

Peter Relson
z/OS Core Technology Design

Reply via email to