easychu
驱动牛犊
驱动牛犊
  • 注册日期2002-10-07
  • 最后登录2003-07-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:922回复:3

基本的dos中断

楼主#
更多 发布于:2003-03-09 20:18
我写dos的驱程,采用了硬件中断,我却清除不了中断信号,让我很不解。具体过程是酱紫的:
main()里 安中断,调试结果表明安装成功了,进入了我的中断程序intr(),intr()里我做完事情后将硬件的中断申请掐掉,清8259
,然后退出到主程序,也能退出。问题是好像硬件中断申请掐不掉,退出到主程序后,中断还在申请,重入,一会儿就将内部堆栈挤满,死机!,问题出在哪儿,清高手指教。
  
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2003-03-09 21:21
你的中断好大于8吗?如果大于8,第二个8259清了吗?
lxcomcn
驱动老牛
驱动老牛
  • 注册日期2002-07-31
  • 最后登录2010-12-10
  • 粉丝0
  • 关注0
  • 积分110分
  • 威望43点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-03-09 21:22
你的中断申请不会在循环里吧? :D
[img]http://www.nbuser.com/vb/avatar.php?userid=10792&dateline=1046232652 [/img] 我要作诗!!!
X_ray
驱动中牛
驱动中牛
  • 注册日期2003-02-03
  • 最后登录2004-07-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-03-10 12:31
“一会儿就将内部堆栈挤满”
一个中断服务程序进出再多也不会挤满堆栈呀,除非是你中断服务程序还没有退出就又被下一个中断调用。如此看来你不单清了8259而且清得太早,因为不清8259就不会响应后面的中断。
游客

返回顶部