ARM Assembly Language
eBook - ePub

ARM Assembly Language

Fundamentals and Techniques, Second Edition

  1. 453 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

ARM Assembly Language

Fundamentals and Techniques, Second Edition

About this book

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, p

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access ARM Assembly Language by William Hohl,Christopher Hinds in PDF and/or ePUB format, as well as other popular books in Computer Science & Computer Engineering. We have over one million books available in our catalogue for you to explore.

Information

Chapter 1

An Overview of Computing Systems

1.1 Introduction

Most users of cellular telephones don’t stop to consider the enormous amount of effort that has gone into designing an otherwise mundane object. Lurking beneath the display, below the user’s background picture of his little boy holding a balloon, lies a board containing circuits and wires, algorithms that took decades to refine and implement, and software to make it all work seamlessly together. What exactly is happening in those circuits? How do such things actually work? Consider a modern tablet, considered a fictitious device only years ago, that displays live television, plays videos, provides satellite navigation, makes international Skype calls, acts as a personal computer, and contains just about every interface known to man (e.g., USB, Wi-Fi, Bluetooth, and Ethernet), as shown in Figure 1.1. Gigabytes of data arrive to be viewed, processed, or saved, and given the size of these hand-held devices, the burden of efficiency falls to the designers of the components that lie within them.
Figure 1.1
Image of Handheld wireless communicator.
Handheld wireless communicator.
Underneath the screen lies a printed circuit board (PCB) with a number of individual components on it and probably at least two system-on-chips (SoCs). A SoC is nothing more than a combination of processors, memory, and graphics chips that have been fabricated in the same package to save space and power. If you further examine one of the SoCs, you will find that within it are two or three specialized microprocessors talking to graphics engines, floating-point units, energy management units, and a host of other devices used to move information from one device to another. The Texas Instruments (TI) TMS320DM355 is a good example of a modern SoC, shown in Figure 1.2.
Figure 1.2
Image of The TMS320DM355 System-on-Chip from Texas Instruments. (From Texas Instruments. With permission.)
The TMS320DM355 System-on-Chip from Texas Instruments. (From Texas Instruments. With permission.)
System-on-chip designs are becoming increasingly sophisticated, where engineers are looking to save both money and time in their designs. Imagine having to produce the next generation of our hand-held device—would it be better to reuse some of our design, which took nine months to build, or throw it out and spend another three years building yet another, different SoC? Because the time allotted to designers for new products shortens by the increasing demand, the trend in industry is to take existing designs, especially designs that have been tested and used heavily, and build new products from them. These tested designs are examples of ā€œintellectual propertyā€ā€”designs and concepts that can be licensed to other companies for use in large projects. Rather than design a microprocessor from scratch, companies will take a known design, something like a Cortex-A57 from ARM, and build a complex system around it. Moreover, pieces of the project are often designed to comply with certain standards ...

Table of contents

  1. Preface
  2. Acknowledgments
  3. Authors
  4. Chapter 1 - An Overview of Computing Systems
  5. Chapter 2 - The Programmer’s Model
  6. Chapter 3 - Introduction to Instruction Sets: v4T and v7-M
  7. Chapter 4 - Assembler Rules and Directives
  8. Chapter 5 - Loads, Stores, and Addressing
  9. Chapter 6 - Constants and Literal Pools
  10. Chapter 7 - Integer Logic and Arithmetic
  11. Chapter 8 - Branches and Loops
  12. Chapter 9 - Introduction to Floating-Point: Basics, Data Types, and Data Transfer
  13. Chapter 10 - Introduction to Floating-Point: Rounding and Exceptions
  14. Chapter 11 - Floating-Point Data-Processing Instructions
  15. Chapter 12 - Tables
  16. Chapter 13 - Subroutines and Stacks
  17. Chapter 14 - Exception Handling: ARM7TDMI
  18. Chapter 15 - Exception Handling: v7-M
  19. Chapter 16 - Memory-Mapped Peripherals
  20. Chapter 17 - ARM, Thumb and Thumb-2 Instructions
  21. Chapter 18 - Mixing C and Assembly
  22. Appendix A: Running Code Composer Studio
  23. Appendix B: Running Keil Tools
  24. Appendix C: ASCII Character Codes
  25. Appendix D
  26. Glossary
  27. References