2

乱数 (0 から 31 まで) x が address$00に保存され、別の乱数 (0 から 31 まで) y が address に保存されています$01。この 2 つの数値を座標として使用して、住所を導き出します$xy。たとえば、x = 2、y = 10 の場合、アドレスは になります$020a。私は初心者なので、誰かがこれを行う効果的な方法を共有できますか?

派生アドレスに他の値を格納したい$020aので、これが必要です。

4

2 に答える 2

1
LDY #$00
LDA #VALUE
STA ($00),Y 

これにより、質問で説明されているように、$00 と $01 に含まれるアドレスからアキュムレータにデータがロードされます。

アドレス $00 に 10 または $0a があり、アドレス $01 に 2 または $2 がある場合、値がアドレス $02a に書き込まれます。

これは、 http: //www.dwheeler.com/6502/oneelkruns/asm1step.html で説明されている間接インデックス付きアドレッシングを使用します。

于 2014-10-05T04:07:02.003 に答える
1

間接アドレッシングを使用する必要があります。間接アドレッシングはアドレスと Y レジスタを使用するため、必ず最初に Y レジスタをクリアしてください。

LDY #0
LDA ($0),Y

そのアドレスに保存するには:

LDA #$FF ; or whatever you want to store
LDY #0
STA ($0),Y

間接アドレス指定に関する詳細情報は次のとおりです: http://www.obelisk.demon.co.uk/6502/addressing.html#IDY

私はさびていますが、これがあなたを適切な方向に導くことを願っています.

于 2014-10-05T04:07:41.007 に答える