movlw .16 ;subtract 16*256 from accumulator
subwf AccHi,F
skpnc
goto DoneTimer
decfsz AccUp,F
goto DoneTimer
;only gets here if 1 second has passed
movlw low(.1000000) ;add 1 million to the accumulator
addwf AccLo,f
movlw high(.1000000)
skpnc
addlw 1
addwf AccHi,f
skpnc
incf AccUp,F
movlw upper(.1000000)
addwf AccUp,F
;time update starts from here
Do_Minutes incf Minutes,F
movf Minutes,W
xorlw .60
btfss STATUS,Z
goto DoneTimer
clrf Minutes
;
Do_Hours incf Hours,F
movf Hours,W
xorlw .24
btfss STATUS,Z
goto DoneTimer
clrf Hours
;
DoneTimer bcf INTCON,TMR0IF