From 8e3411139b27a3421e9ac75c13f14f99f6dd3137 Mon Sep 17 00:00:00 2001 From: Miguel Date: Sun, 2 Sep 2018 00:08:42 +0200 Subject: syscalls --- xxx/int_kb_handler.asm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 xxx/int_kb_handler.asm (limited to 'xxx/int_kb_handler.asm') 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 -- cgit v1.2.3