[Coco] 6502 to 6809 translation

William Astle lost at l-w.ca
Mon Aug 1 17:20:23 EDT 2011


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.

>>
>> 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




More information about the Coco mailing list