The Cortex-M4 Instruction Set
ARM DUI 0553A
Copyright © 2010 ARM. All rights reserved.
3-3
ID121610
Non-Confidential
DMB
-
Data Memory Barrier
-
DSB
-
Data Synchronization Barrier
-
EOR, EORS
{Rd,} Rn, Op2
Exclusive OR
N,Z,C
ISB
-
Instruction Synchronization Barrier
-
IT
-
If-Then condition block
-
LDM
Rn{!}, reglist
Load Multiple registers, increment after
-
LDMDB, LDMEA
Rn{!}, reglist
Load Multiple registers, decrement before
-
LDMFD, LDMIA
Rn{!}, reglist
Load Multiple registers, increment after
-
LDR
Rt, [Rn, #offset]
Load Register with word
-
LDRB, LDRBT
Rt, [Rn, #offset]
Load Register with byte
-
LDRD
Rt, Rt2, [Rn, #offset]
Load Register with two bytes
-
LDREX
Rt, [Rn, #offset]
Load Register Exclusive
-
LDREXB
Rt, [Rn]
Load Register Exclusive with Byte
-
LDREXH
Rt, [Rn]
Load Register Exclusive with Halfword
-
LDRH, LDRHT
Rt, [Rn, #offset]
Load Register with Halfword
-
LDRSB, LDRSBT
Rt, [Rn, #offset]
Load Register with Signed Byte
-
LDRSH, LDRSHT
Rt, [Rn, #offset]
Load Register with Signed Halfword
-
LDRT
Rt, [Rn, #offset]
Load Register with word
-
LSL, LSLS
Rd, Rm, <Rs|#n>
Logical Shift Left
N,Z,C
LSR, LSRS
Rd, Rm, <Rs|#n>
Logical Shift Right
N,Z,C
MLA
Rd, Rn, Rm, Ra
Multiply with Accumulate, 32-bit result
-
MLS
Rd, Rn, Rm, Ra
Multiply and Subtract, 32-bit result
-
MOV, MOVS
Rd, Op2
Move
N,Z,C
MOVT
Rd, #imm16
Move Top
-
MOVW, MOV
Rd, #imm16
Move 16-bit constant
N,Z,C
MRS
Rd, spec_reg
Move from Special Register to general register
-
MSR
spec_reg, Rm
Move from general register to Special Register
N,Z,C,V
MUL, MULS
{Rd,} Rn, Rm
Multiply, 32-bit result
N,Z
MVN, MVNS
Rd, Op2
Move NOT
N,Z,C
NOP
-
No Operation
-
ORN, ORNS
{Rd,} Rn, Op2
Logical OR NOT
N,Z,C
ORR, ORRS
{Rd,} Rn, Op2
Logical OR
N,Z,C
PKHTB
,
PKHBT
{Rd,} Rn, Rm, Op2
Pack Halfword
-
Table 3-1 Cortex-M4 instructions (continued)
Mnemonic
Operands
Brief description
Flags
Page