ARM Assembly for Embedded Applications (3rd Edition)
ARM Assembly for Embedded Applications is intended to be used as a textbook in a sophomore level undergraduate course for students majoring in computer science, computer engineering, or electrical engineering. The book approaches programming in ARM assembly language by writing functions in assembly that are called from a main program written in C. The primary goal of the text is to get students engaged as early as possible. Rather than spending several weeks going over the architecture and detailed instruction set of the processor before having them write programs, the text gets students programming very early in the course by introducing the C/Assembly interface (i.e., function call, parameter passing, return values, register usage conventions) before going into arithmetic, bit manipulation, making decisions, or writing loops. Programming assignments are supported by a free Integrated Development Environment that runs under Microsoft Windows, project templates and a run-time library for displaying text, measuring CPU clock cycle times, drawing graphics, and responding to the touch screen of the target platform. Binary number systems and assembly language programming are covered using regular integer arithmetic, saturating integer arithmetic, and floating-point arithmetic. The text includes extensive treatment of bit manipulation, shifting, extracting and inserting data that is stored in a packed format, as well as chapters on inline coding and programming peripheral devices.
Lewis, Daniel W., "ARM Assembly for Embedded Applications (3rd Edition)" (2017). Faculty Book Gallery. 207.