阅读:922回复:3
基本的dos中断
我写dos的驱程,采用了硬件中断,我却清除不了中断信号,让我很不解。具体过程是酱紫的:
main()里 安中断,调试结果表明安装成功了,进入了我的中断程序intr(),intr()里我做完事情后将硬件的中断申请掐掉,清8259 ,然后退出到主程序,也能退出。问题是好像硬件中断申请掐不掉,退出到主程序后,中断还在申请,重入,一会儿就将内部堆栈挤满,死机!,问题出在哪儿,清高手指教。 |
|
沙发#
发布于:2003-03-09 21:21
你的中断好大于8吗?如果大于8,第二个8259清了吗?
|
|
板凳#
发布于:2003-03-09 21:22
你的中断申请不会在循环里吧? :D
|
|
|
地板#
发布于:2003-03-10 12:31
“一会儿就将内部堆栈挤满”
一个中断服务程序进出再多也不会挤满堆栈呀,除非是你中断服务程序还没有退出就又被下一个中断调用。如此看来你不单清了8259而且清得太早,因为不清8259就不会响应后面的中断。 |
|