Well, after posting that message I think I found out where my problem is... *sighs* BCF PORTA,1 ;Turn LED on DELAY0 NOP NOP NOP NOP LOOP NOP D0A NOP . . . DECFSZ counts,1 ;Delay 25 cycles for "counts" times. GOTO DELAY0 ;Eats 2 cycles (unless skipped) NOP ;Clean up cycle lost from DECFSZ MOVLW 250 MOVWF counts DECFSZ loops,1 ;Delay ("counts" * 25 cycles) for "loops" times GOTO D0A ;Eats 2 cycles (unless skipped) NOP ;Clean up cycle lost from DECFSZ BSF PORTA,1 ;Turn LED off I dont know how to explain this... but when there is no more "loops" left to do... I am really getting 30 Cycles instead of 25. :/ The code will work until the very last "loops" ... if anyone has any idea how to fix that.. it would be great. Thanks.