---------- > Good Reggie, but how about this > > > rrf bcd,W > andlw 01111000b ;W = tens*8 > movwf temp > clrc > rrf temp,f ;W = tens*4 > rrf temp,f ;W = tens*2 > subwf bcd,W ;W = tens*16 + ones - tens*8 > ;W = tens*8 + ones > addwf temp,W ;W = tens*10 + ones > Very optimized! Only the comments has a bug :) rrf temp,f ;temp = tens*4 rrf temp,f ;temp = tens*2 Reggie