Modern Assembly Language Programming with the ARM Processor

Modern Assembly Language Programming with the ARM ProcessorReviews
Author: Larry D. Pyeatt
Pub Date: 2016
ISBN: 978-0128036983
Pages: 504
Language: English
Format: PDF
Size: 10 Mb

Download

Modern Assembly Language Programming with the ARM Processor 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. In this textbook, 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 a large number of 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. PowerPoint slides and a solutions manual are included.
This book will appeal to professional embedded systems engineers, as well as computer engineering students taking a course in assembly language using the ARM processor.

  • Concepts 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
+

Table of Contents

Part I: Assembly as a Language
1: Introduction
2: GNU Assembly Syntax
3: Load/Store and Branch Instructions
4: Data Processing and Other Instructions
5: Structured Programming
6: Abstract Data Types

Part II: Performance Mathematics
7: Integer Mathematics
8: Non-Integral Mathematics
9: The ARM Vector Floating Point Coprocessor
10: The ARM NEON Extensions

Part III: Accessing Devices
11: Devices
12: Pulse Modulation
13: Common System Devices
14: Running Without an Operating System