UM10360 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2013. All rights reserved.
User manual Rev. 3 — 20 December 2013 837 of 841
continued >>
NXP Semiconductors
UM10360
Chapter 35: Supplementary information
33.7 JTAG TAP Identification . . . . . . . . . . . . . . . . 645
Chapter 34: Appendix: Cortex-M3 user guide
34.1 ARM Cortex-M3 User Guide: Introduction. . 646
34.1.1 About the processor and core peripherals . . 646
34.1.1.1 System level interface . . . . . . . . . . . . . . . . . 647
34.1.1.2 Integrated configurable debug . . . . . . . . . . . 647
34.1.1.3 Cortex-M3 processor features and benefits
summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
34.1.1.4 Cortex-M3 core peripherals . . . . . . . . . . . . . 648
34.2 ARM Cortex-M3 User Guide: Instruction Set 649
34.2.1 Instruction set summary . . . . . . . . . . . . . . . . 649
Note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .649
34.2.2 Intrinsic functions . . . . . . . . . . . . . . . . . . . . . 652
34.2.3 About the instruction descriptions. . . . . . . . . 652
34.2.3.1 Operands . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
34.2.3.2 Restrictions when using PC or SP . . . . . . . . 653
34.2.3.3 Flexible second operand . . . . . . . . . . . . . . . 653
34.2.3.3.1 Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
34.2.3.3.2 Register with optional shift . . . . . . . . . . . . . . 654
34.2.3.4 Shift Operations . . . . . . . . . . . . . . . . . . . . . . 654
34.2.3.4.1 ASR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
Note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .655
34.2.3.4.2 LSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
Note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .655
34.2.3.4.3 LSL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656
Note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .656
34.2.3.4.4 ROR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656
Note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .656
34.2.3.4.5 RRX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
34.2.3.5 Address alignment . . . . . . . . . . . . . . . . . . . . 657
34.2.3.6 PC-relative expressions . . . . . . . . . . . . . . . . 658
Note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .658
34.2.3.7 Conditional execution . . . . . . . . . . . . . . . . . . 658
34.2.3.7.1 The condition flags . . . . . . . . . . . . . . . . . . . . 659
34.2.3.7.2 Condition code suffixes . . . . . . . . . . . . . . . . 659
34.2.3.8 Instruction width selection. . . . . . . . . . . . . . . 660
34.2.3.8.1 Example: Instruction width selection . . . . . . 660
34.2.4 Memory access instructions . . . . . . . . . . . . . 661
34.2.4.1 ADR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
34.2.4.1.1 Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
34.2.4.1.2 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
34.2.4.1.3 Restrictions. . . . . . . . . . . . . . . . . . . . . . . . . . 662
34.2.4.1.4 Condition flags . . . . . . . . . . . . . . . . . . . . . . . 662
34.2.4.1.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
34.2.4.2 LDR and STR, immediate offset. . . . . . . . . . 663
34.2.4.2.1 Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663
34.2.4.2.2 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 663
34.2.4.2.3 Restrictions. . . . . . . . . . . . . . . . . . . . . . . . . . 664
34.2.4.2.4 Condition flags . . . . . . . . . . . . . . . . . . . . . . . 664
34.2.4.2.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 665
34.2.4.3 LDR and STR, register offset. . . . . . . . . . . . 666
34.2.4.3.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666
34.2.4.3.2 Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . 666
34.2.4.3.3 Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . 666
34.2.4.3.4 Condition flags. . . . . . . . . . . . . . . . . . . . . . . 667
34.2.4.3.5 Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . 667
34.2.4.4 LDR and STR, unprivileged . . . . . . . . . . . . . 668
34.2.4.4.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668
34.2.4.4.2 Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . 668
34.2.4.4.3 Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . 668
34.2.4.4.4 Condition flags. . . . . . . . . . . . . . . . . . . . . . . 668
34.2.4.4.5 Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . 669
34.2.4.5 LDR, PC-relative . . . . . . . . . . . . . . . . . . . . . 670
34.2.4.5.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670
34.2.4.5.2 Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . 670
34.2.4.5.3 Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . 670
34.2.4.5.4 Condition flags. . . . . . . . . . . . . . . . . . . . . . . 671
34.2.4.5.5 Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . 671
34.2.4.6 LDM and STM . . . . . . . . . . . . . . . . . . . . . . . 672
34.2.4.6.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672
34.2.4.6.2 Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . 672
34.2.4.6.3 Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . 673
34.2.4.6.4 Condition flags. . . . . . . . . . . . . . . . . . . . . . . 673
34.2.4.6.5 Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . 673
34.2.4.6.6 Incorrect examples . . . . . . . . . . . . . . . . . . . 673
34.2.4.7 PUSH and POP . . . . . . . . . . . . . . . . . . . . . . 674
34.2.4.7.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674
34.2.4.7.2 Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . 674
34.2.4.7.3 Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . 674
34.2.4.7.4 Condition flags. . . . . . . . . . . . . . . . . . . . . . . 674
34.2.4.7.5 Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . 674
34.2.4.8 LDREX and STREX. . . . . . . . . . . . . . . . . . . 675
34.2.4.8.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675
34.2.4.8.2 Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . 675
34.2.4.8.3 Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . 675
34.2.4.8.4 Condition flags. . . . . . . . . . . . . . . . . . . . . . . 676
34.2.4.8.5 Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . 676
34.2.4.9 CLREX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677
34.2.4.9.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677
34.2.4.9.2 Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . 677
34.2.4.9.3 Condition flags. . . . . . . . . . . . . . . . . . . . . . . 677
34.2.4.9.4 Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . 677
34.2.5 General data processing instructions. . . . . . 678
34.2.5.1 ADD, ADC, SUB, SBC, and RSB. . . . . . . . . 679
34.2.5.1.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679
34.2.5.1.2 Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . 679