punk
驱动小牛
驱动小牛
  • 注册日期2001-04-07
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分621分
  • 威望164点
  • 贡献值0点
  • 好评度60点
  • 原创分0分
  • 专家分0分
阅读:2881回复:6

IRQ号和中断号有什么区别?

楼主#
更多 发布于:2001-06-27 13:34
IRQ号和中断号有什么区别?
可以用INT 指令模拟硬件中断吗?

最新喜欢:

hapihapi
不停学习
Nz_S
驱动牛犊
驱动牛犊
  • 注册日期2001-06-17
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-06-29 10:01
IRQ号是硬中断的外部请求线号
中断号是DOS下我们所说的中断矢量
例如:IRQ为9的对应的中断号是0x0a;
int可以模仿硬中断。如IRQ9的实现就是一例
mark
zhengq
驱动牛犊
驱动牛犊
  • 注册日期2002-03-05
  • 最后登录2003-05-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-04-25 00:35
IRQ号是硬中断的外部请求线号
中断号不是指DOS中断矢量,对于外部硬件中断,中断号是中断控制器i8259通过数据总线送给CPU的值,以此确定中断入口;对于CPU故障来说,是CPU自己产生的固定数值;其它情况为软件自陷所执行的int指令后的参数的值;这几种情况在DOS实模式下对应的中断服务子程序的入口地址保存在中断矢量表(IVT)中,而在Windows、Linux等保护模式下,对应的入口地址放在中断描述符表(IDT)中。
matt
驱动中牛
驱动中牛
  • 注册日期2001-07-24
  • 最后登录2016-02-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-04-26 13:57
在windows 2000 professional下,
IRQ对应的中断号=IRQ + 0x30

系统对IRQ的响应通过中断门,这样cpu会清除eflags的IF位,
而通过TRAP方式(即int xx)cpu不会clear IF bit.

System Internals http://sys.xiloo.com
shyeagle
驱动老牛
驱动老牛
  • 注册日期2002-04-30
  • 最后登录2007-07-31
  • 粉丝1
  • 关注1
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-05-07 14:43
不同的IRQ号对应不同的INT号
INT 08 - IRQ0
INT 09 - IRQ1
INT 0A - IRQ2
INT 0B - IRQ3
INT 0C - IRQ4
INT 0D - IRQ5
INT 0E - IRQ6
INT 0F - IRQ7
INT 70 - IRQ8
INT 71 - IRQ9
INT 72 - IRQ10
INT 73 - IRQ11
INT 74 - IRQ12
INT 75 - IRQ13
INT 76 - IRQ14
INT 77 - IRQ15
要对某一硬中断编程,将你的中断服务程序的地址填入相应的中断向量表即可(INT号*4)
[url=http://www.01study.com]01空间网[/url] [url=http://www.01study.com/forum/dispbbs.asp?boardID=73&ID=193&skin=0]版主招募[/url] [img]http://shy2003.vip.sina.com/map/yjs.gif[/img]
xdjm
驱动中牛
驱动中牛
  • 注册日期2001-04-02
  • 最后登录2024-01-25
  • 粉丝0
  • 关注0
  • 积分34分
  • 威望25点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2002-05-07 16:35
在Windows 2000系统中,中断向量(中断号)完全只取决于HAL,与你指定的IRQ Line没有任何关系,反而是跟Windows 2000所定义的IRQL有关,很奇怪吧!大家可以用SoftICE跟踪一下,在Windows 2000下,系统时钟(用于多任务调度)的中断向量为0xD1,但它所对应的IRQ Line为8。
matt
驱动中牛
驱动中牛
  • 注册日期2001-07-24
  • 最后登录2016-02-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-05-08 12:31
IRQ号和中断号有什么区别?
可以用INT 指令模拟硬件中断吗?


see http://sys.xiloo.com/documents/irql.htm
System Internals http://sys.xiloo.com
游客

返回顶部