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

一个关于Shift的问题

wingfeng 发布于 2009-11-09 11:16, 950 次点击
注:我学的是8086的 有这么个题目显示所按键的扫描码和ASCII,当按下SHIFT时结束程序。前半部分的我已经编好了,就是如何处理SHIFT的问题了,我试过写些试了,但都没成功,知道的告诉我下,就关于处理shift的代码?!
7 回复
#2
onepc2009-11-09 11:44
int   16h中断来获得:   
  mov   ah,   02   
  int   16h   
  返回al中为几个类似键的状态:   
  Bit0   =   right   shift   key   depressed   
  Bit1   =   left   shift   key   depressed   
  Bit2   =   CTRL   depressed   
  Bit3   =   ALT   depressed   
  Bit4   =   SCROLL   LOCK   active   
  Bit5   =   NUM   LOCK   active   
  Bit6   =   CAPS   LOCK   active   
  Bit7   =   INSERT   state   active   
  也可直接获取0040h:0017h处的字节,   此字节的内容和含义与上面返回的al一致.

csdn里的,再看王爽的311页,里面有说明。
按下时0040h:0017h处的字节 的第一位为1 松开为0

#3
wingfeng2009-11-09 13:23
楼上的那个我知道的,但我写的都没有通过。能不能具体给我个以SHIFT结束的程序代码?
#4
onepc2009-11-09 15:47
9号中断看下。汇编语言那章外中断看下。
#5
你们都要疼我哦2009-11-09 16:12
16位的不会  键盘状态用AL部分,其他功能键又需要用到AH,而AL置0。 具体怎么判断就不知道了。
#6
wingfeng2009-11-09 22:55
……楼上几位貌似等于没有说……
#7
onepc2009-11-10 07:57
是啊。因为不会~
#8
wingfeng2009-11-10 13:36
看来我只能自己去专研了!!
1