Hi, ( again ) just a small note, one should not disable global irq with only: bcf intcon,gie ;disable interrupts!! ;this is VERY important to do! As one does not know if an irq was just happening as we tried to clear the GIE flag. Instead i suggest the Microchip way: ;+++++ ; DISABLE_IRQ disable global irq DISABLE_IRQ MACRO LOCAL STOP_INT STOP_INT BCF INTCON,GIE ; disable global interrupt BTFSC INTCON,GIE ; check if disabled GOTO STOP_INT ; nope, try again ENDM ;+++++ ; ENABLE_IRQ enable global irq ENABLE_IRQ MACRO BSF INTCON,GIE ; enable global interrupt ENDM This will ensure that global irq indeed is disabled. /Tony Tony KŸbek, Flintab AB ΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣ E-mail: tony.kubek@flintab.com ΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣΣ