{{include unfinished_page}} ,{t},{BSIZE:1 0|SIZE:100%} ,{BSIZE:0}←[[7章 MSX拡張BIOS仕様]] ,{BSIZE:0|RIGHT}[[A.2 ワークエリア|Appendix A.2 ワークエリア]] →  ここではユーザーが利用可能なBIOSエントリを紹介します。  BIOSにはMAIN ROMとSUB ROM内のルーチンの2種類があり、コールの手順はそれぞれ異なります。ここでエントリは次のように表記します。  記号は次のような意味を持ちます。 ,記号,意味 ,MSX,MSX1からサポートされているルーチン ,MSX2,MSX2用に追加または機能拡張されたルーチン。 ,MSX2+,MSX2+用に追加または機能拡張されたルーチン。  [A]、[HL]などレジスタ名を[]で囲んだものは、そのレジスタの内容を示します。例えば、HLレジスタの内容が8000Hであった場合に、[HL]とは8000Hを示していることになります。  【】で囲んだものは、ワークエリア中の名前と番地です。例えば、【PRTFLG(F416H)】とあれば、ワークエリアのF416H番地にあるPRTFLGという名前の場所を示します。「A.2 ワークエリア」をご参照ください。 !A.1.1 MAIN ROM  MAIN ROM内のルーチンを呼び出す場合は、通常のサブルーチンコールとしてCALL命令または、RST命令で行います。 RST関係  以下のRSTのうち、RST 00H〜RST 28HはBASICインタプリタが使います。RST 30Hはインタースロットコールに、RST 38Hはハードウェア割り込みに使います。 CHKRAM (0000H/MAIN) 機能 RAMをチェックし、システム用のRAMに使うスロットを選択します。このルーチンの実行後は、さらに初期化のルーチンへ分岐します。 コール手順 なし 戻り値 なし 変更レジスタ すべて SYNCHR (0008H/MAIN) 機能 HLレジスタが指す文字が指定した文字かどうかを調べます。違っていたら「Syntax error」を発生し、同じであればCHRGTR (0010/MAIN)へジャンプします。 コール手順 例 ld hl, moji rst 08h db 'A' ・ ・ ・ moji: db 'B' 戻り値 変更レジスタ AF、HL !A.1.2 SUB ROM  SUB ROM内のルーチンを呼び出す場合は、以下のようにインタースロットコールを呼び出して使います。 ld ix, BIOS entry address call extrom  IXレジスタを壊したくない場合は、次のように呼び出します。 push ix ; save IX ld ix, BIOS entry address jp SUBROM ,{t},{BSIZE:1 0|SIZE:100%} ,{BSIZE:0}←[[7章 MSX拡張BIOS仕様]] ,{BSIZE:0|RIGHT}[[A.2 ワークエリア|Appendix A.2 ワークエリア]] →