中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-01 14:28
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 在TC中怎么用中断方式获取键盘按键值? 查看 1,051 回复 1
楼 主 在TC中怎么用中断方式获取键盘按键值? 发表于 2005-09-18 23:39 ·  中国 北京 海淀区 联通
新手上路
积分 5
发帖 1
注册 2005-09-18 23:30
20年会员
UID 42618
性别 男
状态 离线
请教各位大哥,小弟最近编个程序。用的是tc3.0(dos6.22).
硬件有几个按键,按键函数想用中断方式实现。
现在想请教牛人,键盘的中断向量是多少?键值或者ascii码放在哪个寄存器中???
很少在dos下编程,所以不熟悉,还请众多高手指点迷津啊!!!多谢!!!
2 发表于 2005-10-10 14:40 ·  中国 台湾 桃园市 中华电信
新手上路
积分 13
发帖 6
注册 2005-10-06 13:48
20年会员
UID 43162
性别 男
状态 离线
键盘的扫描代码是两个字节的代码。低字节是按键的ASCII码。你可以用BIOS的int 16H,的0号功能,就可以把键盘的扫描码传入AX后返回,AX的值是INT86()的返回值。char getkey(void) {union REGS regs; regs.h.ah = 0;return int86(0x16,&regs,&regs);}.希望对你有所帮助!!
论坛跳转: