On Mon, 13 Sep 2010 07:33:13 -0600, Steve Comstock wrote:
>
>R1 does not matter. From the Assembler Services Guide:
>
>Unless otherwise defined by the individual interface, the
>calling program should expect, upon return, that
>* The low halves (Bits 32-63) of GPRs 2 through 13 are unchanged
>* The high halves (Bits 0-31) of GPRs 2 through 14 are unchanged
>.
Clarification: I'm not thinking of system services, but of a
putative user program, AMODE 31, which has hitherto guaranteed
that R1 is preserved. It does the conventional:
STM R14,R12,12(R13)
GETMAIN
...
Stuff
...
FREEMAIN
LM R14,R12,12(R13)
BR R14
Suddenly, with no change in either the calling or the called
code, the caller will find that the top half of R1 is destroyed.
-- gil
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html