在英特爾軟件開發人員手冊中,它指出中斷向量32-255通常是用戶爲外部IO設備定義的。在我的系統編程課上,我必須開發一個簡單的設備驅動程序我的問題是如何定義特定中斷向量以用於特定設備?這是用BIOS完成的嗎?如何在x86上識別設備特定的中斷?
注意:我們正在開發一個簡單的操作系統,所以我的情況非常具體,但最終我需要了解這一切是如何發生在x86系統上的。目前我們的系統已經建立,以便將32個以上的中斷向量分配給像串口和鍵盤這樣的設備。在閱讀英特爾82801EB ICH5 IO控制器的數據表時,特別是關於8259 PIC的部分,它表示IRQ15是次要IDE通道。最終如何將它作爲中斷向量放在堆棧上?
我可能只是很困惑,這個問題沒有意義,所以我提前道歉。編輯:所以我們的系統編程類有一個非常簡單的操作系統,它有內核例程安裝ISR來處理特定的中斷給定的向量編號。在我們上個季度的課上,教授給了我們一個頭文件,它將鍵盤定義爲向量編號0x2c或類似的東西。我正試圖找出如何使用我們的內核例程將主要和/或次要IDE通道中斷映射到各種ISR。目前,所有未使用的中斷向量都有一個默認處理程序,如果發生中斷,它將打印消息,所以IDE中斷目前還沒有開啓,但這是另一個問題。
你的問題是有道理的。我隱約記得鼠標使用IRQ 31?抱歉。我沒用。 – 2009-04-21 15:36:24
我想我剛剛找到一個很好的資源: http://heim.ifi.uio.no/~stanisls/helppc/int_table.html http://heim.ifi.uio.no/~stanisls/helppc/8259 .html – 2009-04-21 17:12:08