在一段测试鼠标中断的程序,一直无法如预期运行。
基本情况为:
1.不开启键盘中断的情况下,鼠标中断能够发生一次。但是以后都不发生。确定中断例程里面有读0X60端口。
2.开启键盘中断,没有动鼠标,键盘中断一切正常。中断中也读0x60端口。但是如果动一下鼠标,键盘中断不再发生。并且鼠标中断也没有运行,初步分析,键盘不再发生中断是因为0x60端口满。
8042和8259a设置应该没有问题。
------解决方案--------------------------------------------------------
楼主可以参考一下这个链接:http://hi.baidu.com/g_d_h/blog/item/786823ce663af93fb700c816
通过对i8042 键盘控制器编程控制鼠标
------解决方案--------------------------------------------------------
把中断程序帖出来啊,不然怎么帮你?
不过看现象,可能是中断返回前没发EOI命令.
在iret指令前加下面两行试试.
MOV AL,20H
OUT 20H,AL
或在iret指令前加下面三行试试.
MOV AL,20H
OUT 00H,AL
OUT 20H,AL