阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

手机号码,快捷登录

老司机
查看: 1713|回复: 5

[原创] 可以在XP下用的显示键盘扫描码的程序

[复制链接]

该用户从未签到

发表于 2009-10-30 09:28:20 | 显示全部楼层 |阅读模式
可以在XP下用的显示键盘扫描码的程序
;给初学者看的,高手就不要看了,不过指出错误或改进下是欢迎的^_^
.386p

CSEG SEGMENT USE16
assume cs:cseg
ORG 100H
START:   cli ;关中断,这个很重要
               xor bx,bx
               mov ds,bx
               mov ax,offset cs:int9chuli ;取出int9chuli开始的偏移地址
               mov ds:[9*4],ax
               mov ds:[9*4+2],cs
               mov di,0
               mov bx,0b800h
               mov ds,bx
               sti
waitkey: jmp $

int9chuli:  cli
                in al,60h
                call xianshi_al_hex
                mov al,20h
                call xianshiasciima
                mov al,20h
                out 20h,al
                Iret ;键盘中断返回

xianshi_al_hex:
                push ax
                shr al,4
                call xianshi_al_low4_hex
                pop ax
                call xianshi_al_low4_hex
                ret

xianshi_al_low4_hex:
                and al,0fh
                CALL BIJIAO ;比较AL中的数,小于9的需要加上30H(这样就可以转成ASCII码了),大于9的需要加上40H-9
                call xianshiasciima
                ret
bijiao:       ;比较al中的16进制代码是否大于9并做相应处理,将16进制代码转换成ASCII码
                cmp al,09h  ;比较是否小于等于09H
                Jbe jia30h  ;
                add al,41H-0ah-30h
jia30h:     add al,30h
tuichubijiao: ret

xianshiasciima:
                mov ah,08ah ;最高位是闪烁位,0F4H设置屏幕显示方式为闪烁的灰底红字,8AH是黑底绿字
xianshiasciima0:
                mov ds:[di],ax
                add di,2
                ret
;----------------------------------------------------------------------------------------
CSEG ENDS
END START
按键后效果图.jpg

int9.rar

149 Bytes, 下载次数: 1

楼主热帖
启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2016-9-1 11:51
  • 签到天数: 38 天

    [LV.5]常住居民I

    发表于 2009-11-1 05:25:44 | 显示全部楼层
    源码错误经本人修改后,运行结果显示的扫描码是通码+断码,挺有意思的小程序,交流了

    [ 本帖最后由 attmasong 于 2009-11-1 05:37 编辑 ]
    111.jpg
    启用邀请码注册,提高发帖质量,建设交流社区

    该用户从未签到

     楼主| 发表于 2009-11-1 09:35:48 | 显示全部楼层
    原帖由 attmasong 于 2009-11-1 05:25 发表
    源码错误经本人修改后,运行结果显示的扫描码是通码+断码,挺有意思的小程序,交流了

    哪里错误了,请指点下哈......
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2024-6-7 12:48
  • 签到天数: 903 天

    [LV.10]以坛为家III

    发表于 2009-11-1 21:04:39 | 显示全部楼层
    这个东西不知道有什么其他用处·~~~
    启用邀请码注册,提高发帖质量,建设交流社区

    该用户从未签到

     楼主| 发表于 2009-11-2 09:37:14 | 显示全部楼层
    原帖由 oico 于 2009-11-1 21:04 发表
    这个东西不知道有什么其他用处·~~~

    自己动手写操作系统的时候,设置按键功能的时候可以用到
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情

    2016-10-6 10:22
  • 签到天数: 861 天

    [LV.10]以坛为家III

    发表于 2011-6-18 10:14:54 | 显示全部楼层
    太深奥了!!搞不懂 !!!!!!!!!!!!!!!!!!!!!!!11
    启用邀请码注册,提高发帖质量,建设交流社区
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表