Hi Tony. > Can anyone improve on this? It would be better not to have a Temp > register used. > > ; > ; if TimerH:TimerL < 0xAA55 goto EndTime > ; > movlw 0xAA > movwf MathTemp > movlw 0x55 > subwf TimerL,W > movf MathTemp,W > btfss STATUS,C > incfsz MathTemp,W > subwf TimerH,W > btfss STATUS,C > goto EndTime If I understood everything correctly... movlw 0xAA ;high? subwf TimerH,W skpc goto EndTime ;5 cycles movlw 0x55 ;low? subwf TimerL,W skpc goto EndTime ;5 or 9 clocks to go ;8 clocks to pass or movlw 0xAA ;high? subwf TimerH,W movlw 0x55 ;low? skpnc subwf TimerL,W skpc goto EndTime ;8 clocks to go ;7 clocks to pass WBR Dmitry. -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics