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