On Mon, 11 Apr 2011 15:31:22 -0500, McKown, John wrote:

>OK. So, in order to be totally safe when the programmer cannot
>__guarantee__ that the caller has supplied a proper save area for
>64 bit programs (i.e., the caller might or might not use the 72
>or 144 word save area format),

That's 72-byte (18 word) or 144 byte (18 doubleword)

>then one __must__ assume a 72 work standard save area, no? In
>which case, if called by a routine which uses 64 bit register

How can you know what your callers do?  If your caller does not
use or alter the high halves, you _still_ have to restore the high
halves if you use them.  What if program A calls program B, which
calls program C, which in turn calls you, and program A is the
only one that cares about the high half of the registers?

>save the low fullword of the registers in the save area. Then
>save the high fullwords in an area the routine itself got

That area could be in the form of F5SA, which was designed for this
situation.

--
Tom Marchant

Reply via email to