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