|
|
| version 1.1, 2003/12/19 00:25:49 | version 1.2, 2003/12/19 05:25:32 |
|---|---|
| Line 42 DMAC_WORKING equ (DMACH_SIZE * 4) + 8 | Line 42 DMAC_WORKING equ (DMACH_SIZE * 4) + 8 |
| ; DMA_stat equ (DMACH_SIZE * 4) + 13 | ; DMA_stat equ (DMACH_SIZE * 4) + 13 |
| ; #define PICEXISTINTR ((!pic.ext_irq) && \ | |
| ; ((pic.pi[0].irr & (~pic.pi[0].imr)) || \ | |
| ; (pic.pi[1].irr & (~pic.pi[1].imr)))) | |
| MACRO | MACRO |
| $label PICEXISTINTR | $label NOINTREXIT |
| mov r12, #(&ff << 24) | tst r8, #I_FLAG |
| moveq pc, r11 | |
| ldrb r1, [r0, #PIC_EXTIRQ] | ldrb r1, [r0, #PIC_EXTIRQ] |
| ldr r2, [r0, #(PIC_MASTER + PI_IMR)] | ldr r2, [r0, #(PIC_MASTER + PI_IMR)] |
| mov r12, #(&ff << 24) | |
| cmp r1, #0 | |
| movne pc, r11 | |
| ldr r3, [r0, #(PIC_SLAVE + PI_IMR)] | ldr r3, [r0, #(PIC_SLAVE + PI_IMR)] |
| eor r0, r12, r2 lsl #24 | |
| tst r0, r2 lsl #8 | |
| eoreq r0, r12, r3 lsl #24 | |
| tsteq r0, r3 lsl #8 | |
| moveq pc, r11 | |
| MEND | |
| MACRO | |
| $label PICEXISTINTR $noirq | |
| ldrb r1, [r0, #PIC_EXTIRQ] | |
| ldr r2, [r0, #(PIC_MASTER + PI_IMR)] | |
| mov r12, #(&ff << 24) | |
| cmp r1, #0 | cmp r1, #0 |
| eoreq r0, r12, r2 lsl #24 | bne $noirq |
| tsteq r0, r2 lsl #8 | ldr r3, [r0, #(PIC_SLAVE + PI_IMR)] |
| eor r0, r12, r2 lsl #24 | |
| tst r0, r2 lsl #8 | |
| eoreq r0, r12, r3 lsl #24 | eoreq r0, r12, r3 lsl #24 |
| tsteq r0, r3 lsl #8 | tsteq r0, r3 lsl #8 |
| MEND | MEND |