K氏のheboOSをまねてみる

82:Re: 割り込み処理
hideyosi 10/16 15:45
ふむ!?

Kタンのhttp://community.osdev.info/index.php?(PIC)8259Aをジックリと読んでみた。
・・・むずかしくてわかりません・・・(T∀T)

しかし、そんなぼくらのために(ヲレだけかも)「ものぐさ」というセクションがあった。

ようするにはこういうことらしい。
●割り込みは、CPUの機能だが、その割り込みの発生・CPUへの発注・関所を行うLSIがあるらしい。
●このLSIは、キーボードなどから信号が来ると、割り込み信号を作って、CPUに「おい!割り込みがきたぞー!」と知らせ、CPUでは割り込みが発生する。
●CPU(アセンブラのプログラム部)では、割り込み時に必要な処理は行う。で、その処理が終わったら、IRETで戻ってくる。(つまり、CPUとしては、割り込みは終了している)
●問題は、さっきのLSI。この時点では、まだ、「割り込みがキタゾー!」のまんま。つまり、次の割り込みは待たされている
●つまり、このLSIにも、「CPUとしては、割り込み処理はもう終わったよ。次の割り込みを受け付けていいよ。たのむね」と、教えてあげなくてはいけないらしい。

そのためのコードが、これらしい。

AL = 割り込み番号 + 0x60; OUT(0x20, AL);

1-

BluesBB ©Sting_Band