Bernd, I strongly agree. Finding the R15 EPA in a dump (as well as the R14 
caller's return address) is invaluable.

-----Original Message-----
From: IBM Mainframe Assembler List [mailto:[email protected]] On 
Behalf Of Bernd Oppolzer
Sent: Sunday, February 15, 2015 4:18 PM
To: [email protected]
Subject: Re: An Interesting Technique

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
> ****
>
The contents of this e-mail are intended for the named addressee only. It 
contains information that may be confidential. Unless you are the named 
addressee or an authorized designee, you may not copy or use it, or disclose it 
to anyone else. If you received it in error please notify us immediately and 
then destroy it

Reply via email to