Full Version : Harper's Fast 8-Bit to Percent Routine (PIC ASM)
avr >>PIC 8051 ZILOG ARM TI H8 ETC >>Harper's Fast 8-Bit to Percent Routine (PIC ASM)


Admin3- 04-18-2006
Scale 8 bits to a percent

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

CODE

; input in W, output in temp
       movwf temp
       bcf status,c
       rrf temp,f             ;temp = input * 128 / 256
       addwf temp,f           ;carry/temp = input * 384 / 256
       rrf temp,f             ;temp = input * 192 / 256
       bcf status,c
       rrf temp,f             ;temp = input * 96 / 256
       swapf temp,w
       andlw 0x0F             ;w = input * 6 / 256
       addwf temp,f           ;temp = input * 102 / 256
;or:    addwf temp,w     for result in w
       return



Forumer™ is Voted #1 Free Forum Hosting provider
Build your own community today with the largest message board hosting company.