Oppolzer - Informatik / Blog


Blog-Hauptseite      Neuester Artikel      Älterer Artikel      Neuerer Artikel      Älterer gleiche Kategorie      Neuerer gleiche Kategorie

IBM-MAIN - Returncode einstellen im Funktions-Epilog

Subject:

Re: An Interesting Technique

From:

Bernd Oppolzer <bernd.oppolzer@T-ONLINE.DE>

Reply-To:

IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU>

Date:

2015.02.15 22:18:26


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,20(R13)
BR   R14

kind regards

Bernd



Am 15.02.2015 um 16:46 schrieb P.:
> 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
>
> P.
>

Blog-Hauptseite      Neuester Artikel      Älterer Artikel      Neuerer Artikel      Älterer gleiche Kategorie      Neuerer gleiche Kategorie