The z/OS system service GETMAIN does not preserve the high-order half of GP 
registers, and there are probably others in z/OS like that.  Check the doc on 
each VSE system service that you use.  When in doubt, save all 16 GP regs with 
a STMG before you call a system service and reload all of them, except for any 
that are supposed to be altered by the service (typically R15-R1), after you 
get control back from the system service.  I/O macros are also system services 
(GET, PUT, OPEN, EXCP, etc.).

Bill Fairchild
Rocket Software

-----Original Message-----
From: IBM Mainframe Assembler List [mailto:[email protected]] On 
Behalf Of Tony Harminc
Sent: Monday, January 17, 2011 2:23 PM
To: [email protected]
Subject: Re: Subroutines, save areas and 64bit

On 17 January 2011 15:18, McKown, John <[email protected]> wrote:
> 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?

Just don't issue a GETMAIN...

Tony H.

Reply via email to