summaryrefslogtreecommitdiff
path: root/isr.asm
diff options
context:
space:
mode:
Diffstat (limited to 'isr.asm')
-rw-r--r--isr.asm19
1 files changed, 18 insertions, 1 deletions
diff --git a/isr.asm b/isr.asm
index 9ac6bb6..9bab410 100644
--- a/isr.asm
+++ b/isr.asm
@@ -1,5 +1,22 @@
int21:
- nop
+ cmp al, .fn_table_size
+ jg .return
+
+ push bx
+ push di
+ movsx bx, al
+ mov di, .fn_table
+ call [di+bx]
+ pop di
+ pop bx
+
+ .return:
+ iret
+
+ .fn_table:
+ dw memset
+ dw memcpy
+ .fn_table_size dw $-.fn_table
int22:
nop
int20: