[Coco] lwtools assembler difference

Dave Philipsen dave at davebiz.com
Tue Sep 1 15:16:28 EDT 2015


Well, in my comparison of the code generated by the lwtools assembler 
and the stock OS9 assembler I have found a quirk of the lwtools 
assembler.  I won't call it an error because it appears that the outcome 
is not affected and it seems to be a minor thing.  On every other 
assembler I've used including AS6809, CSC6809, and the stock OS9 
assembler the following assembly source:

ldb  ,x
  or
ldb 0,x

is assembled in machine code as:

E6 84

which is the indexed addressing mode with no offset
However, the lwtools assembler (evidently) assembles in machine code as:

E6 00

which is the indexed addressing mode with a 5-bit offset with the offset 
being zero.

I dont have a copy of EDTASM anymore so I can't say how it would 
assemble it.  This just seems to be the case of a smart assembler which 
determines the given offset to be zero and thus translates it as a "no 
offset" postbyte as opposed to a "5-bit offset" postbyte.

Dave Philipsen



More information about the Coco mailing list