Argh browser crash, just as I was finishing my reply. Minefield is living up to it's name... Still seems to me that it could be avoided by buffering though... MTE and I bumped into this when doing his 8-nokia-screen thing... I was trying to find the bug in my code for days until (i think it was seppo) pointed it out.... buffering it fixed it right up :) Of course, there will be limitations in the PIC as far as how many it can handle in software, but, in theory, the fan-out limit should be avoidable? Yeh that's perfect - you'll have CC7 stored, so 'software unmuting' would just be returning to that level :) Would be nice :) First stop for me is always www.piclist.com 's source code repository. MULWF will get you 8b*8b into 16b, so you just need a 16b*8b... Check out the theory here: http://www.8052.com/mul16.phtml Or there's actually a lot of good google hits (for a change): http://www.google.com.au/search?hl=en&as_q=8bit+16bit+multiply Maybe scope out the microchip site for an appnote too, or even atmel's, because some of them use a 8*8 hardware mult too.... Or write it in C and see what the output .asm file looks like... The later versions of SDCC seem to make better use of the MULWF instruction so you might get lucky :)