ARM指令列表(部分)

指令功能
ADC进位的32位数加法
ADD32位数相加
AND32位数的逻辑与
B在32M空间内的相对跳转指令
BEQ相等则跳转(Branch if EQual)
BNE不相等则跳转(Branch if Not Equal)
BGE大于或等于跳转(Branch if Greater than or Equa)
BGT大于跳转(Branch if Greater Than)
BIC32位数的逻辑位清零
BKPT断点指令
BL带链接的相对跳转指令
BLE小于或等于跳转(Branch if Less than or Equal)
BLEQ带链接等于跳转(Branch with Link if EQual)
BLLT带链接小于跳转(Branch with Link if Less Than)
BLT小于跳转(Branch if Less Than)
BLX带链接的切换跳转
BX切换跳转
CDP CDP2协处理器数据处理操作
CLZ零计数
CMN比较两个数的相反数
CMP32位数比较
EOR32位逻辑异或
LDC LDC2从协处理器取一个或多个32位值
LDM从内存送多个32位字到ARM寄存器
LDR从虚拟地址取一个单个的32位值
MCR MCR2 MCRR从寄存器送数据到协处理器
MLA32位乘累加
MOV传送一个32位数到寄存器
MRC MRC2 MRRC从协处理器传送数据到寄存器
MRS把状态寄存器的值送到通用寄存器
MSR把通用寄存器的值传送到状态寄存器
MUL32位乘
MVN把一个32位数的逻辑“非”送到寄存器
ORR32位逻辑或
PLD预装载提示指令
QADD有符号32位饱和加
QDADD有符号双32位饱和加
QSUB有符号32位饱和减
QDSUB有符号双32位饱和减
RSB逆向32位减法
RSC带进位的逆向32法减法
SBC带进位的32位减法
SMLAxy有符号乘累加(16位*16位)+32位=32位
SMLAL64位有符号乘累加((32位*32位)+64位=64位)
SMALxy64位有符号乘累加((32位*32位)+64位=64位)
SMLAWy号乘累加((32位*16位)>>16位)+32位=32位
SMULL64位有符号乘累加(32位*32位)=64位
SMULxy有符号乘(16位*16位=32位)
SMULWy有符号乘(32位*16位>>16位=32位)
STC STC2从协处理器中把一个或多个32位值存到内存
STM把多个32位的寄存器值存放到内存
STR把寄存器的值存到一个内存的虚地址内间
SUB32位减法
SWI软中断
SWP把一个字或者一个字节和一个寄存器值交换
TEQ等值测试
TST位测试
UMLAL64位无符号乘累加((32位*32位)+64位=64位)
UMULL64位无符号乘累加(32位*32位)=64位
  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值