Tony, This looks real good. I especially like the four instruction snippet: movf ,W skpnc incfsz ,W addwf ,F As a slick way to do handle carries in an N-byte multiple precision add. If this trick is well-known, it has somehow escaped me. [James: how about a section on N-byte arithmetic in the code snippets archive?] Also, you said: ; ; Probably more efficient to use Ram = LSB, Ram+2 = MSB ( big endian ? ) ; According to helpful hints from Nikolai, however my requirements ; dictated the used format. ; I don't understand how this can be true when all accesses to RAM are byte wide and indeed the individual bytes of each value can be anywhere in memory with no change in performance. Yeah, just what we need: an 'endianness' flame war on a list that works with a 'no-endian' (ie: 8-bit memory accesses only) processor. Bob Ammerman RAm Systems (contract development of high performance, high function, low-level software) -- http://www.piclist.com hint: PICList Posts must start with ONE topic: "[PIC]:","[SX]:","[AVR]:" =uP ONLY! "[EE]:","[OT]:" =Other "[BUY]:","[AD]:" =Ads