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

NES アセンブラ入門編】

【 JSR 命令とスタック 】

 

*JSR は、サブルーチンを呼び出す命令で サブルーチンからは原則として RTS

 復帰します。

 JSR命令が、実行されるとPC(プログラムカウンター)を+2 してスタックに

 戻りアドレスを 押し込んだ後でオペランドのアドレスにジャンプします。

 *ファミコンのスタック領域は $0100~$01ff で、TXS 命令で1byte のみで

 設定します。

 初期設定では、LDX #$FF、TXS の様に$FFを設定します。

 下の画像は、ファミコンのスタック領域で、$1ff当たりのDATAはサブルーチン

 の戻り値などであると思われる、スタックにはもう1つ プッシュ/プルが

 ありAレジスタとPレジスタを1次的に退避することができます。

 スタックポインタはDATAをPUSHすると -1 され、PULLすると +1 されます。

 

f:id:chien1956:20200224160426p:plain

【画像1】