zxm1983123
驱动牛犊
驱动牛犊
  • 注册日期2005-10-20
  • 最后登录2008-01-22
  • 粉丝1
  • 关注0
  • 积分475分
  • 威望49点
  • 贡献值0点
  • 好评度47点
  • 原创分0分
  • 专家分0分
阅读:3507回复:6

挂接键盘中断的一个问题

楼主#
更多 发布于:2007-04-25 09:06
  我把键盘中断最前面几个指令改成 了一个jmp指令跳到了自己的一段程序,然后在自己的这段程序中in al ,60h读出了键盘接口中的扫描码.接着再跳回到键盘中断去(之前执行了被jmp替代了的那几个指令).出现的问题是键盘输入不了数据了.是不是因为我把0X60端口中的数据读出了,键盘中断读不到了?怎么解决这个问题?
我看相关资料上说往0X64端口输入d2后再往0X60端口输入一个数字,键盘接口会把这个数字当扫描码通知给主机.我在我的那段程序里面试了一下,结果键盘输入时电脑死了,我再想是不是因为往0X64端口输入d2后再往0X60端口输入一个数字会又发出一个键盘中断,这样在键盘中断处理程序里面又出现一个键盘中断,这样搞成了一个中断的死循环?
s_slt
驱动牛犊
驱动牛犊
  • 注册日期2007-01-27
  • 最后登录2007-08-07
  • 粉丝0
  • 关注0
  • 积分120分
  • 威望13点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-06-06 15:57
我也遇到这个问题,不知道怎么解决,还请大家指教
xikug
驱动小牛
驱动小牛
  • 注册日期2001-09-25
  • 最后登录2013-09-27
  • 粉丝1
  • 关注0
  • 积分1001分
  • 威望169点
  • 贡献值0点
  • 好评度168点
  • 原创分1分
  • 专家分0分
板凳#
发布于:2007-06-07 09:32
这不就死循环了吗。。。
通过端口写键盘信息会触发一个键盘中断。。。

楼主是想干嘛?
http://www.debugman.com
xikug
驱动小牛
驱动小牛
  • 注册日期2001-09-25
  • 最后登录2013-09-27
  • 粉丝1
  • 关注0
  • 积分1001分
  • 威望169点
  • 贡献值0点
  • 好评度168点
  • 原创分1分
  • 专家分0分
地板#
发布于:2007-06-07 09:40
另外,在中断中可以通过0x60读出键盘的扫描信息后,然后调用(返回)原始中断
如果你的程序不正常可能是你的代码不对。。。
http://www.debugman.com
xllyq
驱动牛犊
驱动牛犊
  • 注册日期2007-03-27
  • 最后登录2007-06-13
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望4点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-06-08 23:59
可以再说的清楚点吗,最好能给点代码
xllyq
驱动牛犊
驱动牛犊
  • 注册日期2007-03-27
  • 最后登录2007-06-13
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望4点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-06-09 00:05
那我就不能往0x60 写扫描码吗?
luohua2007
驱动牛犊
驱动牛犊
  • 注册日期2007-04-30
  • 最后登录2008-10-05
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望50点
  • 贡献值0点
  • 好评度46点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-07-13 18:15
我也遇到这样的问题了,用自己的中断程序读出数据后,后面的正常程序就无法读出键盘的输入了,请大家给点指点,谢谢
游客

返回顶部