在一个项目上工作。教授给了我们一个 .zip 文件,里面有一些测试,所以我们可以看看我们的项目是否正常工作。我们正在用 c++ 构建一个小内核。
无论如何,有一个线程等待键盘中断(event9.wait()),然后它应该将字符放入缓冲区或结束程序(如果按“esc”)。
while (!theEnd) {
event9.wait();
status = inportb(0x64); // reading status reg. from 64h
while (status & 0x01){ //while status indicates that keys are pressed
....
我检查并确定它会定期等待中断。出现问题是因为 status&0x01 为 0。
然后我得到了从 0x60 获取字符的代码部分,它工作得很好。
测试文件的代码有问题吗?如果是,是什么?如果代码正确,可能导致问题的原因是什么?
我可以更改测试文件,但我需要有充分的理由这样做。到目前为止,我唯一的原因是它不起作用。
*注意:评论是从塞尔维亚语翻译过来的,但我几乎可以肯定它们的翻译是正确的。