R1 is the table address; only 256 bytees need to be addressable. R2 is the 
string address, and you need write access to everything up until the delimiter 
('00'x in this case.)

________________________________________
From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> on behalf of 
Michael Stein <m...@zlvfc.com>
Sent: Thursday, April 27, 2023 3:07 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Inexplicable 0C4!

On Thu, Apr 27, 2023 at 03:28:26PM +0000, Seymour J Metz wrote:
> Is it possible that the string is in key 0 or  read-only storage?

It's a certainty for the whole string, but probably not for the part
ending at the first x'00' byte.

TST  TRE   R2,R1              fold string

    R0       R1       R2       R3        PSW
    00000000 0009C5EC 1AA748F8 7FFFFFFF  078D04008009BD14

The string goes from the address in R2 for the length in R3:

So from 1AA748F8 for a length of 7FFFFFFF.

Now TRE will stop on the character in the low byte of R0 but can
get address exceptions for up to 4K beyond the matching byte.

So whats the protection status of the 4K block after the one pointed to by
R1, ie: 1AA748F8 -> 1AA75000

This 0C4 probably only happens when that next 4K block isn't storable...

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to