;******************************************************************
;* *
;* Increment packed BCD number from 00 to 99 with overflow *
;* *
;******************************************************************
IncNumber
incf Number,f ; increment number |B0
movf Number,W ; |B0
addlw h'06' ; lo nybble < 10 ? |B0
bndc IncDone ; yes, branch, else |B0
movwf Number ; update Number |B0
xorlw d'100' ; overflow from 99 to 100 ? |B0
bnz IncDone ; no, branch, else |B0
movwf Number ; reset Number to 00 and |B0
bsf Flags,Overflow ; indicate overflow |B0
IncDone