next up previous contents index
Next: 割り込み処理: klic_interrupt Up: 例外処理 Previous: 割り込み時の処理

KL1レベルでの割り込み処理

KLICの内部で行われている割り込み処理はこれまでに述べてきたような ことを行っている。一方で、KL1ユーザレベルで割り込み処理を記述、 登録することも可能になっており、そのための処理を「割り込みハンドラ」として 実装している。すなわち、シグナルが発生するたびに、CONSで ユーザが指定した未定義変数を具体化していく、という処理を行っている。

KL1レベルでのインターフェースはunixモジュール(gunix.kl1)で定義されており、 signal_stream(Signal, Result, Variable) なるインターフェースで ある。

このような処理に関しての関数群もsignal.cで定義されている。

streamed_signal_handler():
割り込みがおきるたびに CONSを割りつけ、あらかじめ登録された変数に単一化を行う関数。

register_streamed_signal():
KL1述語signal_streamより 呼びだされる登録用関数。streamed_signal_handler() を割り込みハンドラとして 登録する。複数回登録されたならば、シグナルストリームになる変数同士を 単一化する。



Sekita Daigo
1998-05-18