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