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
