ブートローダーを作成しているのですが
割り込みが重なって発生してくれません
現在、キーボード割り込みとタイマー割り込みの設定を終わらせたのですが
キーボード割り込み発生中にタイマー割り込み また
タイマー割り込み発生中にキーボード割り込み が発生しません。
なぜでしょうか?
[実験]
タイマー割り込みハンドラ内で JMP $を実行します。
このとき、キーボードを押して反応があれば
タイマー割り込み中にキーボード割り込みが発生してハンドラが実行されたことになります。
キーを押すと KEYCODE [] に押したキーに対応するキーコードが表示され、
コマンドフレーム上にも文字が表示されます。
"ENABLE PIT"と打つと、タイマー割り込みが有効になります。
打ってみると・・・
キーを押してもKEYCODE[]が更新されなくなりました。
なぜでしょう?
仮説1 優先度
MOV AL,0x20
OUT 0x20,AL
OUT 0xA0,AL
リンク内容
割り込み処理が終わったらEOIコマンドを打たないと
現在の割り込みより優先度が低い割り込みは入ってこれなくなるようです。
とあるので、キーボード割り込みのほうが優先度は高いはずです。
が、タイマー割り込み中にキーを打っても反応がないので
やっぱ優先度ではない・・・?
何か設定を見落としている部分があるのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/30 05:25
2020/10/30 05:28
2020/10/30 05:41
2020/10/30 05:44
2020/10/30 09:16
2020/11/12 06:25