以下代码如何重启系统,任何人都可以提供有关此文档的信息
#define KEYBOARD_PORT 0x64
ioperm(KEYBOARD_PORT, 0x01, 0x01);
outb(0xfe, KEYBOARD_PORT);
在键盘端口上写入“ 0xfe”的意义是什么。
答案 0 :(得分:5)
最初的8042“ PS / 2键盘控制器”设计在控制器上有一些额外的针脚,而那些精干的IBM工程师确实将许多东西连接到了这些额外的针脚上。一个引脚连接到CPU复位引脚,另一个未使用的引脚用于修复80286地址环绕式不兼容问题,该修复称为the A20 gate。
命令字节0xFx
的意思是“将选定的线向下脉冲6毫秒”,其中E
选择复位线(位0为零)。效果是重置CPU,使其开始根据其启动顺序执行代码。
自然,当前的PC没有Intel 8042微控制器,只是其仿真...
Osdev Wiki文章Reboot和PS/2 Controller中的更多信息。