ARM Instruction Reference

Use of r15

If you use r15 as Rn, the value used is the address of the instruction plus 8.

If you use r15 as Rd:

Execution branches to the address corresponding to the result.

If you use the S suffix, the SPSR of the current mode is copied to the CPSR. You can use this to return from exceptions (see the Handling Processor Exceptions chapter in ADS Developer Guide).

Caution

Do not use the S suffix when using r15 as Rd in User mode or System mode. The effect of such an instruction is unpredictable, but the assembler cannot warn you at assembly time.

You cannot use r15 for Rd or any operand in any data processing instruction that has a register-controlled shift (see Flexible second operand on page 4-24).

Architectures

These instructions are available in all versions of the ARM architecture.

Examples

MOV

r5,r2

MVNNE

r11,#0xF000000B

MOVS

r0,r0,ASR r3

Incorrect examples

MVN

r15,r3,ASR r0 ;

r15 not allowed with register

 

;

controlled shift

ARM DUI 0068B

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

4-33

Page 143
Image 143
ARM VERSION 1.2 manual Mvnne