Learning new languages (avrc and asm)

Hi all--

I got my arduino a little over a year now, and I feel pretty solid on the Arduino programming language. So I was thinking of undertaking the task of learning plain old avrc. I just downloaded CrossPack for mac. What I am wondering is where I should go to learn the language. I would prefer a formal guide/tutorial and not just a few pages showing how to do this and this, as if I had just gotten my first AVR and wanted to know how to program it (no Arduino). I do know some C++ and learned it from http://www.cplusplus.com/, something like this but for AVRs would be great.

I was also interested in learning assembly. Would you recommend AVR-Tutorial ?

Thanks a bunch!

baum

The "Arduino Language" is C. Stuff like digitalWrite() are just C-functions. You could easily look at the underlying source code and see the "avrc" that was used to create those functions.

Yes of course... but that is still a good idea. How about ASM?