In zOS2.4 is was 000A0000 000130E1, a bad restart new PSW. In zOS2.5, zeroes.
This has caused issues with code that fetched from zero (where a previous instruction did not verify that a non-null address being loaded) . On Tue, 2 Jul 2024 21:54:24 +0000 "Schmitt, Michael" <[email protected]> wrote: :>The REXX code displays: :> :>0000000000000000 :>0000000000000000 :> :>Which would explain why it isn't branching. :> :>We were on z/OS 2.4 before. :> :>-----Original Message----- :>From: IBM Mainframe Discussion List <[email protected]> On Behalf Of Phil Smith III :>Sent: Tuesday, July 2, 2024 4:46 PM :>To: [email protected] :>Subject: Re: What's at a comma? :> :>I don't think "breaks this code" is fair. More like "This code is now equally broken but no longer randomly 'works' quite as often". :> :>In any case, x'6B' is in the middle of: :>FLCER018 DS CL104 FLCE 18x: reserved :>...which starts at location x'18'. :> :>On my 2.4 system, that's all zeroes. Location 0 sure isn't all zeroes; it is, of course, the IPL PSW. :> :>/* REXX */say c2x(storage(x2d(00), 8)); say c2x(storage(x2d(6b), 8)) :>displays both. I'd be astonished if those were ever the same. Unless there's some prefixing majick getting in here. What do you see when you run that Rexx snippet? :> :>And what z/OS version did you come from? :> :>-----Original Message----- :>From: IBM Mainframe Discussion List <[email protected]> On Behalf Of Schmitt, Michael :>Sent: Tuesday, July 2, 2024 5:10 PM :>To: [email protected] :>Subject: What's at a comma? :> :>Today I learned that z/OS 2.5 upgrade breaks this code: :> :> CLC 0(R7),ECOMMA IS THIS A COMMA :> BNE PD07240 IF NOT, BRANCH :> : :>ECOMMA EQU X'6B' COMMA (,) :> :>Which has worked since 1985. :> :>Yes, I know that this is incorrect code. It worked because the input never has a comma there. The "correct" result is to branch. Now it doesn't. :> :> :>(spoilers ahead if you want to figure out what's wrong for yourself...) :> :> :>So what's wrong is they meant to code CLI. But they didn't, so this assembles as if it were: :> :> CLC 0(7,0),107(0) :> :>But 0 isn't a base register, so it is comparing the 7 bytes at address x'0' to what's at address x'6B'. Right? :> :>My question is: what is at those two addresses? Whatever it is, it must have never been the same before, but now it is always the same. :> :>(Unless there's some z/OS 2.5 thing where storage reads at low core behave differently) :> :> :> :> :>---------------------------------------------------------------------- :>For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN :> :>---------------------------------------------------------------------- :>For IBM-MAIN subscribe / signoff / archive access instructions, :>send email to [email protected] with the message: INFO IBM-MAIN :> :>---------------------------------------------------------------------- :>For IBM-MAIN subscribe / signoff / archive access instructions, :>send email to [email protected] with the message: INFO IBM-MAIN -- Binyamin Dissen <[email protected]> http://www.dissensoftware.com Director, Dissen Software, Bar & Grill - Israel ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
