34 lines
490 B
ArmAsm
34 lines
490 B
ArmAsm
![]() |
.extern printk
|
||
|
|
||
|
.macro call_printk msg
|
||
|
mov \msg, %rdi
|
||
|
mov $0, %eax # Required for variadic functions
|
||
|
call printk
|
||
|
.endm
|
||
|
|
||
|
.globl INT_DEFAULT
|
||
|
INT_DEFAULT:
|
||
|
iretq
|
||
|
|
||
|
.globl INT_0
|
||
|
INT_0:
|
||
|
call_printk $MSG_INT_0
|
||
|
INT_0_INFINITE:
|
||
|
jmp INT_0_INFINITE
|
||
|
iretq
|
||
|
|
||
|
.globl INT_14
|
||
|
INT_14:
|
||
|
call_printk $MSG_INT_14
|
||
|
mov $0, %eax
|
||
|
call printk
|
||
|
INT_14_INFINITE:
|
||
|
jmp INT_14_INFINITE
|
||
|
iretq
|
||
|
|
||
|
|
||
|
MSG_INT_0:
|
||
|
.asciz "Zero Division error!"
|
||
|
MSG_INT_14:
|
||
|
.asciz "Page fault!"
|