Delivering a solid introduction to assembly language and embedded systems, ARM Assembly Language: Fundamentals and Techniques, Second Edition continues to support the popular ARM7TDMI, but also addresses the latest architectures from ARM, including Cortex™-A, Cortex-R, and Cortex-M processors—all of which have slightly different instruction sets, programmer’s models, and exception handling.
Featuring three brand-new chapters, a new appendix, and expanded coverage of the ARM7™, this edition:
- Discusses IEEE 754 floating-point arithmetic and explains how to program with the IEEE standard notation
- Contains step-by-step directions for the use of Keil™ MDK-ARM and Texas Instruments (TI) Code Composer Studio™
- 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
Written by experienced ARM processor designers, ARM Assembly Language: Fundamentals and Techniques, Second Edition covers the topics essential to writing meaningful assembly programs, making it an ideal textbook and professional reference.
Table of Contents
An Overview of Computing Systems. The Programmer’s Model. Introduction to Instruction Sets: v4T and v7-M. Assembler Rules and Directives. Loads, Stores, and Addressing. Constants and Literal Pools. Integer Logic and Arithmetic. Branches and Loops. Introduction to Floating-Point: Basics, Data Types, and Data Transfer. Introduction to Floating-Point: Rounding and Exceptions. Floating-Point Data-Processing Instructions. Tables. Subroutines and Stacks. Exception Handling: ARM7TDMI. Exception Handling: v7-M. Memory-Mapped Peripherals. ARM, Thumb and Thumb-2 Instructions. Mixing C and Assembly. Appendices. Glossary. References.
William Hohl held the position of worldwide university relations manager for ARM, based in Austin, Texas, for 10 years. In total, he was with ARM for nearly 15 years and began as a principal design engineer to help build the ARM1020 microprocessor. His travel and university lectures have taken him to over 40 countries on 5 continents, and he continues to lecture on low-power microcontrollers and assembly language programming. In addition to his engineering duties, he also held an adjunct faculty position in Austin from 1998 to 2004, teaching undergraduate mathematics. Before joining ARM, he worked at Motorola (now Freescale Semiconductor) in the ColdFire and 68040 design groups and at Texas Instruments as an applications engineer. He holds MSEE and BSEE degrees from Texas A&M University as well as six patents in the field of debug architectures.
Christopher Hinds has worked in the microprocessor design field for over 25 years, holding design positions at Motorola (now Freescale Semiconductor), AMD, and ARM. While at ARM, he was the primary author of the ARM VFP floating-point architecture and led the design of the ARM10 VFP, the first hardware implementation of the new architecture. He recently joined the Patents Group in ARM, identifying patentable inventions within the company and assisting in patent litigation. He holds BSEE and MSEE degrees from Texas A&M University and an M.Div from Oral Roberts University, where he worked to establish the School of Engineering, creating and teaching the first digital logic and microprocessor courses. He has numerous published papers and presentations on the floating-point architecture of ARM processors, and is a named inventor on over 30 US patents in the areas of floating-point implementation, instruction set design, and circuit design.
"Relaxed and informal, almost conversational, this writing style makes for comfortable reading that should appeal to everyone while breaking the tension of diving into the complexities of a modern multi-purpose microcontroller."
—Andrew Mason, Michigan State University, East Lansing, USA
"The authors are obviously authorities on the subject, and this shows clearly. The text is clearly written and easy to follow, with examples and analogies used to make understanding easier. Using Keil and the Tiva Launchpad should make it pretty easy to get the examples up and running on an actual Cortex-M as well as using a simulator."
—Craig A. Evans, University of Leeds, UK
"This book fills a void in the computer science literature."
—Don Evans, Southern Methodist University, Dallas, Texas, USA
"This text retains the ease of using the ARM7TDMI while moving the student [or reader] into the more capable Cortex-M4. …The addition of the Cortex-M4 makes this a much stronger text."
—Ralph Tanner, Western Michigan University, Kalamazoo, USA
"Assembly language programming is still the best way to learn about the internals of processors and this is one of a very few books that teaches that skill for ARM processors. It covers the necessary material in a well-organized manner. Updated for newer versions of ARM processors, it adds good material on floating-point arithmetic that was missing from the first edition."
—Ronald W. Mehler, California State University, Northridge, USA
"In general, this book contains most of the content that I generally cover in my introduction to computer organization course. It contains very nice exercises at the end of each chapter, and that is a plus when generating questions to help students grasp the concepts. …I look forward to a second edition, because I plan to continue using this book."
—Rose M. Lowe, Clemson University, South Carolina, USA