注册 登录
编程论坛 汇编论坛

XP下中断号和IRQ没有对应的关系吗

luohua2007 发布于 2007-06-06 21:05, 1867 次点击

学了很久都不明白,我只好来个假设,希望大家指点一下

在XP下WDM里,当我按下键盘,键盘这时候的中断号是多少呢,是不是和键盘IRQ1有固定的关系呢,就象实摸下键盘中断是INT 9一样,是不变的,很好调用,在程序里只要写INT 9就可以了

有人说在XP下中断号是可变的,不和键盘IRQ有对应的关系,电脑每启动一次,中断号就改变了,
要用HalGetInterruptVector这个函数获得硬件中断对应于XP的中断号(即IDT中的位置)。这样说来,中断号不就是没有什么用处了吗,不能提前知道,我以后该如何利用呢,不能象写INT 9那样直接调用了

一直不明白保护模式的中断号和IRQ它们的关系,请大家指点一下,我说的哪一种对呢,谢谢

8 回复
#2
菜鸟上路2007-06-06 22:07
有8259A中断处理器,是可编程的,中断号可以自己设置
#3
luohua20072007-06-07 00:55
以下是引用菜鸟上路在2007-6-6 22:07:47的发言:
有8259A中断处理器,是可编程的,中断号可以自己设置
那IRQ和IDT中断号INT有对应的关系吗,比方说在实摸下键盘就是固定的等于INT 9,
在XP下,听说中断号不是固定的,电脑每次启动它们都在改变,是这样吗,
谢谢
#4
菜鸟上路2007-06-07 10:01
系统中断是固定的
#5
luohua20072007-06-07 11:24
其实我是这个意思的
比方说在保护模式XP方式下,我按了下键盘,这时候会产生IRQ1中断,
可是它会调用几号服务例程呢,
在实摸下,调用的是INT 9号,
在保护模式下,调用的是几号呢,
保护模式下有没有固定的中断号对应关系呢,
就象IRQ1始终对应INT 9一样

网上有的说是INT51,也有说是INT31
学了好久,始终不明白这个
#6
菜鸟上路2007-06-07 11:52
我也不知道是几号中断
#7
luohua20072007-06-07 12:28

在网上找了N久,也没发现有与TRQ想对应中断的资料,
难道说,编写保护模式中断处理的时候与IRQ与对应的中断号没多大作用,也不需要知道吗,


谢谢斑竹了

#8
菜鸟上路2007-06-07 13:11

我这有个例子,我老师给的

只有本站会员才能查看附件,请 登录


不用谢
#9
luohua20072007-06-07 18:13

非常感谢,我下载拿回去看了,

1