
Originally Posted by
RussMartin
Which of these is faster to execute?
IF A+B+C=0 THEN . . .
or
IF A=0 AND B=0 AND C=0 THEN . . .
Hi, RUSS
A+B+C = 0 has many solutions AS ... you use an ADDITION and not a Bitwise AND !!!
253 + 2 + 1 = 0 .... for Bytes !!!
1 + 1 + 0 = 0 ... for Bits !!!
so, It can't be equivalent to the second line ... Too Bad !
Now, let's suppose A, B, C are BITs ...
so
Code:
IF A | B | C THEN Z = 1...
Will be the fastest ... with PBP.`( 17 asm Lines ...)
Code:
IF (NOT A & NOT B & NOT C ) THEN Z = 1
is somewhat longer ...
BUT, if A,B,C are inputs ... would be faster to mask the other inputs and test if result is 0
Code:
IF ( PORTx & %00000111 ) THEN Z = 1
Only 12 asm lines ...
Alain
Last edited by Acetronics2; - 15th February 2009 at 20:46.
************************************************** ***********************
Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
************************************************** ***********************
IF there is the word "Problem" in your question ...
certainly the answer is " RTFM " or " RTFDataSheet " !!!
*****************************************
Bookmarks