I completely agree with Paul! I've been experimenting with the Motorola
HC908 series for the last year and about six months ago I tried using
one of the free C compilers (SDCC). THE CODE WAS TERRIBLE! It was
incredibly bloated and didn't use the entire CPU instruction set. After
two weeks of evaluation, I went back to assembly language. It's the
only way to go with 8-bit CPUs.
Assembly is hardly the "only way to go with 8-bit CPUs" nor is it
"strongly NOT recommended to use C compilers for such 8-bit MCUs."
[pejoratives redacted]
Compiled code may be larger and slower than well crafted assembly
(emphasis on "well") but it's typically faster to write, more likely
to be correct, and also easier to maintain over the life cycle.
Evaluate the relative strengths of each (or Forth, or Basic, or ...) as
it relates to the task at hand, design resources, time constraints, etc.
For the OP: Think about whether you really need floating point or if you
can use fixed point instead.
You might also want to take a look at the Imagecraft C compiler for the
AVRs, ICC-AVR. It's due to turn over to version 7 any day now (I think
that Richard has just released the final beta). There is a window open
now for new purchasers of version 6 to get a free upgrade to 7. There's
also an active user community. Check out the listserver archives at
http://www.dragonsgate.net/mailman/listinfo or the compiler home page at
http://www.imagecraft.com/software/