Haven't read the whole of this thread (it was getting tedious), but thought I'd just add my perspective. For my job I program on a PC in C++, and have also written code in C for a Motorola uC. However for the small stuff I do with PICs, not only is timing usually an issue (including with the projects I do for work), but also most of the effort is in making the hardware work properly, which isn't something that coding in C helps with at all. Therefore I program in assembler on a PIC. Maybe it's just because I've also been coding in assembler for 25 years (back to when I had a ZX81, and I hand compiled and used a hex-editor to program!) so it's something I'm relatively comfortable with. I've even recently ported some assembler code from a PIC to an AVR, and am now working in assembler on AVRs, which seems to be much more unusual as most people seem to use C for those. However, since as mentioned above most of the complex issues in my code are to do with hardware interaction, it wouldn't have been any easier at all to port C code, as I'd still have had to go into the datasheet and work out how all the different bits worked and translate it all by hand. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist