© 2020

Programming with 64-Bit ARM Assembly Language

Single Board Computer Development for Raspberry Pi and Mobile Devices


Table of contents

  1. Front Matter
    Pages i-xxv
  2. Stephen Smith
    Pages 1-27
  3. Stephen Smith
    Pages 29-57
  4. Stephen Smith
    Pages 59-85
  5. Stephen Smith
    Pages 87-107
  6. Stephen Smith
    Pages 109-133
  7. Stephen Smith
    Pages 135-159
  8. Stephen Smith
    Pages 161-176
  9. Stephen Smith
    Pages 177-201
  10. Stephen Smith
    Pages 203-224
  11. Stephen Smith
    Pages 225-248
  12. Stephen Smith
    Pages 249-267
  13. Stephen Smith
    Pages 269-289
  14. Stephen Smith
    Pages 291-306
  15. Stephen Smith
    Pages 307-325
  16. Stephen Smith
    Pages 327-346
  17. Stephen Smith
    Pages 347-366
  18. Back Matter
    Pages 367-428

About this book


Mastering ARM hardware architecture opens a world of programming for nearly all phones and tablets including the iPhone/iPad and most Android phones. It’s also the heart of many single board computers like the Raspberry Pi. Gain the skills required to dive into the fundamentals of the ARM hardware architecture with this book and start your own projects while you develop a working knowledge of assembly language for the ARM 64-bit processor.

You'll review assembly language programming for the ARM Processor in 64-bit mode and write programs for a number of single board computers, including the Nvidia Jetson Nano and the Raspberry Pi (running 64-bit Linux). The book also discusses how to target assembly language programs for Apple iPhones and iPads along with 64-Bit ARM based Android phones and tablets. It covers all the tools you require, the basics of the ARM hardware architecture, all the groups of ARM 64-Bit Assembly instructions, and how data is stored in the computer’s memory. In addition, interface apps to hardware such as the Raspberry Pi’s GPIO ports. The book covers code optimization, as well as how to inter-operate with C and Python code. 

With Programming with 64-Bit ARM Assembly Language as your guide you’ll study how to read, reverse engineer and hack machine code, then be able to apply these new skills to study code examples and take control of both your ARM devices’ hardware and software.

You will:
  • Make operating system calls from assembly language and include other software libraries in your projects
  • Interface apps to hardware devices such as the Raspberry Pi GPIO ports
  • Reverse engineer and hack code
  • Use the official ARM reference documentation for your own projects


ARM Processor ARM64 Architecture ARM64 Optimization ARM64 Programming Tools ARM64 Low Level Data Storage Hacking ARM64 Code Accessing Raspberry Pi Hardware Interfacing Assembly Language with C and Python Using ARM Reference Documentation ARM 64-Bit Assembly Language Programming Assembly Language Programming Reverse Engineering

Authors and affiliations

  1. 1.GibsonsCanada

About the authors

Stephen Smith is a retired Software Architect, located in Gibsons, BC, Canada. He's been developing software since high-school, or way too many years to record. Since retiring he has pursued Artificial Intelligence programming, earned his Advanced HAM Radio License and enjoys mountain biking, hiking, and nature photography. He continues to write his popular technology blog at

Bibliographic information

Industry Sectors
IT & Software