\r
\r
;-------------------------------------------;\r
-; remap PICs to: cl = pic1 ch = pic2 ;\r
+; remap PICs ;\r
+; in: cl = pic1 ;\r
+; ch = pic2 ;\r
;-------------------------------------------;\r
remap_pics:\r
- push ax\r
- push dx\r
+ push ax\r
+ push dx\r
\r
- mov al, 0x11 ; IWC1\r
- out 0x20, al\r
- out 0xA0, al\r
+ mov al, 0x11 ; IWC1\r
+ out 0x20, al\r
+ out 0xA0, al\r
\r
- mov al, cl ; IWC2\r
- out 0x21, al\r
- mov al, ch\r
- out 0xA1, al\r
+ mov al, cl ; IWC2\r
+ out 0x21, al\r
+ mov al, ch\r
+ out 0xA1, al\r
\r
- mov al, 0x04 ; IWC3\r
- out 0x21, al\r
- mov al, 0x02\r
- out 0xA1, al\r
+ mov al, 0x04 ; IWC3\r
+ out 0x21, al\r
+ mov al, 0x02\r
+ out 0xA1, al\r
\r
- mov al, 0x01 ; IWC4\r
- out 0x21, al\r
- out 0xA1, al\r
+ mov al, 0x01 ; IWC4\r
+ out 0x21, al\r
+ out 0xA1, al\r
\r
- pop dx\r
- pop ax\r
- ret\r
+ pop dx\r
+ pop ax\r
+ ret\r
\r
\r
;----------------------;\r
; disable all IRQs. ;\r
;----------------------;\r
disable_irqs:\r
- push ax\r
+ push ax\r
\r
- mov al, 0xFF\r
- out 0x21, al\r
- out 0xA1, al\r
+ mov al, 0xFF\r
+ out 0x21, al\r
+ out 0xA1, al\r
\r
- pop ax\r
- ret\r
+ pop ax\r
+ ret\r
\r
\r
;---------------------;\r
; enable all IRQs. ;\r
;---------------------;\r
enable_irqs:\r
- push ax\r
+ push ax\r
\r
- mov al, 0x00\r
- out 0x21, al\r
- out 0xA1, al\r
+ mov al, 0x00\r
+ out 0x21, al\r
+ out 0xA1, al\r
\r
- pop ax\r
- ret\r
+ pop ax\r
+ ret\r
\r
\r
;-----------------------------;\r
; enable an IRQ. cl = irq ;\r
;-----------------------------;\r
enable_irq:\r
- push ax\r
- push cx\r
+ push ax\r
+ push cx\r
\r
- cmp cl, 8\r
- jb .master\r
+ cmp cl, 8\r
+ jb .master\r
\r
- sub cl, 8\r
- mov ah, 1\r
- shl ah, cl\r
- xor ah, 0xFF\r
+ sub cl, 8\r
+ mov ah, 1\r
+ shl ah, cl\r
+ xor ah, 0xFF\r
\r
- in al, 0xA1\r
- and al, ah\r
- out 0xA1, al\r
+ in al, 0xA1\r
+ and al, ah\r
+ out 0xA1, al\r
\r
- pop cx\r
- pop ax\r
- ret\r
- .master:\r
- mov ah, 1\r
- shl ah, cl\r
- xor ah, 0xFF\r
+ pop cx\r
+ pop ax\r
+ ret\r
+ .master:\r
+ mov ah, 1\r
+ shl ah, cl\r
+ xor ah, 0xFF\r
\r
- in al, 0x21\r
- and al, ah\r
- out 0x21, al\r
+ in al, 0x21\r
+ and al, ah\r
+ out 0x21, al\r
\r
- pop cx\r
- pop ax\r
- ret\r
+ pop cx\r
+ pop ax\r
+ ret\r
\r
\r
;------------------------------;\r
-; disable an IRQ. cl = irq ;\r
+; disable an IRQ. ;\r
+; in: cl = irq ;\r
;------------------------------;\r
disable_irq:\r
- push ax\r
- push cx\r
-\r
- cmp cl, 8\r
- jb .master\r
-\r
- sub cl, 8\r
- mov ah, 1\r
- shl ah, cl\r
-\r
- in al, 0xA1\r
- or al, ah\r
- out 0xA1, al\r
-\r
- pop cx\r
- pop ax\r
- ret\r
- .master:\r
- mov ah, 1\r
- shl ah, cl\r
-\r
- in al, 0x21\r
- or al, ah\r
- out 0x21, al\r
-\r
- pop cx\r
- pop ax\r
- ret
\ No newline at end of file
+ push ax\r
+ push cx\r
+\r
+ cmp cl, 8\r
+ jb .master\r
+\r
+ sub cl, 8\r
+ mov ah, 1\r
+ shl ah, cl\r
+\r
+ in al, 0xA1\r
+ or al, ah\r
+ out 0xA1, al\r
+\r
+ pop cx\r
+ pop ax\r
+ ret\r
+ .master:\r
+ mov ah, 1\r
+ shl ah, cl\r
+\r
+ in al, 0x21\r
+ or al, ah\r
+ out 0x21, al\r
+\r
+ pop cx\r
+ pop ax\r
+ ret
\ No newline at end of file