Does that work for: 0x0000ffff + 0x00000001 ---------- 0x00010000 or does it result in 0x00000000 ie: if B2 is already 0xff then the INCF B2,F makes it zero but doesn't propogate the new carry either as an overflow or into the next bytes. John At 07:34 AM 20/02/1997 -0700, you wrote: >Here is the way I do it for 16 bit in assembler. There are some simple >macros I use based on the CARRY bit too. > > MOVFW A3 > ADDWF B3,F > IFCARRY > INCF B2,F > MOVFW A2 > ADDWF B2,F > IFCARRY > INCF B1,F > MOVFW A1 > ADDWF B1,F > IFCARRY > INCF B0,F > MOVFW A0 > ADDWF B0,F > IFCARRY > GOTO OVERFLOW > > Ed Todd > > Pioneers are the ones, face down in the mud, with arrows in their backs. Automation Artisans Inc. Ph. 1-250-544-4950 PO Box 20002 Fax 1-250-544-4954 Sidney, BC CANADA V8L 5C9