当前位置: 代码迷 >> 汇编语言 >> 8042,8259a,鼠标中断有关问题
  详细解决方案

8042,8259a,鼠标中断有关问题

热度:8911   发布时间:2013-02-26 00:00:00.0
8042,8259a,鼠标中断问题
在一段测试鼠标中断的程序,一直无法如预期运行。
基本情况为:
      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