Ares
驱动小牛
驱动小牛
  • 注册日期2001-03-28
  • 最后登录2020-04-09
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望114点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:923回复:1

高手请看:关于在Windows 98下直接修改IDT的问题

楼主#
更多 发布于:2002-12-08 14:25
我的程序为了达到10US的定时间隔而直接修改了IDT中时钟中断的向量,但系统在切换VM时会重新装入IDTR,这样就使用我的中断服务程序得不到控制权了。于是我改为将系统的时钟中断服务程序开始处的代码改为跳转到我的服务程序,在处理完成后再跳回系统的服务程序。但只要我的服务程序一结束系统就死掉了!请问这是为什么???
或者哪位大侠能告诉我怎么监视系统的VM切换动作这样我就可以在切换VM后将新的VM的时钟中断也改成我自已的。 :mad: :mad: :mad:
易水
johnxliu
驱动牛犊
驱动牛犊
  • 注册日期2002-12-06
  • 最后登录2004-01-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-12-09 11:13
You\'d better not to modify the IDE but modify the orignal system ISR of timer interrupt.

You may save the orignal code of the entry point of system ISR and instead it with a far jump to your code. and your code must be very simple, without any operation about reset the hardware interrupt facility, which shall be performed by orignal system ISR. At end point of your code, your code shall take a far jump back to the orignal ISR.

If such operation causes crashing, you may post your code, and let us see whats wrong
游客

返回顶部