Quote Originally Posted by Bruce View Post
You can test the input for 0, but any interrupt flag bits that get set should always be cleared before re-enabling the interrupt.
Thanks once again Bruce, here's my interrupt handler now (complete with a clear flag at the end!)...

Code:
Switch_Interrupt:
@ INT_DISABLE IOC_INT  ; Disable further IOC while handling an IOC interrupt

        IF Sw1 = 0 AND Sw2 = 1 THEN           
        HSEROUT ["INTERRUPT Sw1", 13, 10]
        goto interrupt_end
        endif
        
        IF Sw1 = 1 AND Sw2 = 0 THEN
        HSEROUT ["INTERRUPT Sw2", 13, 10]
        goto interrupt_end
        endif
        
        IF Sw1 = 0 AND Sw2 = 0 THEN
        HSEROUT ["INTERRUPT Sw3", 13, 10]
        goto interrupt_end
        endif
 
        interrupt_end:
        IOCAF = 0
@ INT_ENABLE IOC_INT

@ INT_RETURN