Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在为 DOS 编写程序,我想获得键盘输入。问题是我不想使用 BIOS 或 DOS 获得该输入。在不使用 DOS 或 BIOS 的情况下获取键盘输入的正确方法是什么?我的意思是使用 I/O 端口在最低级别的编程中获得键盘输入的方法是什么。谢谢!
您需要inb在端口 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 轮询。