os-z80/kernel/interrupts.z80
2023-02-03 09:24:28 -06:00

115 lines
1.1 KiB
Z80 Assembly

init:
di
im 2
ld hl, idt
ld a, h
ld i, a
ei
ret
hdlr:
reti
hdlr0:
ld a, 0
jp hdlr
hdlr1:
ld a, 1
jp hdlr
hdlr2:
ld a, 2
jp hdlr
hdlr3:
ld a, 3
jp hdlr
hdlr4:
ld a, 4
jp hdlr
hdlr5:
ld a, 5
jp hdlr
hdlr6:
ld a, 6
jp hdlr
hdlr7:
ld a, 7
jp hdlr
hdlr8:
ld a, 8
jp hdlr
hdlr9:
ld a, 9
jp hdlr
hdlr10:
ld a, 10
jp hdlr
hdlr11:
ld a, 11
jp hdlr
hdlr12:
ld a, 12
jp hdlr
hdlr13:
ld a, 13
jp hdlr
hdlr14:
ld a, 14
jp hdlr
hdlr15:
ld a, 15
jp hdlr
hdlr16:
ld a, 16
jp hdlr
hdlr17:
ld a, 17
jp hdlr
hdlr18:
ld a, 18
jp hdlr
hdlr19:
ld a, 19
jp hdlr
hdlr20:
ld a, 20
jp hdlr
hdlr21:
ld a, 21
jp hdlr
hdlr22:
ld a, 22
jp hdlr
hdlr23:
ld a, 23
jp hdlr
hdlr24:
ld a, 24
jp hdlr
hdlr25:
ld a, 25
jp hdlr
hdlr26:
ld a, 26
jp hdlr
hdlr27:
ld a, 27
jp hdlr
hdlr28:
ld a, 28
jp hdlr
hdlr29:
ld a, 29
jp hdlr
hdlr30:
ld a, 30
jp hdlr
hdlr31:
ld a, 31
jp hdlr
.align 8
idt:
.dc.w hdlr0, hdlr1, hdlr2, hdlr3, hdlr4, hdlr5, hdlr6, hdlr7, hdlr8, hdlr9, hdlr10, hdlr11, hdlr12, hdlr13, hdlr14, hdlr15, hdlr16, hdlr17, hdlr18, hdlr19, hdlr20, hdlr21, hdlr22, hdlr23, hdlr24, hdlr25, hdlr26, hdlr27, hdlr28, hdlr29, hdlr30, hdlr31