| 获得键盘扫描码 |
|
| 作者:未知 文章来源:网络收集 点击数: 更新时间:2006-3-29 15:24:00
|
| 概述:
在编制键盘输入程序时常常要用到一个键的扫描码或ASC码,如用到 Foxpro 的 inkey() 函数,以及用到 BIOS 的 INT 16H时,但找一个编码表不太容易,有时候找到的编码表又不全,无法查到组合键的编码,本程序就是一个随时用来显示按键的ASC码及扫描码的程序,可以用 16 进制和 10 进制同时显示一个键按下和放开的扫描码,以及ASC码,同样也支持组合键。这里是编译好的可执行文件:scancode.com 在本程序中,查表的编程方法可用做参考,一般来说,如果程序有以下的结构:
... cmp al,value1 jz offset1 cmp al,value2 jz offset2 cmp al,value3 jz offset3 ...
且要比较的值很多时,可以考虑查表的方法。程序改为以下结构后,修改起来很容易,可读性也大大增强了,如果要继续添加分支时,只需在表中加上一项就行。
... table db value1,value2,value3 ... table1 dw offset1,offset2,offset3 ...
mov di,offset table mov cx,table的长度 repnz scasb jnz not_found
dec di sub di,offset table ;取出表的地址 mov si,di shl si,1 ;x2 &nb [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页
|
|
[ 收藏此页到: 天天|和讯|博采|ViVi|狐摘|我摘|天极 ] 文章录入:kinda 责任编辑:kinda |
|
上一篇文章: 如何检测CPU的主频 下一篇文章: 用汇编计算圆周率 |
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |