Jason Harper says:
Assuming that code space is also a concern, try this: it's a bit shorter than the other solutions I've seen posted. Note that it actually calculates input * 102 / 256, but due to roundoff errors it produces 100 for an input of 255, so it should do the job for you.
percentify ; input in W, output in temp mov temp, W clrb C rr temp ;temp = input * 128 / 256 add temp, W ;carry/temp = input * 384 / 256 rr temp ;temp = input * 192 / 256 clrb C rr temp ;temp = input * 96 / 256 mov W, <>temp and W, #$0F ;w = input * 6 / 256 add temp, W ;temp = input * 102 / 256 ;or: add temp, W ret