Thanks for stepping in Richard, I should've mentioned my example was for 18F series of course. Yeah, the padding... It's a tradeoff, either waste memory or waste some time :-)

In your code I see
Code:
if (CTEMP.highbyte==0) || (CTEMP.highbyte ==0) then
I suppose one of those should be CTEMP.lowbyte, right?