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