ドラクエ風RPGファミコンプログラム講座

NES アセンブラ入門編】

【 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バイトです。

 

f:id:chien1956:20200220202414p:plain