diff options
Diffstat (limited to 'src/idt/idt.asm')
| -rw-r--r-- | src/idt/idt.asm | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/src/idt/idt.asm b/src/idt/idt.asm index 998a242..235f46b 100644 --- a/src/idt/idt.asm +++ b/src/idt/idt.asm @@ -1,6 +1,12 @@ section .asm -global idt_load: +extern int21h_handler +extern default_int_handler + +global int21h +global default_handler +global idt_load + idt_load: push ebp @@ -11,3 +17,19 @@ idt_load: pop ebp ret + +int21h: + cli + pushad ; Push all general-purpose registers to the stack + call int21h_handler + popad + sti + iret + +default_handler: + cli + pushad ; Push all general-purpose registers to the stack + call default_int_handler + popad + sti + iret |
