summaryrefslogtreecommitdiff
path: root/asm/int_kb_handler.asm
blob: acf620824610f2da82b83e70a8521b9209dcaa56 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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