ASR
BIC
CMN
CMP
CPY
EOR
LSL
LSR
MOV
MUL
MVN
NEG
ORR
ROR
SBC
SUB
TST
REV
REVH
REVSH
SXTB
SXTH
UXTB
UXTH
带进位加法
加法
按位与。这里的按位与和
C
的
”&”
功能相同
算术右移
按位清
0
(把一个数跟另一个无符号数的反码按位与)
负向比较(把一个数跟另一个数据的二进制补码相比较)
比较(比较两个数并且更新标志)
把一个寄存器的值拷贝到另一个寄存器中
近位异或
逻辑左移(如无其它说明,所有移位操作都可以一次移动多格)
逻辑右移
寄存器加载数据,既能用于寄存器间的传输,也能用于加载立即数
乘法
加载一个数的
NOT
值(取到逻辑反的值)
取二进制补码
按位或
圆圈右移
带借位的减法
减法
测试(执行按位与操作,并且根据结果更新
Z
)
在一个
32
位寄存器中反转字节序
把一个
32
位寄存器分成两个
16
位数,在每个
16
位数中反转字节序
把一个
32
位寄存器的低
16
位半字进行字节反转,然后带符号扩展到
32
位
带符号扩展一个字节到
32
位
带符号扩展一个半字到
32
位
无符号扩展一个字节到
32
位
无符号扩展一个半字到
32
位
指令
功能
B
B
BL
BLX
CBZ
无条件转移
条件转移
转移并链接。用于呼叫一个子程序,返回地址被存储在
LR
中
使用立即数的
BLX
不要在
ARM Cortex-M4
中使用
比较,如果结果为
0
就转移(只能跳到后面的指令)
表
1 16
位数据操作指令
表
2 16
位转移指令