Thomas David Rivers
2017-08-29 10:02:12 UTC
When you specify the EXTR= parameter on an ATTACH, you
are indicating the offset of an exit to asynchoronously receive
control when the sub-task ends.
This exit is invoked as many are, in that a 72-byte save area
is addressed by R13 for saving/restoring the registers.
The documentation even goes on to say:
"The exit routine is responsible for saving and restoring
registers".
In the 'MVS Programming: Assembler Services Guide" in the
section on linkage, called "Saving the calling program's registers"
it says that saving registers involves saving R2 through R13
"Unless otherwise defined by the individual interface".
Has the one sentence in the EXTR description 'otherwise defined'
that R14,R15,R0 and R1 also need to be saved; or is it referring
tot he normal saving which would not preserve those? It seems
a little ambiguous to me.
That is - in the case for an EXTR exit - do we need to also save/restore
R14,R15,R0 and R1 - or are those "safe" to trash? I'd like to use
them to trampoline into a different environment if possible without
having to do a "save-area dance".
- Thanks -
- Dave Rivers -
are indicating the offset of an exit to asynchoronously receive
control when the sub-task ends.
This exit is invoked as many are, in that a 72-byte save area
is addressed by R13 for saving/restoring the registers.
The documentation even goes on to say:
"The exit routine is responsible for saving and restoring
registers".
In the 'MVS Programming: Assembler Services Guide" in the
section on linkage, called "Saving the calling program's registers"
it says that saving registers involves saving R2 through R13
"Unless otherwise defined by the individual interface".
Has the one sentence in the EXTR description 'otherwise defined'
that R14,R15,R0 and R1 also need to be saved; or is it referring
tot he normal saving which would not preserve those? It seems
a little ambiguous to me.
That is - in the case for an EXTR exit - do we need to also save/restore
R14,R15,R0 and R1 - or are those "safe" to trash? I'd like to use
them to trampoline into a different environment if possible without
having to do a "save-area dance".
- Thanks -
- Dave Rivers -
--
***@dignus.com Work: (919) 676-0847
Get your mainframe programming tools at http://www.dignus.com
***@dignus.com Work: (919) 676-0847
Get your mainframe programming tools at http://www.dignus.com