Tag: 硬件端口

自己内核的键盘中断处理程序(C)

我正在写一个小操作系统,作为学校分配的一部分,但我得到了卡住键盘输入(按一个键 – >显示在屏幕上)。 我正在使用osdev.org上的Bare Bones教程(gcc交叉编译器,GRUB引导程序,ld链接器),因为我处于保护模式,所以我不能使用BIOS中断进行输入,这就是为什么我必须编写自己的中断处理程序( ?)但即使在我阅读了一些osdev文章和论坛讨论后,我也不确定该怎么做。 非常类似的问题( http://forum.osdev.org/viewtopic.php?f=1&t=9746 ),除了我不知道如何“设置中断”。 #if !defined(__cplusplus) #include /* C doesn’t have booleans by default. */ #endif #include #include #define INT_DISABLE 0 #define INT_ENABLE 0x200 #define PIC1 0x20 #define PIC2 0xA0 #define ICW1 0x11 #define ICW4 0x01 void outb( unsigned short port, unsigned char val ) { asm volatile(“outb %0, %1” […]