1: Introduction

ARM720T CORE CPU MANUAL EPSON 1-7

1.3.2 ARM instruction set

This section gives an overview of the ARM instructions available. For full details of these

instructions, see the

ARM Architecture Reference Manual

.

The ARM instruction set formats are shown in Figure 1-3.

Figure 1-3 ARM instruction set formats

Note: Some instruction codes are not defined but do not cause the Undefined instruction

trap to be taken, for example, a multiply instruction with bit 6 set. You must not

use these instructions, because their action might change in future ARM

implementations.

Dataprocessing
immediate
Multiplylong
Load/storehalfword/
signedbyte
Load/storehalfword/
signedbyte
Load/storemultiple
Branchand branch with
link
Coprocessorload and
store
Coprocessordata
processing
Coprocessorregister
transfers
Softwareinterrupt
0
0
0
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
P
P
P
0
0
1
1
U
U
U
0
1
A
W
W
S
L
L
P U S W L
Multiply
0 0 0 0 0 0 A S
L24_bit_offset
Rd
RdHi
Rn
Rn
Rn
U N W L Rn
op1
op1
swi_number
L
Rn
RdLo
Rd
Rd
Register list
Rs
CRn
CRn
CRd
CRd
Rd
cp_num
cp_num
cp_num
Rn
1 0 0 1
1 0 0 1
SBZ 1 S H 1
High offset 1 S H 1
Rm
Rm
Rm
Rm
Low offset
8_bit_offset
op2
op2
0
1
CRm
CRm
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Dataprocessing
immediateshift
0 0 0 opcode SRn Rd shift immediate shift 0Rm
Dataprocessing register
shift
0 0 0 opcode SRn Rd Rs shift 1Rm0
Movefrom status register
0 0 0 1 0 R 0 0 SBO Rd SBZ
Moveimmediate to status
register
0 0 1 1 0 R 1 0 Mask SBO rotate immediate
Moveregister to status
register
0 0 0 1 0 R 1 0 Mask SBO SBZ Rm0
Branch/exchange
instructionset
0 0 0 1 0 0 1 0 SBO SBO SBO Rm10 0 0
Load/storeimmediate
offset
0 1 0 P U B W L Rn Rd immediate
Load/storeregister offset
0 1 1 P U B W L Rn Rd shift immediate shift 0
Swap/swapbyte
000 1 0 B 0 0 Rn Rd 1 0 0 1SBZ Rm
Undefined
cond
cond
cond
cond
cond
cond
cond
cond
cond
cond
cond
cond
cond
cond
cond
cond
cond
cond
cond
0 0 1 op SRn Rd rotate immediatecond
0 1 1 x 1x x x x x x x x x x x x x x x x x x x x x x xcond