2 overview of the arm architecture, 1 architecture versions, 2 arm and thumb state – ARM VERSION 1.2 User Manual

Page 15: Overview of the arm architecture -3

Advertising
background image

Writing ARM and Thumb Assembly Language

ARM DUI 0068B

Copyright © 2000, 2001 ARM Limited. All rights reserved.

2-3

2.2

Overview of the ARM architecture

This section gives a brief overview of the ARM architecture.

ARM processors are typical of RISC processors in that they implement a load/store
architecture. Only load and store instructions can access memory. Data processing
instructions operate on register contents only.

2.2.1

Architecture versions

The information and examples in this book assume that you are using a processor that
implements ARM architecture v3 or above. See ARM Architecture Reference Manual
for details of the various architecture versions.

All these processors have a 32-bit addressing range.

2.2.2

ARM and Thumb state

ARM architecture versions v4T and above define a 16-bit instruction set called the
Thumb instruction set. The functionality of the Thumb instruction set is a subset of the
functionality of the 32-bit ARM instruction set. Refer to Thumb instruction set overview
on page 2-9 for
more information.

A processor that is executing Thumb instructions is operating in Thumb state. A
processor that is executing ARM instructions is operating in ARM state.

A processor in ARM state cannot execute Thumb instructions, and a processor in
Thumb state cannot execute ARM instructions. You must ensure that the processor
never receives instructions of the wrong instruction set for the current state.

Each instruction set includes instructions to change processor state.

You must also switch the assembler mode to produce the correct opcodes using

CODE16

and

CODE32

directives. Refer to CODE16 and CODE32 on page 7-54 for details.

ARM processors always start executing code in ARM state.

Advertising