:Mark Thank you for the pointer to the book. I went out this AM and bought a=20 copy. A little pricey, but there is a LOT of stuff in there in additon to the divide info. I'm wading thru it right= =20 now (lots of choices). I'll let the piclist community know that I find out. Regards Joe Mickley ----- Original Message -----=20 From: "Mark Rages" To: "Microcontroller discussion list - Public." Sent: Wednesday, October 17, 2012 3:42 PM Subject: Re: [PIC] Fast 32 bit by 32 bit divide in a dsPIC30F > On Wed, Oct 17, 2012 at 12:56 PM, Joe Mickley =20 > wrote: >> I am using a dsPIC30F3012 (writing in ASM, not C) on a project with very >> fast loop execution (<20 uSec in some cases) >> and need an effecient 32 bit by 32 bit unsigned divide algorithm. The >> dsPIC30F family has organic 16 by 16 divide >> instruction (DIV.U and DIV.UD) and I would like to create a 32 by 32=20 >> using >> that instruction set. >> >> The traditional 32 by 32 divide using a shift/subtract (restoring) >> algorithms is slow (about 400 instruction cycles nominal). It >> should be possible to break the 32 by 32 into a set of 16 by 16=20 >> operations, >> then combine the partials back into a 32 by 32 >> result, but I lack the knowledge of how to do or drive this. The=20 >> dsPIC30F >> divide routine is fast (18 cycles, so >> any use of itshould have a marked improvement) >> >> I need an unsigned divide, but could live with a signed divide as the >> magnitude of numbers I am working with are less than >> 2^30. Remainder or lack of is not critical. If I need it I could deriv= e=20 >> a >> remainder externally to the routine. > > This is discussed in Section 9-2 of Hacker's Delight, 2nd edition. It > is a page and a half of C code. > >>From the book: "The details are surprisingly complicated." > > You can read the code if go to the book's page at Amazon and "search > inside this book" for "Multiword Division". But buy the book if you > can. > > --=20 > Regards, > Mark > markrages@gmail > --=20 > http://www.piclist.com PIC/SX FAQ & list archive > View/change your membership options at > http://mailman.mit.edu/mailman/listinfo/piclist=20 --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .