2013-01-06 106 views

回答

0

IDT描述爲六字節寬的結構,其中包含了裝載IDT入口和中斷檢查的重要信息。假設您在中斷0x40上映射了PIC中斷,並且您的IDT包含0x3F條目(其大小爲0x1F8)。每個中斷入口都有8個字節,所以當IF(中斷標誌)置1,IMR(中斷屏蔽寄存器,過濾器中斷)沒有屏蔽它的第一個中斷時,PIC會發出信號表明它想要觸發打斷。處理器詢問:「好的,它的號碼是什麼?」,PIC回答「0x40」。處理器將計算中斷入口的偏移量(從表的起始處)並將其與IDT描述符結構的第一個字進行比較。如果它大於IDT描述符中的值,則拋出異常(我認爲它是#GP)。

IDT描述符結構中的偏移量是指向IDT開始的4字節地址(非物理頁面)。添加從中斷號碼計算出的偏移量會導致處理器到達IDT條目的地址。