1: Introduction
ARM720T CORE CPU MANUAL EPSON 1-7
1.3.2 ARM instruction setThis 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