当用户按键时,键盘接口会得到一个代表该按键的键盘扫描码,同时产生一个中断请求。键盘中断服务程序先从键盘接口取得按键的扫描码,然后根据其扫描码判断用户所按的键并作相应的处理,最后通知中断控制器本次中断结束并实现中断返回。
有关键盘中各种单键、组合键的扫描码及其相应的ASCII码,请参阅本书的附录5。
4、DOS功能中的键盘输入
键盘输入是一种最常用的输入方式,所以,在DOS操作系统中,提供了能实现各种键盘输入的功能(Windows操作系统中仍然能用)。INT21H中的相关功能如下:
有关中断功能的详细描述和调用参数在此从略,需要查阅者可参阅附录3之字符功能调用类。
5、B
ios中的键盘输入
在BIOS系统中,提供了中断16H来实现键盘输入功能。其具体的功能如下:
00H、10H——从键盘读一个字符,输入字符不回显
01H、11H——判断键盘缓冲区内是否有字符可读
02H——读取当前键盘状态字
有关中断功能的详细描述和调用参数在此从略,需要查阅者可参阅附录3之键盘服务。
6、直接操作端口的键盘输入
由表8.1可知:键盘输入端口的地址为60H,所以,我们可以用指令IN从该端口读取当前按键的扫描码。
例如:
MOV DX, 60H
IN AL, DX