|
BASICインタープリタで、割り込み処理をさせる。 外部ハードから、例えば IRQ端子の割り込みで、フラグを立て、 実行しているプログラムにソフト割り込みをかける。 一応 動作していますので、説明します。listをご覧下さい。 110行で、割り込み時のサブルーティンを宣言する。 200行は、実験のため、test1(フラグを立てるINSTRUCTION)を作成し、 強制的に、割り込みフラグを立てる。 結果は、1000行に制御を移し、また 2000行をコールして200行に戻って、print文を実行している。 割り込みの実行感度は、次のINSTRUCTIONに入る前に 割り込み処理をしていると言う事。 念の為、割り込みフラグを立てる200行を廃止すると、何事もなく終了している。 BASICインタープリタの中身は、よく聞かれますので、割り込み宣言(上の110行)の処理を記載します。 "interrupt"の単語解釈で、記載の void DefINTR_COMMAND( void)が呼ばれます。 2重宣言でないかのチェック、”gosub”単語の存在、行ナンバーの確認、行ナンバーテキストの存在、 場所の確認で、データを保管 以上です。 割り込みが有った時、void INTR_GOSUB_Command( void)を実行すると言う事です。 多くの INSTRUCTIONは、処理ツールがそろっていますので、目的に向かって処理ツールを並べる・・
と言った感じで・・出来ています。 |

- >
- コンピュータとインターネット
- >
- コンピュータ
- >
- パソコン


