First question: Does your code use 64-bit instructions? If not, then why would you need to worry about saving the high word of the caller's registers? If you don't modify it, then it doesn't need to be saved, does it? Since the save areas passed in are compatibily extended, then it shouldn't matter how you store the registers that you use, so long as you restore them correctly.
I was also under the impression that it was the __caller's__ responsibility to provide a save area for all its called modules and to do so in a way that worked properly according to the documentation of the subroutine. I.e. "R13 is assumed to point to a save area of ... words in length as documented the the IBM manual: ...". Or am I once again at the mercies of my meds? -- John McKown Systems Engineer IV IT Administrative Services Group HealthMarkets(r) 9151 Boulevard 26 * N. Richland Hills * TX 76010 (817) 255-3225 phone * [email protected] * www.HealthMarkets.com Confidentiality Notice: This e-mail message may contain confidential or proprietary information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. HealthMarkets(r) is the brand name for products underwritten and issued by the insurance subsidiaries of HealthMarkets, Inc. -The Chesapeake Life Insurance Company(r), Mid-West National Life Insurance Company of TennesseeSM and The MEGA Life and Health Insurance Company.SM > -----Original Message----- > From: IBM Mainframe Assembler List > [mailto:[email protected]] On Behalf Of Tony Thigpen > Sent: Monday, January 17, 2011 2:12 PM > To: [email protected] > Subject: Subroutines, save areas and 64bit > > We in z/VSE are just now really getting 64bit stuff so it's > time to ask > a few question of those with more experience with 64bit stuff. > > I write code for a vendor that is called by customer > programs. As such, > I really don't have much control over how they call me. Currently, I > handle being called in either 24bit or 31bit. (We switch to 31bit and > switch back upon return to the caller.) I also have to handle being > called with a BALR or BASSM. > > Now we are getting ready to support AMODE 64. > > It looks like we have to not only handle AMODE 64, but also multiple > save area formats, AMODE 24, 31, and 64. > > I am looking for any pointers from those that been down this > road before. > > Tony Thigpen > >
