Binary division restoring algorithm PIC 18F family

Discussion in 'Embedded Systems and Microcontrollers' started by atferrari, May 6, 2007.

  1. atferrari

    Thread Starter AAC Fanatic!

    Jan 6, 2004
    2,644
    759
    Four days ago I finished the testing of a binary division algorithm 3216 unsigned based on the "restoring" method.

    It may be found here: http://cablemodem.fibertel.com.ar/atferrari/ where you will look for "PICs" scrolling down to below MUL_1616U

    My comments:

    a) Something that nobody tells you about the actual implementation of this method:

    the shifting to the left of the dividend can cause an overflow detectable ONLY, through testing the Carry bit. (If set, the divisor must be substracted from the dividend as indicated by the method). Otherwise, the standard test "is divisor equal or less than dividend?" will fail, leading you to a final wrong result.

    Just by working backwards from few known results, I realized that a failure appeared when, at least, one overflow occurred due the dividend shifting along the process.

    b) The other routines are simple ones, that I use quite often. I know their limits and they fit my current needs. Please neglect them.

    The other binary division routine based on the "Kenyan" algorithm (see a posting of myself from few days ago) completes the selection.
     
  2. atferrari

    Thread Starter AAC Fanatic!

    Jan 6, 2004
    2,644
    759
    Division 32/16 bits unsigned. I've just posted a slightly shorter version of the algorithm.

    Enter here: http://cablemodem.fibertel.com.ar/atferrari/ , look for "PICs".

    Scroll down, below MUL_1616U.

    Now the code takes 22 lines including RETURN.
     
Loading...