Ed Todd 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: Your code is essentially the same as the example that started this thread. Like that example, it won't work. Use your routine to perform the following two additions (each of which should give the same result): 0000FFFF 00000001 + 00000001 + 0000FFFF See why it fails? -Andy === Andrew Warren - fastfwd@ix.netcom.com === Fast Forward Engineering - Vista, California === === Custodian of the PICLIST Fund -- For more info, see: === http://www.geocities.com/SiliconValley/2499/fund.html