30天自制操作系统-第7天 harib04f 无法读取键盘

    技术2022-07-10  120

    30天自制操作系统-第7天 harib04f 无法读取键盘

    第7天 harib04f 运行截图原因1原因2

    第7天 harib04f 运行截图

    在CMD中执行了make run之后 ,运行截图如上,虽然执行了鼠标中断void inthandler2c(int *esp),显示了“INT 2C (IRQ-12) : PS/2 mouse”,但是这时候你会发现之前的键盘中断不能用了。

    原因1

    在void inthandler2c(int *esp) 的源码中,有个无限for循环,所以一旦执行了这个鼠标中断,就会一直在中断程序中运行,就没办法回到void HariMain(void)中去运行,其中有显示键盘信息的代码端

    所以我们把这个for循环删除吧。 再次make run,然而还是不能显示键盘信息。

    原因2

    和之前键盘中断一样,需要通知PIC受理已经完成,把受理通知那一段复制过去 到这里还是不行,除此之外还需要把端口的内容读出来,不然键盘也没有办法读取键盘数据(疑惑,没找到原因,可能与状态位有关): 到这里可以运行了,并且显示键盘数据

    Processed: 0.012, SQL: 9