I tried your routine ,using MPSIM and I found out that the number instruction pass from the begining to the end of routine 536609 instructions. if you use 4Mhz crystal then the T crystal = 0.25 usec .T instruction = 1 usec.It means your routine isn't for delaying 1 sec because 536609 X 1 u sec = 536609 u sec .You have to trim counter content to get 1 sec delay. Correct me if I am wrong. Hanafi T >Here is the code for a 3byte counter wich results in a delay of 1 second. >This code is written for a 4MHz crystal >DELAY > MOVLW 005H > MOVWF COUNTER ;MSB VAN DE DRIE BYTE TELLER > MOVLW 016H > DELAY0 > MOVWF COUNTER1 > CLRF COUNTER2 ;LSB VAN DE DRIE BYTE TELLER > DELAY1 > DECFSZ COUNTER2,F ;DEZE INSTRUCTIE DUURT 1uS ! > GOTO DELAY1 ;DEZE INSTRUCTIE DUURT 2uS ! > DECFSZ COUNTER1,F > GOTO DELAY1 > DECFSZ COUNTER,F > GOTO DELAY1 > RETURN >Glenn >