键盘上的每一个键相当于一个开关,键盘中有一个芯片,对键盘上的开关状态进行扫描。当按下一个按键的时候,开关接通,该芯片产生一个扫描码扫描码说明了按下的键在键盘的位置。

扫描码被送到主板上的相关接口芯片的寄存器中,该寄存器的端口地址为60h。松开按键的时候,也会产生一个扫描码,这个扫描码说明松开的按键在键盘的位置,这个扫描码也会被送入60h端口。

通常按键产生的码叫做 通码,而松开产生的码叫做 断码扫描码的长度是1个字节。通码的第7位是0,断码的第7位是1.

断码 = 通码+ 80h

Untitled

当键盘的输入到达60h端口后,芯片就会向CPU发出中断类型码为9可屏蔽中断

BIOS对于中断9的处理

bios提供了应用来处理键盘的输入,工作流程如下