注册 登录
编程论坛 汇编论坛

INT9中断挂钩有2个该如何读出键盘扫描码呢

luohua2007 发布于 2007-07-09 15:16, 1528 次点击

在实模下,
我挂钩了一个键盘中断int9,然后执行我自己的键盘处理程序,读出键盘的扫描码,

但是,当电脑里同时有2个挂钩键盘INT9程序的时候,麻烦来了,
我第一个的挂钩程序读出了键盘扫描码in al,60h,将会导致第2个挂钩键盘中断程序读不到键盘的值了,
有人说遇见这样的情况,只要把读出的扫描码返回去就可以了,
那是不是该望64H端口写键盘的扫描码的数据呢

in al,60h//先读出键盘的扫描码
out 64,al//接着在把读出的扫描码返回到8042的,这样后面的那个键盘挂钩程序就可以正确读出键盘的值了

以上只是我的猜测,还希望哪位同学给指点一下,谢谢

3 回复
#2
luohua20072007-07-09 16:36
in al,60h//先读出键盘的扫描码
out 64,al


用debug执行了out 64,al后,下面无法输入命令了,比如T,R等等,看来键盘无法输入了

晕了
#3
o07sai2007-08-10 19:20
我写了这个程序,在Windows下运行正常,在DOS下,一按下功能键,方向键,就死了。
我的QQ号:93703744,可以一起讨论。
#4
redhao2007-08-12 16:17
out 60h ,a l 试试看
1