I have some criticism against this technique,
because it turns the save area trace in the case of an abend pretty
useless,
because the EP address which was at the position 16(r13)
before the return code was stored there is overwritten, and so the EPA
cannot be examined any more by looking at the save area trace.
I prefer this technique - just a minor modification:
STIMER WAIT,DINTVL=WAITTIME .Wait till the end
L R13,SAVE+4 .Return to caller
* --- don't store R15 --- ST R15,16(,R13)
L R14,12(R13)
* --- simple omit R15, when restoring registers from save area
LM R0,R12,10(R13)
BR R14
kind regards
Bernd
Am 15.02.2015 um 16:46 schrieb [email protected]:
I stumbled across a small routine whose function is to issue a STIMER and
return to the caler, when the Time Limit Expires. What I found interesting was
the way this routine saved the return code.
.
.
STIMER WAIT,DINTVL=WAITTIME .Wait till the end
L R13,SAVE+4 .Return to caller
ST R15,16(,R13) <===HERE
LM R14,12,12(R13)
BR R14
.
.
Before restoring the callers registers, Register 15
is stored in the Register 15 Slot of the Callers Save Area.
OR that is how it appears to me.
.
Has Anyone seen this technique ?
Any comments on using this technique ?
.
.
Just curious
Paul
****