X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=ld45_start_nothing;a=blobdiff_plain;f=src%2Fintr.asm;h=58ef37fc344ddb9e5a2059784ad02dfd68944eac;hp=0c8acf75347362090303e7640e4231da07da1314;hb=371bbe72cccdd5c40d5118bd0417fab062f3699a;hpb=0216fd8105a2b94aab6eb1c013c97882cacaf0c1 diff --git a/src/intr.asm b/src/intr.asm index 0c8acf7..58ef37f 100644 --- a/src/intr.asm +++ b/src/intr.asm @@ -40,14 +40,29 @@ set_intr: ; selector (kcode:1) goes to the second dword of the descriptor mov dword [ebx + 4], 08h + ; install dummy interrupt handlers for all IRQ vectors +%assign i 0 +%rep 8 + set_irq_vector i, dummy_intr_pic1 + set_irq_vector i+8, dummy_intr_pic2 +%assign i i+1 +%endrep + pop ebx pop ebp ret -PIC1_CMD equ 20h -PIC1_DATA equ 21h -PIC2_CMD equ 0a0h -PIC2_DATA equ 0a1h +dummy_intr_pic1: + push eax + end_of_irq 0 + pop eax + iret + +dummy_intr_pic2: + push eax + end_of_irq 8 + pop eax + iret ; PIC initialization command word 1 bits ICW1_ICW4_NEEDED equ 01h @@ -61,8 +76,6 @@ ICW4_AUTO_EOI equ 02h ICW4_BUF_SLAVE equ 08h ICW4_BUF_MASTER equ 0ch ICW4_SPECIAL equ 10h -; PIC operation command word 2 bits -OCW2_EOI equ 20h init_pic: ; send ICW1 saying we'll follow with ICW4 later on