Book description
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
- Cover image
- Title page
- Table of Contents
- Copyright
- List of Tables
- List of Figures
- List of Listings
- Preface
- Companion Website
- Acknowledgments
- Part I: Assembly as a Language
-
Part II: Performance Mathematics
- Chapter 7: Integer Mathematics
- Chapter 8: Non-Integral Mathematics
-
Chapter 9: The ARM Vector Floating Point Coprocessor
- Abstract
- 9.1 Vector Floating Point Overview
- 9.2 Floating Point Status and Control Register
- 9.3 Register Usage Rules
- 9.4 Load/Store Instructions
- 9.5 Data Processing Instructions
- 9.6 Data Movement Instructions
- 9.7 Data Conversion Instructions
- 9.8 Floating Point Sine Function
- 9.9 Alphabetized List of VFP Instructions
- 9.10 Chapter Summary
- Exercises
-
Chapter 10: The ARM NEON Extensions
- Abstract
- 10.1 NEON Intrinsics
- 10.2 Instruction Syntax
- 10.3 Load and Store Instructions
- 10.4 Data Movement Instructions
- 10.5 Data Conversion
- 10.6 Comparison Operations
- 10.7 Bitwise Logical Operations
- 10.8 Shift Instructions
- 10.9 Arithmetic Instructions
- 10.10 Multiplication and Division
- 10.11 Pseudo-Instructions
- 10.12 Performance Mathematics: A Final Look at Sine
- 10.13 Alphabetized List of NEON Instructions
- 10.14 Chapter Summary
- Part III: Accessing Devices
- Index
Product information
- Title: Modern Assembly Language Programming with the ARM Processor
- Author(s):
- Release date: May 2016
- Publisher(s): Newnes
- ISBN: 9780128037164
You might also like
book
Raspberry Pi Assembly Language Programming: ARM Processor Coding
Gain all the skills required to dive into the fundamentals of the Raspberry Pi hardware architecture …
book
The Art of Assembly Language Programming Using PIC® Technology
The Art of Assembly Language Programming using PIC® Technology thoroughly covers assembly language as used in …
book
Modern X86 Assembly Language Programming: 32-bit, 64-bit, SSE, and AVX
shows the fundamentals of x86 assembly language programming. It focuses on the aspects of the x86 …
book
Modern Arm Assembly Language Programming: Covers Armv8-A 32-bit, 64-bit, and SIMD
Gain the fundamentals of Armv8-A 32-bit and 64-bit assembly language programming. This book emphasizes Armv8-A assembly …