Thanks Mike Your code is now tested and it works fine. (Much better than my method - short and sweet) regards Francois > Something like this might be better (untested!!!) > > ; get the Hour tens > movlw 0x30 ; convert ASCII to binary > subwf D20,W ; D20 holds Hours_Tens > movwf Hours ; Hours = Hour_Tens > addwf Hours,W ; W = Hour_Tens*2 > addwf Hours,F ; Hours = Hour_Tens*3 > addwf Hours,F ; Hours = Hour_Tens*5 > movf Hours,W ; W = Hour_Tens*5 > addwf Hours,F ; Hours = Hour_Tens*10 > > ; add the Hour units > movlw 0x30 > subwf D21, W ; D21 holds Hours_Units > addwf Hours,F ; Hours = Hour_Tens + Hours_Units > > ; get the Minute tens > movlw 0x30 ; convert ASCII to binary > subwf D23,W ; D20 holds Minutes_Tens > movwf Minutes ; Minutes = Minutes_Tens > addwf Minutes,W ; W = Minutes_Tens*2 > addwf Minutes,F ; Minutes = Minutes_Tens*3 > addwf Minutes,F ; Minutes = Minutes_Tens*5 > movf Minutes,W ; W = Minutes_Tens*5 > addwf Minutes,F ; Minutes = Minutes_Tens*10 > > ; add the Minute units > movlw 0x30 > subwf D24,W ; D24 holds Minutes_Units > addwf Minutes,F ; Minutes = Minutes_Tens + Minutes_Units > > > > Regards > > Mike > -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist