On Mon, 2 Aug 2010 15:34:00 -0600, Steve Comstock
<[email protected]> wrote:
>[...] Peter Relson
Now quoting from the latest Assembler Services Guide, page 13
(Chapter 2)
Example of F5SA
[...]
* Begin exit code
LGR 1,13 Copy my savearea address
LMH 2,14,SAVF5SAG64HS2-SAVF5SA(13)
* Restore high halves
LG 13,SAVF5SAPREV-SAVF5SA(,13)
* Restore callerâs savearea address
FREEMAIN RU,A=(1),LV=SAVF5SA_LEN Free my reentrant savearea
SLR 15,15 Set return code of zero
L 14,SAVGRS14-SAVER(,13) Restore callerâs R14
LM 2,12,SAVGRS2-SAVER(13) Restore callerâs R2-R12
BR 14 Return to caller
The documentation for FREEMAIN does not say that the SVC has any
obligation to preserve the high half of R14.
In general, programs are required to preserve the high half of R14,
but the FREEMAIN documentation specifically states that register 14
is used as a work register by the system. Therefore, it shouldn't
be obliged to preserve its high half, right?
>Kind regards,
>
>-Steve Comstock
>The Trainer's Friend, Inc.
>
>303-393-8716
>http://www.trainersfriend.com
>
>* To get a good Return on your Investment, first make an investment!
> + Training your people is an excellent investment
Justin R. Bendich
[email protected]