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

Reply via email to