« Return to Thread: - Need fast divide by 14 constant routine? ( Random access 8-bit data in PIC16F flash )

- Need fast divide by 14 constant routine? ( Random access 8-bit data in PIC16F flash )

by Ed Sutton-2 :: Rate this Message:

Reply to Author | View in Thread

Are there other ways to implement a divide by a 14 constant other than
cycle-chewing subtraction loops?

I want to use the PIC16F flash consisting of 14-bit words to store 8-bit
data.  I can implement the multiply-by-8 as a shift.  The crux of the
problem is basically the divide by a constant of 14.

Pseudo Code ( actual code will likely be assembly )

wordOffset = 8*byteOffset / 14;          // The integer result
wordBitOffset = 8*byteOffset % 14;   // The remainder result


Patterns:

The 14-bit words and 8-bit data have a common multiple of 56.
The wordBitOffset pattern { 0,8,2,10,4,12,6 } repeats every 7-bytes.
I can't see a solution but it is an interesting puzzle.

Thanks in advance for any tips or suggestions,

-Ed

--
http://www.piclist.com PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

 « Return to Thread: - Need fast divide by 14 constant routine? ( Random access 8-bit data in PIC16F flash )

LightInTheBox - Buy quality products at wholesale price