4 #define INTERRUPT __interrupt __far
\r
6 #define IRQ_TO_INTR(x) ((x) + 8)
\r
8 /* PIC command and data ports */
\r
9 #define PIC1_CMD 0x20
\r
10 #define PIC1_DATA 0x21
\r
11 #define PIC2_CMD 0xa0
\r
12 #define PIC2_DATA 0xa1
\r
13 /* PIC operation command word 2 bits */
\r
14 #define OCW2_EOI (1 << 5)
\r
16 unsigned char get_irq_mask(int pic);
\r
17 #pragma aux get_irq_mask = \
\r
25 value[al] parm[ebx];
\r
27 void mask_irq(int irq);
\r
28 #pragma aux mask_irq = \
\r
31 "jb skip_mask_pic2" \
\r
41 parm[eax] modify[cl dx];
\r
43 void unmask_irq(int irq);
\r
44 #pragma aux unmask_irq = \
\r
47 "jb skip_unmask_pic2" \
\r
50 "skip_unmask_pic2:" \
\r
58 parm[eax] modify[cl dx];
\r
60 #endif /* INTR_H_ */
\r