0

我正在为 DOS 编写程序,我想获得键盘输入。问题是我不想使用 BIOS 或 DOS 获得该输入。在不使用 DOS 或 BIOS 的情况下获取键盘输入的正确方法是什么?我的意思是使用 I/O 端口在最低级别的编程中获得键盘输入的方法是什么。谢谢!

4

1 回答 1

1

您需要inb在端口 0x60 上执行指令才能从键盘读取扫描码。


static inline uint8_t inportb(uint16_t port)
{
    uint8_t ret;
    asm volatile ("inb %1, %0" : "=a" (ret) : "dN" (port));
    return ret;
}
scancode = inportb(0x60);

如果您想知道何时有新输入,您需要设置一个中断处理程序来监听 PS/2 中断或根据您的键盘使用 USB 轮询。

于 2012-10-22T19:29:45.590 回答