I try to balance the use of B *+2+4 style branches against the
cluttering up by using a bunch of labels. It's never for more than 2
instructions.
Nothing worse than looking at long series of tests followed by bit
setting instructions where every other instruction has a label.

Tony Thigpen

-----Original Message -----
 From: Chris Craddock
 Sent: 12/04/2013 02:58 PM
Date: Wed, 4 Dec 2013 13:37:31 -0600
From: [email protected]
Subject: Re: Base-less programming
To: [email protected]

<snip>> >
Am I reading the book right?


No. Although the assembled instructions have the displacement in half
words, your source code should still use the original "offset". HLASM
itself will halve the value. And it will complain bitterly if the offset is
not even. So you just replace the B??? with J??? and leave the operand
itself alone.

Well.. yes, but being pedantic; how about just using a label?!? I cringe 
whenever I see carefully crafted branch statements with instruction lengths. 
That's trivially broken by any down-stream change, whereas a label as a jump or 
branch target will never be wrong - no matter how much the code changes in 
between. Make your own and the next poor fool's job easier.
Just saying....
CC

Reply via email to