ARM Assembly Language

ARM Assembly Language: Fundamentals and Techniques

Published:
Content:
Author(s):
Free Standard Shipping

Purchasing Options

Hardback
$96.95
ISBN 9781439806104
Cat# K10302
Add to cart
 

Features

  • Provides access to a fully functional evaluation version of the RealVeiw Microcrontroller Development Kit from Keil
  • Presents text, diagrams, and training materials produced by ARM
  • Reviews computing systems in general, with a brief history of ARM included in the discussion of RISC architecture
  • Details load and store instructions, along with methods for passing parameters to functions
  • Covers all required arithmetic operations, including an optional section on fractional notation
  • Provides a summary of all of the Version 4T instructions
  • Supplies a wide range of invaluable case studies and examples throughout the text, in addition to the wealth of material already available on the Web
  • Provides access to a fully functional evaluation version of the RealView Microcontroller Development Kit from Keil

Qualifying instructors can access a solutions manual, assembly language basics, problems, and actual code

Summary

Written by the director of ARM’s worldwide academic program, this volume gives computer science professionals and students an edge, regardless of their preferred coding language. For those with some basic background in digital logic and high-level programming, the book examines code relevant to hardware and peripherals found on today's microcontrollers and looks at situations all programmers will eventually encounter.

The book’s carefully chosen examples teach easily transferrable skills that will help readers optimize routines and significantly streamline coding, especially in the embedded space.

This book is easily adaptable for classroom use. Instructors can access features that include a solutions manual, assembly language basics, problems, and actual code. The book also provides access to a fully functional evaluation version of the RealView Microcontroller Development Kit from Keil.

While it is still an important skill, getting good instruction in assembly language is not easy. The availability of languages such as C and Java foster the belief that engineers and programmers need only address problems at the highest levels of a program's operation. Yet, even modern coding methods, when done well, require an understanding of basic assembly methods such as those gained by learning ARM. Certain features that are the product of today’s hardware, such as coprocessors or saturated math operations, can be accessed only through the hardware’s native instructions. For that matter, any programmer wishing to achieve results as exact as his or her intentions needs to possess a mastery of machine code basics as taught in the pages of this book.

Of the 13 billion microprocessor-based chips shipped in the last year, nearly 3 billion were ARM-based, making operational knowledge of ARM an essential component of any programmer’s tool kit. That it can be applied with most any language makes it invaluable.

Table of Contents

An Overview of Computing Systems

History of RISC

The Computing Device

Number Systems

Representations of Numbers and Characters

Translating Bits to Commands

The Tools

The ARM7 TDMI Programmer’s Model

Data Types

Processor Modes

Registers

Program Status Registers

The Vector Table

First Programs

Program 1: Shifting Data

Program 2: Factorial Calculation

Program 3: Swapping Register Contents

Programming Guidelines

Assembler Rules & Directives

Structure of Assembly Language Modules

Predefined Register Names

Frequently Used Directives

Macros

Miscellaneous Assembler Features

Loads, Stores and Addressing

Memory

Load and Stores—The Instructions

Operand Addressing

Endianness

Constants and Literal Pools

The ARM Rotation Scheme

Loading Constants into Registers

Loading Addresses into Registers

Logic and Arithmetic

Flags and Their Use

Comparison Instructions

Data Processing Instructions

Fractional Notation

Loops and Branches

Branching

Looping

More on Flags

Conditional Execution

Straight-Line Coding

Tables

Lookup Tables

Jump Tables

Binary Searches

Subroutines and Stacks

The Stack

Subroutines

Passing Parameters to Subroutines

The ARM APCS

Exception Handling

Interrupts

Error Conditions

Processor Exception Sequence

The Vector Table

Exception Handlers

Exception Priorities

Procedures for Handling Exceptions

Memory-Mapped Peripherals

The LPC2104

The LPC2132

THUMB

THUMB Instructions

Differences Between ARM and THUMB

THUMB Implementation and Use

How to Compile for THUMB

Mixing C and Assembly

Inline Assembler

Embedded Assembler

Calling Between C and Assembly

Appendix A: The ARM v4T Instruction Set

Appendix B: Running Keil Tools

Creating a Project and Selecting a Device

Creating Application Code

Building the Project and Running Code

Appendix C: ASCII character codes

Downloads / Updates

Resource OS Platform Updated Description Instructions
K10302_Downloads_Files.zip Cross Platform March 21, 2014

 
Textbooks
Other CRC Press Sites
Featured Authors
STAY CONNECTED
Facebook Page for CRC Press Twitter Page for CRC Press You Tube Channel for CRC Press LinkedIn Page for CRC Press Google Plus Page for CRC Press Pinterest Page for CRC Press
Sign Up for Email Alerts
© 2014 Taylor & Francis Group, LLC. All Rights Reserved. Privacy Policy | Cookie Use | Shipping Policy | Contact Us