Interrupt

SinAngel 2002-12-30 03:00:33
我在Win2000下做内核模式驱动,有这样一个问题:
我需要在ISR里调用令一个中断,所以我这样写:
void _cdecl InterruptFunction()
{
_asm sti; // 开中断
_asm int 76h;
_asm iretd;

}
这样一来,当中断频繁时就会bug check ,我想原因是由于中断重入引起的。
但不开中断,又不能调用 int 76h ,所以请教高手,有没有解决的办法。
...全文
56 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xjaguar 2003-01-06
  • 打赏
  • 举报
回复
一定要在ISR中做吗?
或者可以这样(也是NT的典型做法),在ISR中把要做的事加入DPC队列,
DPC中才做 int 76h...
tsf_PB 2003-01-02
  • 打赏
  • 举报
回复
呵呵,我也不清楚
是不是在最后加上
CLI

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧