[Coco] CoCo 3 MMU test for all

Roger Taylor operator at coco3.com
Mon Jan 21 21:01:40 EST 2008


At 05:31 PM 1/21/2008, you wrote:

>How? LDB ,X and LDB 0,X should yield the same results from any
>assembler.
>
>Most assemblers should realize that LDB 0,X is indexed mode with no
>offset. Even if it does compute an offset it will either be a 5 or 8 
>bit offset of
>zero. The last time a value was added to zero, the value was returned.
>Suggesting that a different value is read would imply that the two
>instructions are reading from different addresses.
>
>james


I remember Robert Gault and I doing a lot of testing in areas like 
this when I was first writing my CCASM assembler.

CCASM builds different operands for ,x and 0,x.   ,x is a no-offset 
mode  while 0,x forces an offset of 0 bytes.
The difference in modes like this can be cycles and/operand size.

CCASM also uses 5 bit offsets whenever possible where I think EDTASM 
uses 8 bits or even larger sometimes for forward references, but it's 
been a while since I dug deep into these matters and I'm a bit foggy 
on *all* of the details.  Major information overload.  :)






More information about the Coco mailing list