Introduction
ARM DDI 0301H
Copyright © 2004-2009 ARM Limited. All rights reserved.
1-37
ID012310
Non-Confidential, Unrestricted Access
Alternative
coprocessor
Data operations
CDP2 <cp_num>, <op1>, <CRd>, <CRn>, <CRm>{, <op2>}
Move to ARM reg from coproc
MRC2 <cp_num>, <op1>, <Rd>, <CRn>, <CRm>{, <op2>}
Move to coproc from ARM reg
MCR2 <cp_num>, <op1>, <Rd>, <CRn>, <CRm>{, <op2>}
Move double to ARM reg
from coproc
MRRC2 <cp_num>, <op1>, <Rd>, <Rn>, <CRm>
Move double to coproc
from ARM reg
MCRR2 <cp_num>, <op1>, <Rd>, <Rn>, <CRm>
Load
LDC2 <cp_num>, <CRd>, <a_mode5>
Store
STC2 <cp_num>, <CRd>, <a_mode5>
Supervisor call
SVC{cond} <immed_24>
Secure Monitor call
SMC{cond} <immed_16>
Software breakpoint
BKPT <immed_16>
Parallel add
/subtract
Signed add high 16 + 16,
low 16 + 16, set GE flags
SADD16{cond} <Rd>, <Rn>, <Rm>
Saturated add high 16 + 16,
low 16 + 16
QADD16{cond} <Rd>, <Rn>, <Rm>
Signed high 16 + 16, low 16 + 16,
halved
SHADD16{cond} <Rd>, <Rn>, <Rm>
Unsigned high 16 + 16, low 16 +
16, set GE flags
UADD16{cond} <Rd>, <Rn>, <Rm>
Saturated unsigned high 16 + 16,
low 16 + 16
UQADD16{cond} <Rd>, <Rn>, <Rm>
Unsigned high 16 + 16,
low 16 + 16, halved
UHADD16{cond} <Rd>, <Rn>, <Rm>
Signed high 16 + low 16,
low 16 - high 16, set GE flags
SADDSUBX{cond} <Rd>, <Rn>, <Rm>
Saturated high 16 + low 16,
low 16 - high 16
QADDSUBX{cond} <Rd>, <Rn>, <Rm>
Signed high 16 + low 16,
low 16 - high 16, halved
SHADDSUBX{cond} <Rd>, <Rn>, <Rm>
Unsigned high 16 + low 16,
low 16 - high 16, set GE flags
UADDSUBX{cond} <Rd>, <Rn>, <Rm>
Saturated unsigned
high 16 + low 16, low 16 - high 16
UQADDSUBX{cond} <Rd>, <Rn>, <Rm>
Unsigned high 16 + low 16,
low 16 - high 16, halved
UHADDSUBX{cond} <Rd>, <Rn>, <Rm>
Signed high 16 - low 16,
low 16 + high 16, set GE flags
SSUBADDX{cond} <Rd>, <Rn>, <Rm>
Table 1-7 ARM instruction set summary (continued)
Operation
Assembler