Some Assembly Required: Assembly Language Programming with the AVR Microcontroller - Margush, Timothy S (CRC Press, 2012)
A comprehensive treatment of assembly language programming and computer organization, this text teaches the basic system capabilities of 8-bit AVR microcontrollers. It provides a foundation for understanding compilers, linkers, loaders, and operating systems in addition to the processors themselves. The book covers function call mechanisms and parameter passing techniques, explains how to use the XPLAIN Evaluation Kit, and describes data representation for integers, floating point, and character data. Along with many examples to illustrate the assembly language concepts, each chapter includes standard questions and programming exercises.