System Status: Normal
Keyboard Controller
Manages signal
Interrupt Controller
Prioritizes & routes interrupts
IRQ #1
CPU
Executing Current Process
PC: 0x8042
SP: 0xF7A0
IP: 0x7F21
IF: 1
AX: 0x00
BX: 0xFF
Memory
RAM
Interrupt Vector Table
Maps IRQs to handlers
0x01: 0x8C20
IRQ1 - Keyboard
Handler
Operating System
Manages hardware & processes
User Process
Running Application
Interrupt Service Routine
Keyboard Handler
Process Stack
PC: 0x8042
Flags: 0x202
void keyboard_isr() {
uint8_t scancode = in(0x60);
keypress_handler(scancode);
send_eoi(1);
}
0xA