16号中断调用有三种功能,功能号分别为0、1、2。功能号是放在AH寄存器。
使用方式:
MOV AH, 0/01H/02H
INT 16H
CMP AH/AL, 字符扩展码/ASCII码
判断后使用调转语句
下面简单介绍三种功能
(1)0号功能
执行后,程序回进入等待,直到键盘有输入。键盘的字符扩展码是放在AH,ASCII码是放在AL中。
(2)1号调用
程序不会进入等待,而是根据键盘缓冲区,如果不为空,(ZF=0),则此时存有键盘的键值。使用过后我们应当清空缓冲区。否则会影响下一次的判断。
MOV AH,0CH
INT 21H
这两行是清空键盘缓冲区。(这是我和同学一次比赛遇到的缓冲区清掉的问题)
(3)2号功能调用
检查键盘特殊按键的当前状态,是否被按下。状态存储在ALH寄存器中。
参考:https://site.douban.com/132673/widget/notes/5624862/note/327761997/
https://blog.csdn.net/qingkongyeyue/article/details/68490194