レジスタから他のレジスタにメモリアドレスを渡すにはどうすればよいですか? 私の次のルーチンは、スタックから文字列メモリ アドレスを受け取り (はい、必要です)、D1
レジスタに入れようとしますが、これを実行しようとすると動作せず、EASy68kエミュレータがクラッシュします (または無限ループに入りますか?)。
コード:
START ORG $1000
MOVE.L T,D0
MOVE.L D0,-(SP)
BSR PRINTS
PRINTS:
MOVE.L D0,(SP)+
MOVE.W D0,A1
MOVE #14,D0
TRAP #15
RTS
T DC.B 'HELLO',0
END START
更新:引数がスタックからプッシュおよびポップされるときに、方法を更新しました。PEA
私がやりたいことを正確に行うように見える指示を使用するように変更されましたが、それでも機能しません。
START ORG $1000
PEA T(PC)
*MOVE.L D0,-(SP)
BSR PRINTS
ADDQ.L #4,SP
MOVE #9,D0
TRAP #15
PRINTS:
MOVE 4(SP),A1
MOVE #14,D0
TRAP #15
RTS