ARM Instruction Reference
ARM DUI 0068B
Copyright © 2000, 2001 ARM Limited. All rights reserved.
4-31
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