Transcription of ARM Architecture Reference Manual Thumb-2 Supplement
1 Copyright 2004, 2005 ARM Limited. All rights DDI 0308 DARM ArchitectureReference ManualThumb-2 Supplement iiCopyright 2004, 2005 ARM Limited. All rights DDI 0308 DARM Architecture Reference ManualCopyright 2004, 2005 ARM Limited. All rights InformationThe following changes have been made to this NoticeARM, the ARM Powered logo, Thumb, and StrongARM are registered trademarks of ARM ARM logo, AMBA, Angel, ARMulator, EmbeddedICE, ModelGen, Multi-ICE, PrimeCell, ARM7 TDMI, ARM7 TDMI-S, ARM9 TDMI, ARM9E-S, ETM7, ETM9, TDMI, STRONG, are trademarks of ARM other products or services mentioned herein may be trademarks of their respective product described in this document is subject to continuous developments and improvements.
2 All particulars of the product and its use contained in this document are given by ARM in good 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) integrated circuits which incorporate a microprocessor core manufactured under licence from ARM.
3 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 Manual ; or (ii) develop or have developed models of any microprocessor cores designed by or for ARM.
4 Or (iii) distribute in whole or in part this ARM Architecture Reference Manual to third parties without the express written permission of ARM; or (iv) translate or have translated this ARM Architecture Reference Manual into any other 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 HistoryDateIssueChangeDecember 2004 AFirst releaseApril 2005 CUpdated to incorporate corrections to errataDecember 2005 DUpdated for unified assembler syntax.
5 ARM DDI 0308 DCopyright 2004, 2005 ARM Limited. All rights 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 2004, 2005 ARM limited110 Fulbourn Road Cambridge, England CB1 9 NJRestricted Rights Legend: Use, duplication or disclosure by the United States Government is subject to the restrictions set forth in DFARS (c)(1)(ii) and FAR right to use and copy this document is subject to the licence set out above.
6 IvCopyright 2004, 2005 ARM Limited. All rights DDI 0308 DARM DDI 0308 DCopyright 2004, 2005 ARM Limited. All rights Architecture Reference Manual Thumb-2 SupplementPrefaceAbout this Manual .. viiiUnified Assembler Language .. ixUsing this Manual .. xConventions .. xiFurther reading .. xiiFeedback .. xiiiChapter 1 Introduction to Thumb-2 .. to Thumb assembly language syntax .. 32-bit Thumb instructions .. 16-bit Thumb instructions .. 32-bit ARM instructions .. instructions .. Architecture constraints .. 1-9 Chapter 2 Programmers program status register fields.
7 To exception handling .. 2-4 ContentsviCopyright 2004, 2005 ARM Limited. All rights DDI fast interrupt support .. and reset handling in Thumb state .. access support .. support .. stores and exclusive access .. divide support .. 2-15 Chapter 3 The Thumb Instruction set encoding .. encoding for 16-bit Thumb instructions .. encoding for 32-bit Thumb instructions .. execution .. and UNPREDICTABLE instruction set space .. of 0b1111 as a register specifier in 32-bit encodings .. of 0b1101 as a register specifier .. and VFP support.
8 3-43 Chapter 4 Thumb of instruction descriptions .. constants .. shifts applied to a register .. accesses .. hints .. list of Thumb instructions .. 4-15 Chapter 5 New ARM list of new ARM instructions .. 5-2 Appendix APseudo-code encoding diagrams and pseudo-code .. Types .. and built-in functions .. and program structure .. procedures and functions .. A-22 GlossaryARM DDI 0308 DCopyright 2004, 2005 ARM Limited. All rights preface describes the contents of this Manual , then lists the conventions and terminology it uses.
9 About this Manual on page viii Unified Assembler Language on page ix Using this Manual on page x Conventions on page xi Further reading on page xii Feedback on page viiiCopyright 2004, 2005 ARM Limited. All rights DDI 0308 DAbout this manualThe purpose of this Manual is to describe Thumb -2, its Instruction Set Architecture (ISA), and the changes to the programmers model it introduces. This Manual also describes the extensions to the ARM ISA introduced at the same time. Thumb-2 is a superset of the ARMv6 Thumb ISA described in the ARM Architecture Reference Manual (ARM DDI 0100).
10 Thumb-2 extends the Thumb Architecture by adding the following: A substantial number of new 32-bit Thumb instructions. These cover most of the functionality of the ARM instruction set. The main omission is the absence of a condition field in almost all Thumb instructions. Several new 16-bit Thumb instructions. One of these, the IT (If Then) instruction, provides an efficient alternative mechanism for conditional also extends the ARM ISA by adding a small number of new ARM instructions, and some additional variants of the ARM LDR and STR instructions. The additions provide ARM equivalents of instructions supported in the Thumb instruction precise effects of each new instruction are described, including any restrictions on its use.