That's why you usually omit R15 from the registers that are to be reloaded.
There are two solutions (at least) to this problem:
split the LM into a load for R14 and a LM which starts at R0 and 20(r13),
leaving R15 untouched, so you can put the return code into R15 before
the reload,
or: modify the contents of the savearea (16(r13) for R15) before doing
the reload.
Kind regards
Bernd
Paul Schuster schrieb:
Thanks--I answered own question after looking at code again.
n Fri, 9 Dec 2005 16:01:38 -0800, Edward E. Jaffe
<[EMAIL PROTECTED]> wrote:
Paul Schuster wrote:
[snip]
Consider this code:
01988A 98EC 9464 19A98 42272 LM R14,R12,CHKSU_SAVE
01988E 48F0 94A0 19AD4 42273 LH R15,SURC
019892 07FE 42274 BR R14
R9 is being used as the base to restore registers 14-->12 from. Will R9 be
valid for the complete instruction, or will the new (restored) R9 be used
to restore the remaining registers 10--> 12?
The R9 value at entry to the above code fragment is used for the LM
instruction and the restored R9 is used for the LH instruction.
----------------------------------------------------------------------
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