Tag: irq

x86内核中的键盘IRQ

我正在尝试编写一个非常简单的内核用于学习目的。 在阅读了大量有关x86架构中PIC和IRQ的文章后,我发现IRQ1是键盘处理程序。 我正在使用以下代码打印正在按下的键: #include “port_io.h” #define IDT_SIZE 256 #define PIC_1_CTRL 0x20 #define PIC_2_CTRL 0xA0 #define PIC_1_DATA 0x21 #define PIC_2_DATA 0xA1 void keyboard_handler(); void load_idt(void*); struct idt_entry { unsigned short int offset_lowerbits; unsigned short int selector; unsigned char zero; unsigned char flags; unsigned short int offset_higherbits; }; struct idt_pointer { unsigned short limit; unsigned int base; […]