ARM Assembly Language: Fundamentals and Techniques, Third Edition explains in clear terms how ARM processors are programmed at the most fundamental level. While earlier editions covered much older architectures, the Third Edition moves entirely into the Cortex-M space, using the Armv8-M instruction set to illustrate how assembly code for the most modern Arm processors is written. Even if you are writing in JavaScript, Python, C++, C#, or Rust, these high-level programming languages require a compiler or interpreter to transform the code into machine-executable instructions, so software and hardware engineers will gain valuable insight into how their code is executing from knowing how the underlying processor functions.
Featuring chapters updated to Armv8-M throughout this book, this edition:
- Moves all examples into the Keil MDK environment, which uses armclang and a GNU-like syntax that is very popular in the industry
- Includes an appendix that helps students set up the Keil tools for use throughout this book
- Describes the IEEE 754 floating-point arithmetic supported by the Armv8-M processors implementing the optional Floating-Point Unit (FPU)
- Features an updated chapter on mixing C and assembly code together
- Discusses features and concepts found in the most advanced Arm processors, such as the Cortex-A and Cortex-X families using Armv9 architectures
Written by authors who each have more than 35 years of experience in the semiconductor industry, ARM Assembly Language: Fundamentals and Techniques, Third Edition makes an ideal textbook for students wanting to learn about microprocessors but who may possess only a basic knowledge of programming and logic.
William Hohl has held the position of program manager at Intel for 9 years, responsible for creating technical documentation used by various SoC teams. Throughout his 35‑year career, Mr. Hohl has also been with Texas Instruments, Arm, and Motorola, working in validation, design, applications, support, and management roles. At Arm, he held the position of Worldwide University Relations Manager for 10 years, traveling through 35 countries. In addition to his engineering duties, he held an adjunct faculty position in Austin from 1998 to 2004, teaching undergraduate mathematics. He holds MSEE and BSEE degrees from Texas A&M University as well as six patents in the field of debug architectures. Mr. Hohl now works full‑time from his ranch outside of Cameron, Texas.
Chris Hinds worked in the microprocessor field for over 35 years, designing floating‑point processors and participating in the development of the IEEE 754‑2008 specification. He held positions at Motorola, AMD, and recently retired from Arm. Prior to a career in industry, Mr. Hinds was on the faculty of Oral Roberts University in Tulsa, teaching courses in electronics, digital logic, and microprocessors. While at Arm, he was the primary author of the ARM VFP floating‑point architecture and led the design of the first of the Arm processors implementing IEEE‑754‑compliant floating‑point. His final role at Arm was as a distinguished engineer and director of Patent Engineering in the Arm Legal group. Mr. Hinds is a named inventor on over 60 U.S. patents and over 100 worldwide patents. He holds BSEE and MSEE degrees from Texas A&M University and a Master of Divinity from Oral Roberts University. He is the author of numerous published papers and presentations on the floating‑point architecture of Arm processors. He currently occupies his time preparing to teach a class in his local church, and traveling with his wife of 30 years.
Kevin Welton has worked with Arm processors since 1988 when he joined Acorn to work on a port of the 4.3 BSD kernel to their ARM2‑based desktop. He was invited to move to Arm in 1995 and has been there ever since. In his time at Arm, he has worked in a variety of software roles across the company, including leading the development of a software emulator, writing the first ports of SMP Linux to the Arm architecture, and working on early investigations into Arm’s big.LITTLE heterogeneous computing architecture. As one of the most experienced trainers in Arm, Mr. Welton has presented hundreds of training courses around the world, covering their full range of processor offerings and architecture variants from the 1990s to the present. He holds a BSc degree from the University of London and holds a patent in the field of multi‑processor power management.