On Mon, Apr 22, 2024 at 02:38:08PM +0100, Rupert Reynolds wrote:
> For the record I chose (off the cuff) to use NC on some low storage with
> itself, because it would never actually attempt to alter that storage, but
> only to store the same values back again.

Or perhaps not the same values if the value changed between the implied
two fetches NC might do.  Reading the description of NC the accesses
are NOT interlocked and might get different values thus altering the
storage location from what it would have been.

I've used EX 0,* extensively, it's very obvious it's intentional
especially when you can look at the source code and see why this should
"never" happen.

An 0C1 would work but a bad branch can cause this too so it's not as
obvious it's intentional.  It is easier to cause in other code though
and only takes 2 bytes so only requires overlaying one instruction.

A store into location 0 sounds pretty safe if you need a real 0C4.
Without some real hardware (firemare/software) problem even key 0 it
should fail.  I once crashed VM from an MVS running under it when somehow
the low address protection status got confused and VM couldn't update
low storage...  This was long ago...

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to