阅读:1501回复:2
我为什么在D0S下连不上我想用的中断?
我使用BC3.0在98的dos下编程(启动时使用F8,选6进的DOS系统),机器是凌华的工控机,可以捕捉到键盘中断(irq1),可是却捕捉不到我自己做的硬件中断,从示波器上看没有什么问题,而且从0x21开看8259也感知到了这个中断申请,只是系统没有相应,关于在DOS中的中断还有什么特别的吗?
|
|
|
沙发#
发布于:2002-04-05 18:06
if (yourIRQ >= 8)
{ yourIRQ += 0x68; } else { yourIRQ += 8; } getvect(...); setvect(yourIRQ,...); 不知道你是不是因为这个缘故,另外,8259-2的相应的中断也要打开,如果大于大于8。 |
|
板凳#
发布于:2002-04-06 09:18
我用的是irq7,
oldhandle=getvect(0xf); setvect(0xf,newhandle); 结果连不上中断。在Windows下我用VxD程序就可以连上中断 在Dos下我用 oldhandle=getvect(0x9); setvect(0x9,newhandle); 可以连上键盘中断 |
|
|