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

Reply via email to