ON 20070624@11:16:48 PM at page: http://www.piclist.com/microchip/math/mul/16x8-d.htm#39257.3471064815 James Newton[JMN-EFP-786] published post 39257.3471064815 The modification suggested by Jordi Agust causes the multiply routine to fail if the AA register set is zero. The zero flag would only be valid if the increment above it was used. In the case of AA being zero, the zero flag is still set from the previous line "addwf CC+2,f", meaning CC+0 will get incremented, returning a non-zero result. |Delete 'P-' before: '' but after: ' The problem is worse than the previous comment suggested. Only AA+1 (the LSByte) has to be zero for the routine to fail, which is a much bigger problem than if the whole AA register were zero |Delete 'P-' before: '' but after: '