A 'based' branch compared to a relative branch (jump). Relative is often better. Target address can be farther away (forward or back), no register required to calculate that location which eliminates a potential address generation interlock (agi), should perform better (reportedly).
-----Original Message----- From: IBM Mainframe Assembler List [mailto:[email protected]] On Behalf Of Scott Ford Sent: Friday, August 24, 2012 2:11 PM To: [email protected] Subject: Re: which instructions should I use? Is there any really difference between a BNE and a JNE ? Scott ford www.identityforge.com On Aug 24, 2012, at 2:55 PM, Randy Schafer <[email protected]> wrote: > Oops. > > I meant: CLI 0(R3),X'00' > > > > -----Original Message----- > From: Randy Schafer > Sent: Friday, August 24, 2012 1:54 PM > To: 'IBM Mainframe Assembler List' > Subject: RE: which instructions should I use? > > I probably would have used: > > CLI 0(1,R3),X'00' > JNE ... > > No literal. > > > -----Original Message----- > From: IBM Mainframe Assembler List [mailto:[email protected]] > On Behalf Of Frank Swarbrick > Sent: Friday, August 24, 2012 1:48 PM > To: [email protected] > Subject: which instructions should I use? > > Assembler newbie here; please be gentle. > > Given the following: > - r7 points to the input parm list > - r2 indexes the input parm list > I want to see if the first byte of the parm I am interested in is x'00'. > > l r3,0(r2,r7) r3 -> current parm > I can do this: > clc 0(1,r3),=x'00' > jne delimited_string > Or I can do this: > llc r9,0(,r3) r9 = parm byte 0 > clijne r9,x'00',delimited_string > > How do I decide which is better? > The second one uses "more modern" instructions, and 1 extra byte, but no > literal. > > Frank
