Hello,

I just sublimized my two last 16F690 and had to replace and adapt the code to my old 16F88... ones...

Since I did so, I can't make the INTerrupt routine work anymore.

I compared with former programs I made and can't find the difference.

Why isn't it working; where's the fish?
Code:
' Fuses
@ DEVICE HS_OSC
@ DEVICE PROTECT_OFF
@ DEVICE WDT_ON
@ DEVICE PWRT_ON
@ DEVICE MCLR_OFF
@ DEVICE BOD_OFF
@ DEVICE LVP_OFF
@ DEVICE CPD_OFF
@ DEVICE DEBUG_OFF
@ DEVICE CCPMX_OFF

'-------------------------------------------------------------------------------
' Registers   76543210
OPTION_REG = %10000000 'PORTB Pull-Ups disabled
OSCCON     = %00000000 'Internal RC set External Xtal
ANSEL      = %00000000 'Disable analog inputs
ADCON0     = %00000000 'A/D Module is OFF
CMCON      = %00000111 'Comparator Module is OFF
INTCON     = %10100000 'Set Interrupts
TRISA      = %00000000 'Set Input/Output
PORTA      = %00000000 'Ports High/Low
TRISB      = %00000000 'Set Input/Output
PORTB      = %00000000 'Ports High/Low

'-------------------------------------------------------------------------------
' Variables
Ticks   var byte
Second  var byte
Minute  var byte
Hour    var byte
LED1    var PORTB.5
LED2    VAR PORTB.4

'-------------------------------------------------------------------------------
' Program
clear
On Interrupt Goto tick_int

TEST:
    if second = 2 then
        second = 0
        toggle led1
        goto test
    endif        
    end

'-------------------------------------------------------------------------------
disable
TICK_INT:
    Ticks = Ticks + 1
    If Ticks < 61 Then TICK_INT_RESET
    Ticks = 0
    Second = Second + 1
    If Second >= 60 Then    
        Second = 0
        minute = minute + 1
        If minute >= 60 Then
            minute = 0
            Hour = Hour + 1
        Endif
    Endif
    toggle led2 'control LED - blink every second
    
    TICK_INT_RESET:
        INTCON.2 = 0

    Resume
    enable