3.5 命令集
3.6 编程实例
返回主页
3.1 8042概述
3.1.1 键盘控制器
在IBM AT和IBM PS/2键盘系统中,CPU并不直接和 Keyboard进行通信,而是通过键盘控制器实现过渡。 最初IBM 使用Intel 的8042 微控制器作为它的键盘控制 器现在已经被兼容设备取代并整合到主板的南桥或SIO 中。 它控制整个键盘的工作,包括加电自检、键盘扫描码的 缓冲以及与主板的通讯等。
返回本节
3.5 命令集
3.5.1 命令介绍 KBC Command set:包括8042 command,8048 command。
8042 command:由8042执行,命令写往64h端口。
例如:发送命令0xAD—禁用键盘
mov al , 0ADh Out 64h , al
8048 command:由8048执行,命令写往60h端口。
、状态信息和输入输出缓存信息等。Flag定义如下:
PARE PS/2兼容:
TO
MOBF KEYL
C/D
SYSF
IBF
OBF
Bit4:禁止键盘通信 0:键盘被禁止(Clock=0); 1:正常通信(Clock=1);
Bit3:指示最后写入端口 0:60h端口; 1:64h端口;
返回本节
3.2 8042的寄存器
此指令被执行后,寄存器 AL Output Buffer的值。 Note: 读60h端口的操作后,AL的值有4种情况,即:
1、系统扫描码,键盘有按键事件发生。 2、8048的命令响应,CPU向键盘发命令后,键盘会发出响应,告诉 CPU命令是否被成功接收。 3、8048的命令返回值,键盘执行某些键盘命令后,会有返回值供CPU 读取。 4、8042的命令返回值,键盘控制器执行某些键盘命令后,会有返回值 供CPU读取。