What about a table like this, add the individual nibbles to PCL and get the conversion back in W. SWAPF VAL, W ; VAL is byte to display CALL NIB2HEXTAB ; W=High nibble char here MOVF VAL, W CALL NIB2HEXTAB ; W=Low nibble char here NIB2HEXTAB ANDLW 0FH ADDWF PCL, F DT '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' I think the codes OK, but either way, the ideas simple enough. Stuart.