2013-01-06 110 views

回答

0

IDT描述为六字节宽的结构,其中包含了装载IDT入口和中断检查的重要信息。假设您在中断0x40上映射了PIC中断,并且您的IDT包含0x3F条目(其大小为0x1F8)。每个中断入口都有8个字节,所以当IF(中断标志)置1,IMR(中断屏蔽寄存器,过滤器中断)没有屏蔽它的第一个中断时,PIC会发出信号表明它想要触发打断。处理器询问:“好的,它的号码是什么?”,PIC回答“0x40”。处理器将计算中断入口的偏移量(从表的起始处)并将其与IDT描述符结构的第一个字进行比较。如果它大于IDT描述符中的值,则抛出异常(我认为它是#GP)。

IDT描述符结构中的偏移量是指向IDT开始的4字节地址(非物理页面)。添加从中断号码计算出的偏移量会导致处理器到达IDT条目的地址。