6502 マシンの次のコードで問題が発生しています。
C000 LDA #$00
C002 STA $FE
C004 LDA #$20
C006 STA $FF
C008 LDY #$08
C00A LDX #$00
C00C DEY
C00D CPY #$FF
C00F BEQ $C01B
C011 LDA ($FE),Y
C013 CMP #$2F
C015 BPL $C00C
C017 INX
C018 JMP $C00C
C01B BRK
課題は、アドレス 2000 から始まる 2、1、および 4 の数値を格納し、A、X、および Y の値が何であるかを言うことです。
ペンと紙でコードを「実行」していますが、次の理由で C011 で行き詰まりました。
LDA ($FE),Y
この方法で計算されたメモリ アドレスに格納されている値を A にロードします。
- 値を選択
$FE
(最初は 00) - Y の値を追加します (最初の反復では 7)。
- 私は今07を持っています
- 07 に格納されている値を A にロードします。
これは正しいです?何か不足していますか?2000
2001
そうでない場合、とに格納されている値をどこで使用します2002
か?
前もって感謝します..