我正在为DOS编写程序,我想获得键盘输入。问题是我不想使用BIOS或DOS获得输入。在不使用DOS或BIOS的情况下获取键盘输入的正确方法是什么?我的意思是使用I / O端口在最低级别的编程中获得键盘输入的方法是什么。谢谢!
答案 0 :(得分:1)
您需要在端口0x60上执行inb
指令才能从键盘读取扫描码。
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轮询,具体取决于您的键盘。