[M68000] move.w (a0)+,(a1)+ causes crash!

Thread Starter

oerg866

Joined Apr 3, 2009
1
Hello.

I'm working with Motorola 68000 assembly on a Sega Genesis console.

I have a code here wich works in certain emulators but not on the real console nor ReGen.

Rich (BB code):
                move.l    #$00000DE3,d0
sndrvloop:
                move.w    (a0)+,(a1)+                 
                dbf    d0,sndrvloop
This move.w (a0)+,(a1)+ causes the thing to lock up. Only if I set d0 as or below #$000000FF it works (however the wanted function is not achieved).

Is there any way to express this command by something else that doesn't lock it up?

Greetings
Oerg866
 

Papabravo

Joined Feb 24, 2006
21,227
The reason for the lockup is rooted in the values you have in a0 and a1. If the processor starts a bus cycle and nobody is there at that address to give a DTACK then you're hosed!
 
Top