裏CHUNSOFT > ゲーム解析入門 > 4.様々なアドレスの指定方法

4.様々なアドレスの指定方法

メモリの値をアドレスを見なして、そのアドレスの値を読み込むという命令が沢山あります。 少しややこしいですが、()は括弧内のアドレスの値を2バイト読み込み、[]は3バイト読み込むと覚えて下さい。

例えば、特殊地形の出現率では次の命令が出て来ました。

035594  B1 A9           LDA ($A9)+"Y"   ; "A" = {{A9}(2バイト読み込み)+"Y"}

これは、アドレス「$A9〜$AAの値に"Y"を加えたもの」の値を読み込むということです。 先に$A9〜$AAには特殊地形の出現率のアドレスを入れておき、"Y"に00〜7Fの乱数を入れて、出現率の表から地形を選択するようになっているのです。

続いて、店の出現率では次の命令が出て来ました。

0393DF  7C 25 94        JMP ($9425+"X") ; {9425+"X"} にジャンプ

これは、アドレス「$039425+"X"」の値のアドレスにジャンプするということです。 $039425〜$03942Cにはアドレス表が入っていて、"X"には00,02,04,06のいずれかが入ります。 つまり、4つのアドレス表の中から1つを選択するということです。

2010年8月8日更新

裏CHUNSOFT > ゲーム解析入門 > 4.様々なアドレスの指定方法