Vom AD-Wert 10 subtrahieren und entsprechend dem Carry verzweigen. Einen Compare-Befehl kennt der PIC nicht, nur SUB.
Code:
....
movfw zSek
sublw 59 ; zSek > 59 ?
skip_NC ; ... ja
return
clrf zSek ; Sekunden = 0
incf zMin ; Minuten + 1
movfw zMin
sublw 59 ; zMin > 59 ?
skip_NC ; ... ja
return
....
; C wird nur bei ADD, SUB, RLF und RRF veraendert
; ACHTUNG !!! Bei SUB ist C und DC invertiert !!!
; Berechnung: F/L minus W bzw. F/L plus 2cpl-W
; Wenn W > L/F dann Carry=0
; Wenn W <= L/F dann Carry=1
Lesezeichen