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

AND

r9,r2,#0xFF00

ORREQ

r2,r0,r5

EORS

r0,r0,r3,ROR r6

BICNES

r8,r10,r0,RRX

Incorrect example

EORS

r0,r15,r3,ROR r6

;

r15 not allowed with register

 

 

;

controlled shift

ARM DUI 0068B

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

4-31

Page 141
Image 141
ARM VERSION 1.2 manual Orreq