summaryrefslogtreecommitdiff
path: root/asm/int_kb_handler.asm
blob: cd1b32cc74b8a0716f0dc6a276d7286ee3484a0a (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
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