保护模式下发生中断或者异常时,处理器先从IDTR寄存器得到中断描述符表(IDT)的地址,然后取出其中N号中断或者异常的门描述符,再丛描述符中得到中断服务程序的地址XXXX:YYYYYYYY,经过段地址转换后得到服务程序的32位线性地址转移后执行,
我找了好久,一直不明白中断描述符表(IDT)的中断号和硬件产生的中断号有什么固定对应关系没有,
比方说,在实摸下,键盘中断号在中断向量表里面就是INT 9号中断,很固定,
现在我想知道,在XP下,在RING0特权级中,中断描述符表(IDT)的每个中断号是不是都是对应固定的硬件中断呢,比如说,键盘,鼠标等等,我一直查不到这方面的资料,网上和书上都是只说了中断描述符表前16个中断号的硬件对应关系,就是没有说键盘,鼠标其它等等的,
实摸下我很清楚,也能写自己的中断例程
其实我就是不知道,在保护模式下,当产生了个硬件中断,它所对应的是哪个中断号,以及它和这个中断号是不是一直都是固定的关系,(听有人说,没有规定的关系,中断描述符表(IDT)的中断号只要电脑启动一次,就变一次,)我差点晕死,如果是这样的话,当一个硬件产生中断,我该如何把握呢,我如何编写自己处理它的中断程序呢,
有点长,请大家能指点一下,也希望大家告诉我哪有中断描述符表(IDT)所有中断号的详细介绍说明,谢谢了 :(