As an assembler routine (especially one that is not utilizing LE
services), you have the responsibility to maintain standard register
saving conventions (unless your caller expects otherwise): making sure
that the return to the caller is with
- low halves of GPRs 2-13 unchanged
- high halves of GPRs 2-14 unchanged ("14" is not a typo)
- ARs 2-13 unchanged.
How you accomplish that is up to you. There are many ways including
-- use of linkage stack
-- saving and restoring high halves within the section using them rather
than as part of the prolog/epilog.
Since the post was about using 8-byte GPRs but not AMODE 64, it is quite
feasible to do the saving/restoring outside of the prolog/epilog.
Peter Relson
z/OS Core Technology Design
----------------------------------------------------------------------
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