Saving the calling program's registers

Unless otherwise defined by the individual interface, the calling program should expect, upon return, that Individual interfaces may define that additional registers are unchanged, or that additional registers are not unchanged, or that returned information in registers uses more than bits 32-63.

At entry, all target programs save the caller's registers; at exit, they restore those registers. The two places where a program can save registers are in a caller-provided save area or in a system-provided linkage stack. The ASC mode of the target program determines how the target program saves the registers. A primary mode program can use the linkage stack or the save area its calling program provides. An AR mode program must use the linkage stack, unless the caller has provided a save area large enough to save both the access registers (ARs) and the 64-bit general purpose registers (GPRs).