Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
04/15/05 10:48
Read: times


 
Msg Score: +1
 +1 Good Answer/Helpful
#91619 - (a+b)^2=a^2+2*a*b+b^2
Responding to: ???'s previous message
Sq10bit:   ;input in r0,r1; output in r2,r3,r4; both LSB first
   mov  a,r0    ;(a+b)^2=a^2+2*a*b+b^2
   mov  b,a
   mul  ab
   mov  r2,a
   mov  r3,b
   mov  a,r1
   mov  b,a
   mul  ab
   mov  r4,a
   mov  a,r1
   add  a,r1
   mov  b,r0
   mul  ab
   add  a,r3
   mov  r3,a
   mov  a,b
   addc a,r4
   mov  r4,a
   ret
23 bytes, 31 cycles including RET, uses only a,b and flags. Could be tweaked a bit more, but don't expect much less. R0-R4 can be replaced by memory positions, but then expect longer code and execution time.
Intentionally not commented. Try to understand yourself. Have fun!

Jan Waclawek


List of 66 messages in thread
TopicAuthorDate
Fast Square.            01/01/70 00:00      
   Square dancing            01/01/70 00:00      
      table lookup???            01/01/70 00:00      
   code & algorithm            01/01/70 00:00      
      16*16 bit is slower than what I want.            01/01/70 00:00      
         How fast?            01/01/70 00:00      
            Re: How Fast            01/01/70 00:00      
               ... probably impossible in 15 cycles            01/01/70 00:00      
                  why cycles ?            01/01/70 00:00      
                     Re: Microseconds            01/01/70 00:00      
                  table lookup            01/01/70 00:00      
   Natsemi appnote or CORDIC            01/01/70 00:00      
      Natsemi link to appnote            01/01/70 00:00      
   (a+b)^2=a^2+2*a*b+b^2            01/01/70 00:00      
      Thats Slow.            01/01/70 00:00      
         faster need hardware            01/01/70 00:00      
         How fast do you need?            01/01/70 00:00      
            Re: How Fast.            01/01/70 00:00      
               Just?            01/01/70 00:00      
                  Incorrect            01/01/70 00:00      
                     Correct?            01/01/70 00:00      
                        Whooooopa... Sorry.            01/01/70 00:00      
                           Thanks            01/01/70 00:00      
                        I tried...            01/01/70 00:00      
                  optimum? table driven            01/01/70 00:00      
      Jan metod            01/01/70 00:00      
   Hardware?            01/01/70 00:00      
      CPLD?            01/01/70 00:00      
   SILabs f12x does it in hardware            01/01/70 00:00      
      Re: SiLabs F12x            01/01/70 00:00      
   Price            01/01/70 00:00      
      F12x price            01/01/70 00:00      
         F12x MAC            01/01/70 00:00      
            provided in the datasheet            01/01/70 00:00      
   Just out of interest            01/01/70 00:00      
      clarification            01/01/70 00:00      
      CPLD?            01/01/70 00:00      
         too expensive            01/01/70 00:00      
            Absolute rubbish Oleg            01/01/70 00:00      
               explain            01/01/70 00:00      
               your right            01/01/70 00:00      
            especially for those...            01/01/70 00:00      
               I need to say this....            01/01/70 00:00      
               By the way.....            01/01/70 00:00      
   just a demo            01/01/70 00:00      
      Hang on.            01/01/70 00:00      
   Oh bollocks            01/01/70 00:00      
   Well oleg            01/01/70 00:00      
      Please check my answer.            01/01/70 00:00      
         Here you go            01/01/70 00:00      
            You're having me on.            01/01/70 00:00      
               Pascal?            01/01/70 00:00      
               Pascal?            01/01/70 00:00      
            Why ?            01/01/70 00:00      
               It was changed because,,,            01/01/70 00:00      
               Its because            01/01/70 00:00      
   For Jez            01/01/70 00:00      
      For Michael            01/01/70 00:00      
   simulation            01/01/70 00:00      
   Re: Fast Square            01/01/70 00:00      
   Prahlad, waithing for a conclusion            01/01/70 00:00      
      just an exercise...            01/01/70 00:00      
      Tricky            01/01/70 00:00      
         Jez asked his cat, I asked my sheep            01/01/70 00:00      
      Conclusion.            01/01/70 00:00      
      SPI EEPROM            01/01/70 00:00      

Back to Subject List