[Coco] 6502 to 6809 translation

gene heskett gheskett at wdtv.com
Mon Aug 1 18:12:09 EDT 2011


On Monday, August 01, 2011 05:53:39 PM William Astle did opine:

> On 11-08-01 02:57 PM, gene heskett wrote:
> > On Monday, August 01, 2011 04:56:24 PM Arthur Flexser did opine:
> >> Wouldn't lda data_addr,y (without the parentheses) do the equivalent?
> >> Add data_addr to y and load the a register from the address $8020?
> >> 
> >> Art
> > 
> > If it doesn't work, what have I been doing for 20+ years?
> > It works.  What is the problem?
> 
> Using "lda data_addr,y" will only work if data_addr is the address of
> the data which is not the case here since data_addr is the address at
> which the data address is stored.
 
Humm, but do we not have the "lda [data_addr,y]" ??

Note that the moto book uses [$F000] as an example, but if the symbols and 
register contents are known to the assembler from previous defines, then 
there is nothing to prevent the assembler from filling in the 16 bit 
address within the bra[]ets, and I am pretty sure that I have done that, 
particularly using the [data_addr,pcr] notation, where one has specified 
with an fdb, the address of a register to be read for status.

Or am I losing my touch?

> >> On Mon, Aug 1, 2011 at 7:02 AM, Phill Harvey-Smith
> >> 
> >> <afra at aurigae.demon.co.uk>  wrote:
> >>> Hi All,
> >>> 
> >>> I'm currently trying to translate some 6502 code to run on the
> >>> Dragon/CoCo, all is prety easy except for one thing, the 6809
> >>> doesn't appear to have one of the 6502 indexed modes namely :
> >>> 
> >>> asume that data_addr contains $8000
> >>> and y=$20
> >>> 
> >>>         lda     (data_addr),y
> >>> 
> >>> which will IIRC take look in data_addr, find $8000 and load a from
> >>> $800+$20 = $8020.
> >>> 
> >>> the 6809 has
> >>> 
> >>>         lda     (data_addr,y)
> >>> 
> >>> but this will load a from where data_addr+$20 points to, which is
> >>> not the same thing !
> >>> 
> >>> So is there an easy way of translating the 6502 code in a couple of
> >>> 6809 instructions ?
> >>> 
> >>> Cheers.
> >>> 
> >>> Phill.
> >>> 
> >>> --
> >>> Coco mailing list
> >>> Coco at maltedmedia.com
> >>> http://five.pairlist.net/mailman/listinfo/coco
> >> 
> >> --
> >> Coco mailing list
> >> Coco at maltedmedia.com
> >> http://five.pairlist.net/mailman/listinfo/coco
> > 
> > Cheers, gene
> 
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco


Cheers, gene
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
A long-forgotten loved one will appear soon.

Buy the negatives at any price.



More information about the Coco mailing list