On Sat, May 25, 2013 at 04:03:36PM -0700, Chris Albertson wrote: > In general PICs need assembly language for many things. > AVRs almost never need assembly.
I've done quite a number of PIC projects, from low end 8 bit up to the high end 32 bit controllers, and except for a really time critical software PWM solution I never had to write in assembler (although I'm quite comfortable with assembler code :) > The reason is that the AVR designers studied C compilers > and made the AVR an easy compiler target. > A compiler writer like to have an "orthogonal" instruction > set and some other features. So the AVR compirrs generate > very good code and there is little reason to resort to > assembly Recent PIC toolchains use gcc which allows for inline assembly and provides a reasonable set of builtin instructions to allow for handling almost everything within C. The compiler does a good job, and there are proprietary compilers available if you need to achieve really high optimization (size or speed wise) best, Herbert > On Sat, May 25, 2013 at 2:24 PM, Rex <[email protected]> wrote: >> On 5/25/2013 1:22 PM, Bob Camp wrote: >>> If you are going to code on a cheap PIC (the PIC16 series) >>> you will likely need to learn PIC assembler. All my coding >>> on those parts was in assembly language. They are old enough >>> / slow enough / small RAM enough that things like C (or the >>> other high level languages you listed) really don't do well >>> on them. >> Several years back I did a bunch of stuff with various PIC16 >> series chips. All of it, except for some minor assembler >> tweaks, was done in C. Glad I did not know it wasn't >> practical. I would have wasted a lot of time coding it in >> assembler. Of course my goal was just getting something done, >> not being elegant or very efficient. Time-nutty stuff like >> TVB's frequency divider may require the detail and efficiency >> only provided by assembler. >> _______________________________________________ >> time-nuts mailing list -- [email protected] >> To unsubscribe, go to >> https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts >> and follow the instructions there. > -- > Chris Albertson > Redondo Beach, California > _______________________________________________ > time-nuts mailing list -- [email protected] > To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts > and follow the instructions there. _______________________________________________ time-nuts mailing list -- [email protected] To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow the instructions there.
