I use C because time-to-market (and NRE costs) are so much lower with C than with assembly. My customers LIKE being able to a) comprehend the logic in the code - it isn't "black magic" any more b) adjust simple parameters (sensitivity, etc. I'm doing this in asm code more now too, though) c) not pay so much for a functional prototype (test feasibility) When products have to go in assembly, I often use teh C compiler to generate code which I merge into the existing product or to find bugs in my own assembly (yep, 7+ years of PICs and still making mistakes :-( Andy Dmitry Kiryashov on 04/12/2000 06:32:20 PM Please respond to pic microcontroller discussion list To: PICLIST@MITVMA.MIT.EDU cc: (bcc: Andrew Kunz/TDI_NOTES) Subject: Re: Question: C vs Asm Hi Walter. > Complexity. Assemblers are straight translators. You can write an > assembler without understanding the instruction set. Assemblers > have a single production for each possible source statement. > A test suite for an assembler is a single program about > 5 or 6 pages long. You can't write in asm without clearly understanding what you are doing. Learning assembler takes much more time than C in term of getting working program. > C is a language with syntax and potentially ambiguous diverse meanings. C > lets you encapsulate abstract ideas independent of the target environment. that's true and correct. one will pay extra program memory for that win. > A C program can be easily moved to a different target platform where > assembly > contains both a description of the application idea and method that is > used to implement it.on a specific target, that's also true. that guy will get unpredictable code size and execution time for black box of C compiled module. > A C compiler takes thousands of programs in a test suite. C is good for large projects with portability for different uC platform. (100K lines of code and more) Asm is excellent for fast responded short sized procedures. (less that 100K lines of sources) In terms of small embedded word there are not so many situations here when using of C will get real advantage over asm. Just my two cent. WBR Dmitry.