Thumb Instruction Reference

If your system does not have a system coprocessor (cp15), or alignment checking is disabled:

A non-aligned load corrupts Rd.

A non-aligned save corrupts four bytes in memory. The corrupted location in memory is [address AND NOT b11].

Architectures

These instructions are available in all T variants of the ARM architecture.

Examples

LDR

r2,[pc,#1016]

LDR

r5,localdata

LDR

r0,[sp,#920]

STR

r1,[sp,#20]

Incorrect examples

LDR

r13,[pc,#8]

; Rd must be in range r0-r7

STR

r7,[pc,#64]

; there is no pc-relative STR instruction

STRH

r0,[sp,#16]

; there are

no pc- or sp-relative

 

 

; halfword or byte transfers

LDR

r2,[pc,#81]

; immediate

must be a multiple of four

LDR

r1,[pc,#-24]

; immediate

must not be negative

STR

r1,[sp,#1024] ; maximum immediate value is 1020

5-10

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

ARM DUI 0068B

Page 204
Image 204
ARM VERSION 1.2 manual R2,pc,#1016