I don't use lcd's or pic16's much but here is a trap


LCDOUT ".", digit[tmp1]+$30
inline math for lcdout on a pic16 turns to crap,you need to do the math first then print result

Code:
tmp2 =digit[tmp1]+$30

LCDOUT  ".", tmp2
the code still fails on pic16, may be too many nested gosubs