这里写下几个注意点:
1. 按下ctrl键的时候,会产生两个字节的E0 1D,松开后,又会产生两个字节的E0 9D,在一次产生两个字节的情况下,因为键盘内部电路一次只能发送一个字节,所以一次按键就会产生两次中断。
2. 一次用两个sti,hlt函数未必比stihlt函数好,根据CPU的规范,机器语言的stl指令后,如果紧接着hlt指令,那么就暂不接受这两条指令之间的中断,而要等到hlt指令之后才受理,所以使用stihlt函数就能克服这一个问题。
3. 鼠标控制电路包含在键盘控制电路里,如果键盘控制电路初始化正常完成,鼠标电路控制器的激活也就完成了。发送激活鼠标的指令,归根结底还是要向键盘控制器发送指令。
4. 如果键盘控制电路可以接受CPU指令了,CPU从设备号码0x0064处所读取的数据的倒数第二位(从低位开始数的第二位)应该是0。
5. 如果往键盘控制电路发送指令0xd4,下一个数据就会自动发送给鼠标,我们根据这一特性来发送激活鼠标的指令。答复信息是0xfa。
自制操作系统(六)
最新推荐文章于 2022-04-13 16:13:00 发布