Two sets of registers would change the whole architecture. I'm sure as the 
gurus of the hardware sat around 20 (?) years ago pondering how to deal with 
64-bit as the architecture went forward, certainly two separate sets of 
registers crossed their whiteboards.

But I really like your "USING" idea. It's so easy to write a string of 64-bit 
code and accidentally code an LR instead of an LGR or an AHI instead of an AGHI 
somewhere in the middle.

Charles


-----Original Message-----
From: IBM Mainframe Assembler List [mailto:[email protected]] On 
Behalf Of Brent Longborough
Sent: Saturday, July 22, 2017 3:00 AM
To: [email protected]
Subject: Re: Superior IBM supplied "register equate" macro?

Unfortunately, (like base registers), registers can change the "meaning"
of their contents at different points in the program.

Rather than static equates giving the same register two different names, I 
think it would be cleaner, and safer, to have a directive analogous to USING 
which would say to HLASM (for example) "From this point in the code until 
further notice, R0 being used for a 64-bit value".

Or, better yet, maybe(in my dreams!?) have two sets of registers -- one for 
32-bit ops and one for 64-bit.

I'm not holding my breath for either, though.

Brent Longborough

Reply via email to