Thanx John and everyone else who responded to this note. I will update the 16 bit multiply with 32 bit result tomorrow. myke > > >|To fix this, I came up with the following code with the optional pieces, not >|only will the result be correct, but the carry value as well. > >|I would appreciate it if you could look at it and comment on any >|problems/better ways of doing it. > >The following brilliancy (not mine) will save many instructions: > > movf source,w > btfsc C > incfsz source,w > addwf dest,f > >This will add /source/ to /dest/, with correct carry propagation >in and out. The code is tricky, but it does handle all cases >correctly. Note that the final result must be put in /dest/ for >this trick to work. Replacing the ",f" on the last instruction >with ",w" will cause the code to fail in the source==FF+carry case. > > > > Learn about the world's hot spots in P.J. O'Rourke's "Holidays in Hell"; this weeks' book of the week. http://www.myke.com/Book_Room/book1a.htm Also look at: http://www.myke.com/My_Books/homcu.htm for information on "Handbook of Microcontrollers" which has been named the Main Selection for November 1998 for the Electronics Book Club!