7.5.3 键盘接口编程 类型16(键盘)中断提供了基本的键盘操作, 其中断处理程序包括3个不同的功能 ,分别根据AH寄存器的内容来选择(如表7-7所示)。 利用INT 16H调用键盘I/O ROM例行程序时,先在AH放一个功能编号0、1或2,例如我们要查看按键的扫描码和ASCII码, 可以调用中断类型16H的0功能, 该功能把扫描码回送到AH中, 把ASCII码回送到AL中,然后调用二进制转换十六进制的子程序BINIHEX,把AH和AL中的内容打印出来。其指令序列为 MOV AH, 0 ; 读字符功能 INT 16H ; 键盘中断调用 MOV BX,AX CALL BINIHEX ;调用转换子程序并打印 表7-7 BIOS键盘中断 前面我们已经提到Shift、 Ctrl、 Alt、 Num Lock、 Scrol Lock、 Ins和Caps Lock这些键不具有ASCII码,但按动了它们能改变其他键所产生的代码,那么如何能判断这些键按动与否呢?INT 16H的AH=2的功能可以把表示这些键状态的字节——键盘状态字节(KB-FLAG)回送到AL寄存器。图7-39标出了KB-FLAG各位表示的状态信息,其中高4位指出各种键盘状态(Ins、Caps Lock、Num Lock、Scroll Lock) 是ON(1)还是OFF(0); 低4位表示Alt、 Ctrl、 Shift键是否按动。这8个键有时又被称为变换键。 图7-39 键盘状态字节 下面的程序可以读取KB--FLAG的内容,如果要显示出各位的状态,可调用BINIHEX子程序来显示KB-FLAG的十六进制内容。 AGAIN: MOV AH,02H ; 键盘状态 INT 16H ; 键盘中断调用 MOV BX,AX CALL BINIHEX ; 调用子程序打印输出结果= MOV DL,0DH ; 回车 MOV AH,02H INT 21H JMP AGAIN BIOS键盘中断(16H),它能同时回送字符码和扫描码, 这在使用功能键和变换键的程序中是很重要的。但对一般的键盘操作, 我们最好使用适应能力更好的由DOS类型21H中断提供的键盘功能调用。 表7-8列出了与键盘输入有关的DOS 21H功能调用,它包括把单字符读入AL和把一个字符串读入存储器等功能。在编写程序时, 你会感到使用DOS 21H键盘功能调用非常方便。 表7-8 DOS 键盘操作(INT 21H) 1. 单字符输入 DOS 21H中断的功能1,7和8都能从键盘读入一字符送入AL寄存器。功能1能把字符显示出来并检验是否按下了Ctrl-Break键, 如果按下了Ctrl-Break键, 就自动调用中断23H并结束程序。 21H的功能7不能回打字符或检验Ctrl-Break。 21H的功能8检验Ctrl-Break,但是不回显。 在交互程序中常常需要用户对一个提示做出应答,或通过输入一个字符或数字对菜单的各项进行选择,这时就要用到21H的单字符输入功能。 例如程序显示出一串信息,要求你回答Y或N, 回答Y,程序将转入标号为YES的程序段;回答N则转入标号为NO的程序段;按下其他键程序就等待。这样的工作由下面的程序段来完成。 GET-KEY: MOV AH, 1 ; 读字符并回显 INT 21H CMP AL,‘Y’ ; 和字符′Y′比较 JE YES ; 相同则转到YES CMP AL,‘N’ ; 和字符′N′比较 JE NO ; 相同则转到NO JNE GET-KEY ; 其他字符则转回继续 测试
您可能关注的文档
- (《计算机应用基础》实践技能训练与案例分析)第1章计算机基本操作与WindowsXP的使用.ppt
- (《计算机应用基础》实践技能训练与案例分析)第2章Word2003文字编辑与排版.ppt
- (《计算机应用基础》实践技能训练与案例分析)第3章Excel2003电子表格处理.ppt
- (《计算机应用基础》实践技能训练与案例分析)第4章PowerPoint2003多媒体演示文稿制作.ppt
- (《计算机应用基础》实践技能训练与案例分析)第5章网络应用与信息获取.ppt
- (《计算机应用基础》实践技能训练与案例分析)第6章办公管理应用案例分析.ppt
- (《计算机应用基础》实践技能训练与案例分析)第7章政务应用案例分析.ppt
- (《计算机应用基础》实践技能训练与案例分析)第8章商务应用案例分析.ppt
- (《计算机应用基础》实践技能训练与案例分析)第9章财务应用案例分析.ppt
- (《计算机应用基础》实践技能训练与案例分析)第10章教学管理应用案例分析.ppt
- 山西天一大联考2025-2026学年高二上学期期末学情监测语文试题(试卷+解析).docx
- 山西忻州部分学校2025-2026学年高一上学期2月质量检测数学试题(人教B版)(试卷+解析).docx
- 山西运城市2025-2026学年高二第一学期期末调研测试数学试题(试卷+解析).docx
- 陕西省榆林市榆阳区2025-2026学年八年级上学期期末地理试题(试卷+解析).docx
- 陕西西安市碑林区2025-2026学年度第一学期期末八年级生物试题(试卷+解析).docx
- 四川省广元市苍溪县2025-2026年八年级上学期期末道德与法治试题(试卷+解析).docx
- 江苏泰州市姜堰区2025-2026学年七年级上学期1月期末数学试题(试卷+解析).docx
- 江苏省扬州市邗江区2025-2026学年九年级上学期期末考试化学试题(试卷+解析).docx
- 江西上饶市铅山县2025-2026学年第一学期期末考试八年级数学试题(试卷+解析).docx
- 江苏扬州市高邮市2025-2026学年度第一学期期末学业质量监测试题九年级英语(试卷+解析).docx
最近下载
- K72 430麻溪大桥(加宽)施工方案方案.docx VIP
- 专题02 30天熟记中考课标1600词(Day 7~Day 12)(知识清单)(背诵版).docx VIP
- 成人留置导尿的护理及并发症处理团体标准.docx VIP
- 米家小米智能门锁 E30使用说明书.pdf
- 贵州省贵阳市2025年中考英语真题试题.docx VIP
- 精密零部件的精磨与超精密加工技术方案.doc VIP
- 2025年广播电视播音员主持人资格考试播音业务专项真题卷及答案.docx VIP
- 部编版四年级下册语文日积月累和古诗词(完美打印版).pdf VIP
- 精密和超精密加工技术主要章节课件.ppt VIP
- 中小学教师专业发展调查问卷.doc VIP
原创力文档

文档评论(0)