Learning about microcontrollers

It might be helpful to find a book on "computer architecture" rather than a specific processor. A datasheet or an assembly language book will usually start off assuming that the reader already understands concepts like "registers" and "address space", which need not be true (especially since those are concepts that high level languages specifically try to hide.) An "architecture" book, on the other hand, may talk about generalities without teaching you anything at all about programming.

Some of the earlier microcomputer books will try to do both. You can take a look at Don Lancaster's "Machine Language Programming Cookbook"; it looked like a pretty good combination, but it's hard to remember what's important to say...

See his other free downloads as well: OLD HTML REDIRECT