目录 上一页 下一页 下一章

第6章 文字输出与键盘输入 -161-

这个预定的顺序和各个键的排列情况大致相同。如果某个键的状态有变化,如从"断"变为"通"(键被按下),或者是从"通"变为"断"(键被放开),那么控制电路就会把这个键的编号通过电缆送到主机。我们把键的编号称为"扫描码",也就是我们前面所说的"幻码"。
表6-3 键盘扫描码表
键名十进制十六进制键名十进制十六进制
ESC101B4830
1~9,02~1102~0BN4931
_ -120CM5032
+ =130D, <5133
BackSpace140E. >5234
Tab150F/ ?5335
Q1610RightShift5436
W1711Prtsc(*)5537
E1812Alt5638
R1913SpaceBar5739
T2014CapsLock583A
Y2115F1593B
U2216F2603C
I2317F3613D
O2418F4623E
P2519F5633F
[ {261AF66440
] }271BF76541
Enter281CF86642
Ctrl291DF96743
A301EF106844
S311FNumLock6945
D3220ScollLock7046
F3321Home(7)7147
G34227248
H3523PageUp7349
J3624-(小键盘)744A
K3725754B
L38265(小键盘)764C
; :3927774D
' "4028+(小键盘)784E
` ~4129End794F
LeftShift422A8050
\ |432BPageDown8151
Z442CInsert8252
X452DDelete8353
C462EF118757
V472FF128858
注:数字小键盘上的"*"键扫描码也是37H,其实Prtsc键的扫描码并不简单就是37H,这里还有一些更深入的内容,类似的情况还出现在Pause与NumLock两键上。
  主机在收到扫描码后会根据扫描码与"键名"的对应关系将扫描码转换为ASCII码并将它们保存到内存中的一个特定位置,我们使用16H中断的0号功能就可以取到这两个编码,其中扫描码在AH寄存器中返回。

Copyright © 2004-2015 Reanimator www.cookmoon.org

目录 上一页 下一页 下一章