[Coco] lwtools assembler difference

Robert Gault robert.gault at att.net
Tue Sep 1 16:08:48 EDT 2015


Dave Philipsen wrote:
> 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
>
>

EDTASM will give you the following results:

  ldb ,x
get
  $E6 $84

  ldb 0,x
get
  $E6 $00

Robert



More information about the Coco mailing list