ARM指令集详解

ARM指令集详解
1.跳转指令:
B 不带返回
BL 带返回跳转
BLX 带返回和状态切换
BX 带状态切换
MOV LR, PC 全局跳转

2.数据处理指令:
MOV 数据传送
MVN 数据取反传送
CMP 比较指令(更新CPSR)
CMN 反值比较
TST 位测试(根据按位与运算更新CPSR)
TEQ 相等测试(根据按位异或结果更新CPSR)
ADD 加
ADC 带进位加
SUB 减法指令
SBC 带借位减法
RSB 逆向减法指令
RSC 带借位的逆向减法
AND  逻辑与指令
ORR 逻辑或指令
EOR 逻辑异或
BIC 位清楚指令

3.乘法指令
MUL 32位乘法
MLA 32位乘加
SMULL 64位有符号乘法
SMLAL 64位有符号乘加
UMULL 64位无符号乘法
UMLAL 64位无符号乘加

4.程序状态寄存器访问指令
MRS 程序状态寄存器到通用寄存器的数据传送指令
MSR 通用寄存器到 程序状态寄存器传送指令
用法:1.需要改变程序状态寄存器的值 首先MRS读取内容到通用寄存器再用MSR写会
2:异常处理或者进程切换需要保存状态寄存器

5.加载/存储指令(寄存器和存储器间的数据传送)
LDR 字数据加载指令
LDRB 字节数据加载指令
LDRH 半字数据加载指令
STR 字数据存储指令
STRB 字节存储
STRH 半字数据存储

6.批量数据加载/存储指令
LDM 批量数据加载
STM 批量数据存储指令

7.数据交换指令
SWP 字数据交换指令
SWPB 字节数据交换指令

8.移位指令
LSL 逻辑左移
ASL 算术左移
LSR 逻辑右移
ASR 算术右移
ROR 循环右移
RRX 带扩展的循环右移

9.协处理器指令(若协处理器不能完成操作 会产生未定义指令异常)
CDP 协处理器数操作指令
LDC 协处理器数据加载指令
STC 协处理器数据存储指令
MCR ARM处理器寄存器到协处理器寄存器的数据传送指令
MRC 协处理器寄存器到ARM处理器的数据传送指令

10.异常产生指令
SWI 软中断指令
BKPT 断点中断指令

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值