summaryrefslogtreecommitdiff
path: root/isr.asm
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2018-07-04 20:55:53 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2018-07-04 20:55:53 -0400
commit877e9bfe8e7d9e93536f4cb4af36aac65805be11 (patch)
treeaef4ef6d60f213a5fa54853ee3b45d7b2eb43ebd /isr.asm
parentc19a6ee17abf862115accd15876c64b7d39a7e9c (diff)
downloadminos-877e9bfe8e7d9e93536f4cb4af36aac65805be11.tar.gz
Begin refactoring ISR codeHEADmaster
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: