Modern Assembly Language Programming with the ARM Processor, Second Edition is a tutorial-based book on assembly language programming using the ARM processor. It presents the concepts of assembly language programming in different ways, slowly building from simple examples towards complex programming on bare-metal embedded systems. The ARM processor was chosen as it has fewer instructions and irregular addressing rules to learn than most other architectures, allowing more time to spend on teaching assembly language programming concepts and good programming practice. Careful consideration is given to topics that students struggle to grasp, such as registers vs. memory and the relationship between pointers and addresses, recursion, and non-integral binary mathematics. A whole chapter is dedicated to structured programming principles. Concepts are illustrated and reinforced with many tested and debugged assembly and C source listings. The book also covers advanced topics such as fixed- and floating-point mathematics, optimization, and the ARM VFP and NEONTM extensions.
- Includes concepts that are illustrated and reinforced with a large number of tested and debugged assembly and C source listing
- Intended for use on very low-cost platforms, such as the Raspberry Pi or pcDuino, but with the support of a full Linux operating system and development tools
- Includes discussions of advanced topics, such as fixed and floating point mathematics, optimization, and the ARM VFP and NEON extensions
- Explores ethical issues involving safety-critical applications
- Features updated content, including a new chapter on the Thumb instruction set