MZ-80 パソコン開発物語

今だから話せる、パソコン開発記録を連載します。 感想をコメントに残して頂けたら 嬉しい・・。

過去の投稿日別表示

[ リスト | 詳細 ]

全1ページ

[1]

BASIC 割り込み処理

イメージ 1

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は、処理ツールがそろっていますので、目的に向かって処理ツールを並べる・・
と言った感じで・・出来ています。

全1ページ

[1]


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事