I know, I know, who wants to start another language war :-) But I thought I'd share a recent experience where MicroChip's C30 really=20 impressed me. I needed to implement the XTEA encryption scheme, and needed performance. I= =20 immediately thought of doing it in assembler for that reason. So, I spent=20 quite a bit of time writing a highly optimized version in assembler. I have= =20 quite a bit of experience in assembler and I feel the version I wrote is at= =20 least pretty close to as fast as it can get. I was pleased with the result:= =20 1603 instruction times to encode each 8-byte block (at 60 MIPs on a PIC24E= =20 that is nearly 300,000 bytes/sec!). Then, I decided to see how well C30=20 would do with it and wrote a straightforward implementation in C. I looked= =20 at the generated code and was very impressed. Timing the C implementation=20 gave me 1889 cycles, which is only about 18% slower than the asm=20 implementation. As a final exercise, I coded up an assembler version=20 optimized for space instead of speed. It took 3016 cycles, but only used 89= =20 instructions versus 132 instructions for the fast assembler version and 146= =20 for the C version. So, in summary: FAST ASM, C VERSION, SMALL ASM 1603 cycles, 1889 cycles, 3016 cycles 132 instructions, 146 instructions, 89 instructions By the way: if anyone is interested in the source, I'd be glad to send it t= o=20 you [ as long as you aren't in a foreign country on the no export list :-( = ] -- Bob Ammerman RAm Systems=20 --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .