ARM Assembly Language: Fundamentals and Techniques / Edition 1

ARM Assembly Language: Fundamentals and Techniques / Edition 1

by William Hohl
     
 

View All Available Formats & Editions

ISBN-10: 1439806101

ISBN-13: 9781439806104

Pub. Date: 03/13/2009

Publisher: Taylor & Francis

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

Overview

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.

Product Details

ISBN-13:
9781439806104
Publisher:
Taylor & Francis
Publication date:
03/13/2009
Edition description:
New Edition
Pages:
372
Product dimensions:
6.30(w) x 9.30(h) x 0.90(d)

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

Customer Reviews

Average Review:

Write a Review

and post it to your social network

     

Most Helpful Customer Reviews

See all customer reviews >