ドラクエ風RPGファミコンプログラム講座
【 16bitの変数】
* ファミコン(6502)は、扱えるDATAが8ビット(1byte)長なので16ビットを
超えるDATAは、8ビットずつ数回にわけて処理する必要があります。
『 メインカウンターの設置』
*ゲームプログラムには欠かせないメインカウンター(CT)を設置します。
TEST用プログラムの無限ループの中に
[例]
CT = $10
*上記は、CT という名の変数を ゼロページ $10 で使うことを宣言しています、
ファミコン(6502)では、レジスタが8bit なのでCTは8bitの変数に
なりますが、16bit 以上の変数を扱う場合は CT,CT+1,CT+2 の様にアクセス
します、この場合 CT が最下位 CT+2 が最上位になり $1034df という値だとすると
CT = $df, CT+1 = $34, CT+2 = $10 に格納することになります。
ファミコンの変数は、宣言のみで代入はできません、 ROM領域から格納します。
lda #100, sta <$10 のように代入します、ゼロページ以外の宣言方法は .org $0300
.dw 0, db $00 の様に変数領域を確保します、DWは、2バイト DBは、
1バイトです。