andylei
新手上路
积分 17
发帖 7
注册 2006-9-15
状态 离线
|
『楼 主』:
求助关于键盘抓码的问题
我在网上看了这方面的建议,修改15号4FH中断较易实现。
下面是我编写程序的主体。但还是不理想,一些状态键:CTRL,ALT,PAUSE等抓不到!我已搞了好久,没一点头绪!!!请各位帮忙!!!!
int15:
pushf
push ax
push cx
push dx
push bx
push sp
push bp
push si
push di
push ds
push es
cmp ah,4fh
jnz exit_int15
push cs
pop ds
push cs
pop es
inc byte ptr flag_15
mov key_buff_15,al
scan1_15:
push ax ;显示扫描代码
shr al,1 ;先显示高4位
shr al,1
shr al,1
shr al,1
cmp al,0ah
jb scan2_15
add al,7
scan2_15: add al,30h ;转换成ASCII码
mov bx,0
mov ah,0eh
int 10h
pop ax ;后显示低四位
and al,0fh
cmp al,0ah
jb scan3_15
add al,7
scan3_15: add al,30h ;转换成ASCII码
mov ah,0eh
int 10h
mov ax,0e20h ;显示两个空格,以分隔扫描代码
int 10h
mov ax,0e20h
int 10h
exit_int15:
;;;;;;;;;;;;;LFC 07/2/5
pop es
pop ds
pop di
pop si
pop bp
pop sp
pop bx
pop dx
pop cx
pop ax
popf
DB 0EAH
OFF_15 DW ?
SEG_15 DW ?
谢谢!
|
|