Book description
This edition continues to support the popular ARM7TDMI, but also addresses the latest architectures from ARM, including the Cortex-A, Cortex-R, and Cortex-M processors. Containing three brand new chapters, a new appendix, and expanded coverage of the ARM7 this volume tackles IEEE 754 floating-point arithmetic, discusses both Keil MDK-ARM and Texas Instruments Code Composer Studio and provides a resource to be used alongside a variety of hardware evaluation modules, such as TI's Tiva Launchpad, STMicroelectronics' iNemo and Discovery, and NXP Semiconductors' Xplorer boards.
Table of contents
- Preface
- Acknowledgments
- Authors
- Chapter 1 - An Overview of Computing Systems
- Chapter 2 - The Programmer’s Model
-
Chapter 3 - Introduction to Instruction Sets: v4T and v7-M
- 3.1 Introduction
- 3.2 ARM, Thumb, and Thumb-2 Instructions
- 3.3 Program 1: Shifting Data
- 3.4 Program 2: Factorial Calculation
- 3.5 Program 3: Swapping Register Contents
- 3.6 Program 4: Playing with Floating-Point Numbers
- 3.7 Program 5: Moving Values between Integer and Floating-Point Registers
- 3.8 Programming Guidelines
- 3.9 Exercises
-
Chapter 4 - Assembler Rules and Directives
- 4.1 Introduction
- 4.2 Structure of Assembly Language Modules
- 4.3 Predefined Register Names
-
4.4 Frequently Used Directives
- 4.4.1 Defining a Block of Data or Code
- 4.4.2 Register Name Definition
- 4.4.3 Equating a Symbol to a Numeric Constant
- 4.4.4 Declaring an Entry Point
- 4.4.5 Allocating Memory and Specifying Contents
- 4.4.6 Aligning Data or Code to Appropriate Boundaries
- 4.4.7 Reserving a Block of Memory
- 4.4.8 Assigning Literal Pool Origins
- 4.4.9 Ending a Source File
- 4.5 Macros
- 4.6 Miscellaneous Assembler Features
- 4.7 Exercises
- Chapter 5 - Loads, Stores, and Addressing
- Chapter 6 - Constants and Literal Pools
- Chapter 7 - Integer Logic and Arithmetic
- Chapter 8 - Branches and Loops
-
Chapter 9 - Introduction to Floating-Point: Basics, Data Types, and Data Transfer
- 9.1 Introduction
- 9.2 A Brief History of Floating-Point in Computing
- 9.3 The Contribution of Floating-Point to the Embedded Processor
- 9.4 Floating-Point Data Types
- 9.5 The Space of Floating-Point Representable Values
- 9.6 Floating-Point Representable Values
- 9.7 The Floating-Point Register File of the Cortex-M4
- 9.8 FPU Control Registers
- 9.9 Loading Data into Floating-Point Registers
- 9.10 Conversions between Half-Precision and Single-Precision
- 9.11 Conversions to Non-Floating-Point Formats
- 9.12 Exercises
-
Chapter 10 - Introduction to Floating-Point: Rounding and Exceptions
- 10.1 Introduction
- 10.2 Rounding
- 10.3 Exceptions
- 10.4 Algebraic Laws and Floating-Point
- 10.5 Normalization and Cancelation
- 10.6 Exercises
- Chapter 11 - Floating-Point Data-Processing Instructions
- Chapter 12 - Tables
- Chapter 13 - Subroutines and Stacks
- Chapter 14 - Exception Handling: ARM7TDMI
- Chapter 15 - Exception Handling: v7-M
- Chapter 16 - Memory-Mapped Peripherals
- Chapter 17 - ARM, Thumb and Thumb-2 Instructions
- Chapter 18 - Mixing C and Assembly
- Appendix A: Running Code Composer Studio
- Appendix B: Running Keil Tools
- Appendix C: ASCII Character Codes
- Appendix D
- Glossary
- References
Product information
- Title: ARM Assembly Language, 2nd Edition
- Author(s):
- Release date: October 2014
- Publisher(s): CRC Press
- ISBN: 9781482229868
You might also like
video
ARM Assembly Language from Ground UpTM 1
ARM embedded assembly programming supports many of the devices that you use daily and if you …
book
The Art of Assembly Language, 2nd Edition
Assembly is a low-level programming language that's one step above a computer's native machine language. Although …
book
Programming with STM32: Getting Started with the Nucleo Board and C/C++
Create your own STM32 programs with ease! Get up and running programming the STM32 line of …
book
ARM 64-Bit Assembly Language
ARM 64-Bit Assembly Language carefully explains the concepts of assembly language programming, slowly building from simple …