6 Main: seth IOSPACE,1 /* IOSPACE pointer */
7 setl $0,interruptvector
16 loop: addu $255,$255,1
30 pushj 255,interrupthandler/* To allocate some free variables */
31 put rJ,$255 /* Restore rJ */
32 nxor $255,$0,$0 /* Set up new interrupt mask (enable all) */
35 /* Must preserve $255 */
37 get $0,rQ /* All pending interrupts */
38 subu $1,$0,1 /* This and the following ... */
39 sadd $2,$1,$0 /* ... calculates the index of the highest priority */
40 and $0,$0,$1 /* Clears just the highest priority one */
47 stbu $2,IOSPACE /* Do something with the index */