Copyright © 1996-1998, 2000, 2004, 2005 ARM Limited. All rights reserved.
ARM DDI 0100I
ARM Architecture
Reference Manual
ii Copyright © 1996-1998, 2000, 2004, 2005 ARM Limited. All rights reserved. ARM DDI 0100I
ARM Architecture Reference Manual
Copyright © 1996-1998, 2000, 2004, 2005 ARM Limited. All rights reserved.
Release Information
The following changes have been made to this document.
Proprietary Notice
ARM, the ARM Powered logo, Thumb, and StrongARM are registered trademarks of ARM Limited.
The ARM logo, AMBA, Angel, ARMulator, EmbeddedICE, ModelGen, Multi-ICE, PrimeCell, ARM7TDMI,
ARM7TDMI-S, ARM9TDMI, ARM9E-S, ETM7, ETM9, TDMI, STRONG, are trademarks of ARM Limited.
All other products or services mentioned herein may be trademarks of their respective owners.
The product described in this document is subject to continuous developments and improvements. All particulars of the
product and its use contained in this document are given by ARM in good faith.
1. Subject to the provisions set out below, ARM hereby grants to you a perpetual, non-exclusive, nontransferable, royalty
free, worldwide licence to use this ARM Architecture Reference Manual for the purposes of developing; (i) software
applications or operating systems which are targeted to run on microprocessor cores distributed under licence from ARM;
(ii) tools which are designed to develop software programs which are targeted to run on microprocessor cores distributed
under licence from ARM; (iii) or having developed integrated circuits which incorporate a microprocessor core
manufactured under licence from ARM.
2. Except as expressly licensed in Clause 1 you acquire no right, title or interest in the ARM Architecture Reference
Manual, or any Intellectual Property therein. In no event shall the licences granted in Clause 1, be construed as granting
you expressly or by implication, estoppel or otherwise, licences to any ARM technology other than the ARM Architecture
Reference Manual. The licence grant in Clause 1 expressly excludes any rights for you to use or take into use any ARM
patents. No right is granted to you under the provisions of Clause 1 to; (i) use the ARM Architecture Reference Manual
for the purposes of developing or having developed microprocessor cores or models thereof which are compatible in
whole or part with either or both the instructions or programmer's models described in this ARM Architecture Reference
Change History
Date Issue Change
February 1996 A First edition
July 1997 B Updated and index added
April 1998 C Updated
February 2000 D Updated for ARM architecture v5
June 2000 E Updated for ARM architecture v5TE and corrections to Part B
July 2004 F Updated for ARM architecture v6 (Confidential)
December 2004 G Updated to incorporate corrections to errata
March 2005 H Updated to incorporate corrections to errata
July 2005 I Updated to incorporate corrections to pseudocode and graphics
ARM DDI 0100I Copyright © 1996-1998, 2000, 2004, 2005 ARM Limited. All rights reserved. iii
Manual; or (ii) develop or have developed models of any microprocessor cores designed by or for ARM; or (iii) distribute
in whole or in part this ARM Architecture Reference Manual to third parties, other than to your subcontractors for the
purposes of having developed products in accordance with the licence grant in Clause 1 without the express written
permission of ARM; or (iv) translate or have translated this ARM Architecture Reference Manual into any other
languages.
3.THE ARM ARCHITECTURE REFERENCE MANUAL IS PROVIDED "AS IS" WITH NO WARRANTIES
EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF
SATISFACTORY QUALITY, NONINFRINGEMENT OR FITNESS FOR A PARTICULAR PURPOSE.
4. No licence, express, implied or otherwise, is granted to LICENSEE, under the provisions of Clause 1, to use the ARM
tradename, in connection with the use of the ARM Architecture Reference Manual or any products based thereon.
Nothing in Clause 1 shall be construed as authority for you to make any representations on behalf of ARM in respect of
the ARM Architecture Reference Manual or any products based thereon.
Copyright ©
1996-1998, 2000, 2004, 2005 ARM limited
110 Fulbourn Road Cambridge, England CB1 9NJ
Restricted Rights Legend: Use, duplication or disclosure by the United States Government is subject to the restrictions
set forth in DFARS 252.227-7013 (c)(1)(ii) and FAR 52.227-19
This document is Non-Confidential. The right to use, copy and disclose this document is subject to the licence set out
above.
iv Copyright © 1996-1998, 2000, 2004, 2005 ARM Limited. All rights reserved. ARM DDI 0100I
ARM DDI 0100I Copyright © 1996-1998, 2000, 2004, 2005 ARM Limited. All rights reserved. v
Contents
ARM Architecture Reference Manual
Preface
About this manual ................................................................................ xii
Architecture versions and variants ...................................................... xiii
Using this manual .............................................................................. xviii
Conventions ........................................................................................ xxi
Further reading .................................................................................. xxiii
Feedback .......................................................................................... xxiv
Part A CPU Architecture
Chapter A1 Introduction to the ARM Architecture
A1.1 About the ARM architecture ............................................................. A1-2
A1.2 ARM instruction set .......................................................................... A1-6
A1.3 Thumb instruction set ..................................................................... A1-11
Chapter A2 Programmers’ Model
A2.1 Data types ........................................................................................ A2-2
A2.2 Processor modes ............................................................................. A2-3
A2.3 Registers .......................................................................................... A2-4
A2.4 General-purpose registers ............................................................... A2-6
A2.5 Program status registers ................................................................ A2-11