The one place where I have found that I cannot replace a branch with a branch 
relative is in a construct based on a return code:

        CALL    SOMEFUNC
        B       *+4(15)
        J       RC0
        J       RC4
        J       RC8
        J       RC12

and so on. The closest I can  come, in baseless code, is:

        CALL    SOMEFUNC
        LARL    R10,JUMPTABLE
        ALR     R10,R15
        L       R10,0(,R10)
        BR      R10
JUMPTABLE DS 0F
        DC      A(RC0,RC4,RC8,RC12)

And if I understand it correctly, this will perform poorly due to Address 
Generation Interlock.

--
John McKown
Systems Engineer IV
IT

Administrative Services Group

HealthMarkets(r)

9151 Boulevard 26 * N. Richland Hills * TX 76010
(817) 255-3225 phone * (817)-691-6183 cell
[email protected] * www.HealthMarkets.com

Confidentiality Notice: This e-mail message may contain confidential or 
proprietary information. If you are not the intended recipient, please contact 
the sender by reply e-mail and destroy all copies of the original message. 
HealthMarkets(r) is the brand name for products underwritten and issued by the 
insurance subsidiaries of HealthMarkets, Inc. -The Chesapeake Life Insurance 
Company(r), Mid-West National Life Insurance Company of TennesseeSM and The 
MEGA Life and Health Insurance Company.SM



> -----Original Message-----
> From: IBM Mainframe Assembler List
> [mailto:[email protected]] On Behalf Of Potts, Michael
> Sent: Friday, October 29, 2010 8:55 AM
> To: [email protected]
> Subject: Re: Modernizing code
>
> Another quick win is to replace branches with jumps (B to J, BE to JE,
> and so on). It will take more work to replace them in macros
> and figure
> out ways to handle branches into branch tables. It seems like you're
> well on your way to removing base registers for addressing code!
>
> -----Original Message-----
>
> >Do you have any other ideas ? I do not want to rewrite too
> much, so I'm
> >looking for "quick wins" like the two above.
>
>
> This e-mail transmission contains information that is
> confidential and may be privileged.   It is intended only for
> the addressee(s) named above. If you receive this e-mail in
> error, please do not read, copy or disseminate it in any
> manner. If you are not the intended recipient, any
> disclosure, copying, distribution or use of the contents of
> this information is prohibited. Please reply to the message
> immediately by informing the sender that the message was
> misdirected. After replying, please erase it from your
> computer system. Your assistance in correcting this error is
> appreciated.
>
>

Reply via email to