At 20:34 -0400 on 05/08/2013, Blaicher, Christopher Y. wrote about
Re: Return codes:
What I normally do is check for zero, if that is what you expect
most often, then, if that fails, go through all the gyrations.
BALR r14,r15 Call your routine
LTR R14,R15 DID WE GET ZERO AS EXPECTED?
BZ RCZERO YES, ->
CHI R15,16 CHECK HIGH LIMIT
JH BADRETURN TOO BIG? DIE WITH MESSAGE
N R14,=XL4'00000003' ANY STRAY BITS?
JNZ BADRETURN YES, DIE WITH MESSAGE
B *+4(R15) BRANCH ACCORDING TO RC
Since you have already verified that R15 is not Zero, you can make that
B *+4(R15)
into a B *(R15) thus making the Branch Table handle only RC=4/8/12/16.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN