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