please dont rip this site

PIC Microcontoller Math Method


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
; 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

file: /techref/microchip/math/scale/8bxperfast.htm, 1KB, , updated: 2000/2/25 10:58, local time: 2008/12/3 15:21,
TOP NEW HELP FIND: 
38.103.63.57:LOG IN
©2008 PLEASE DON'T RIP! DO: LINK / DIGG! / MAKE!

 ©2008 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?
Please DO link to this page! Digg it!
<A HREF="http://massmind.org/techref/microchip/math/scale/8bxperfast.htm"> PIC Microcontoller Math Method</A>

After you find an appropriate page, you are invited to your to this massmind site! (posts will be reviewed) Just type in the box and press the Post button. (HTML welcomed!): A tutorial is available Members can login to post directly, become page editors, and be credited for their posts.


Link? Put it here: 
if you want a response, please enter your email address: 
Did you find what you needed?

 

Welcome to massmind.org!

  'What can I do?' - SiCKO

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  .