diff options
Diffstat (limited to 'asm/int_kb_handler.asm')
| -rw-r--r-- | asm/int_kb_handler.asm | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/asm/int_kb_handler.asm b/asm/int_kb_handler.asm new file mode 100644 index 0000000..f2e33bf --- /dev/null +++ b/asm/int_kb_handler.asm @@ -0,0 +1,28 @@ +global int_kb_handler +[extern keyboard_handle] +[extern int_default] + +[bits 32] + +int_kb_handler: +cli + +pusha + + mov eax,0x0 + in al,0x60 + + push eax + call keyboard_handle + + pop eax +; call int_default + + mov al, 0x20 ;Port number AND command number to Acknowledge IRQ + out 0x20, al ;Acknowledge IRQ, so we keep getting interrupts + +popa + +sti + +iretd ;Interrupt-Return |
