I learned assembler for the HC11 on my own in 1990 for an ignition timing controller, which I am still selling today (J&S SafeGuard).
Now working on a new project and plan on using a Cypress PSoC processor. The gurus say I need to learn C rather than ARM assembler.
So, I have been bouncing around in tutorial-ville, but it’s strange, after working with assembly for so long.
C Programming PDF from Wikibooks.org ..this is pretty good.
http://upload.wikimedia.org/wikipedia/commons/0/07/C_Programming.pdf