On Mon, 13 Jun 2016 11:19:06 -0700, Charles Mills wrote:

>In the description of LINK in Assembler Services I read
>
>...
>
>Does that mean that for standard "old-fashioned" AMODE 31 72-byte savearea
>linkage I am obligated to save the high word of R1 before issuing LINK in a
>called program? If so, this would seem to be a compatibility issue for older
>code that uses LINK. Or is R1 fair game as a work register in a called
>program?

The Linkage conventions do not require that R1 be preserved. From the Assembler 
Services Guide:

<quote>
Unless otherwise defined by the individual interface, the calling program 
should expect, upon return, that  
o The low halves (Bits 32-63) of GPRs 2 through 13 are unchanged  
o The high halves (Bits 0-31) of GPRs 2 through 14 are unchanged  
o ARs 2 through 13 are unchanged  
o FPRs 8 through 15 are unchanged; The Floating Point Control (FPC) Register is 
unchanged with the exception of two fields: the IEEE exception flags and the 
data exception code (DXC).  
o When return information is provided in GPR 0, 1, and/or 15 (for example 
return and reason codes), only bits 32-63 of the register contain the returned 
value.
</quote>

-- 
Tom Marchant

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to