I have this code working right except for one part. I want the interrupts to work all the time. Meaning when the interrupt occurs and throttle is 0, the code turns off some outputs for a set amount of time. I want the IOC to still be active while in the interrupt code. So if the IOC occurs again while in the pause it will go to the other If/Then within the interrupt.

At first I didn't have Enable and Disable and couldn't get the interrupt part of the code to function at all. So I threw in Enable and Disable. The IOC works fine, yet I want it to recognize an IOC while the code is still within the IOC part of the code and during the PAUSE.

INCLUDE "modedefs.bas"
Throttle Var PortA.0
ClutchIn var PortA.1
LineLockIn var PortA.2
'MCLR var PortA.3
'DEBUG var PortA.4
Arming var PortA.5
ClutchOut var PortC.0 'Good pinout
LineLockOut var PortC.1 'Good pinout
Aux1Out var PortC.3 'Good pinout
Aux2Out var PortC.2 'Good pinout
Jumper1 var PortC.4
Jumper2 var PortC.5

Marker var bit
Counter var byte
Timer var byte

define OSC 8
DEFINE DEBUG_REG PortA
DEFINE DEBUG_BIT 4
DEFINE DEBUG_BAUD 9600
DEFINE DEBUG_MODE 1

Option_Reg.7=0 'Pull-Ups Enabled
TRISA=%100111
TRISC=%110000
ANSEL=%00000000
Counter = 0
INTCON.7=1 'Enables global interrupts
INTCON.3=1 'Enables IOC
IOCA.5 = 0
IOCA.4 = 0
IOCA.3 = 0
IOCA.2 = 0
IOCA.1 = 0
IOCA.0 = 1 'Throttle Interrupt On
intcon.0=0
On Interrupt goto Starting_Line
GOsub Flasher

Loop:
debug "No Interrupt",dec Throttle, cr
If LineLockIn = 0 then
High LineLockOut
else
Low LineLockOut
endif

If LineLockIn = 0 then
High LineLockOut
else
Low LineLockOut
endif

If ClutchIn = 0 then
High ClutchOut
else
Low ClutchOut
endif

Goto Loop

Flasher:
Counter = 0
Repeat
Counter = Counter + 1
High ClutchOut
High LineLockOut
High Aux1Out
High Aux2Out
pause 100
Low ClutchOut
Low LineLockOut
Low Aux1Out
Low Aux2Out
pause 100
until Counter = 10
Counter = 0
Return

Starting_Line:
disable
If Throttle = 0 then
debug "Throttle On", DEC Throttle, cr
'Gosub Activate
pause 2000
'Marker = 1
endif

If Throttle = 1 then
debug "Throttle Off", DEC Throttle, cr
Low ClutchOut
Low LineLockOut
Low Aux1Out
Low Aux2Out
'Pause 3500
'pause 3500
pause 2000
'Marker = 0
endif
intcon.0=0
resume
enable

Activate:
High ClutchOut
High LineLockOut
High Aux1Out
High Aux2Out
return

Deactivate:
Low ClutchOut
Low LineLockOut
Low Aux1Out
Low Aux2Out
return