If everything else were equal (which it probably isn't), code like that sounds 
like a good reason to use structured Assembler macros. 
Bill Fairchild 
Franklin, TN 

----- Original Message -----

From: "Tony Thigpen" <[email protected]> 
To: [email protected] 
Sent: Wednesday, December 4, 2013 2:16:41 PM 
Subject: Re: Base-less programming 

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