ドラクエ風RPGファミコンプログラム講座
【 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 されます。
【画像1】