arm指令和thumb指令有何异同

 我来答
鄢运旺五卯
2019-08-05 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.3万
采纳率:28%
帮助的人:613万
展开全部
thumb指令集与
arm
指令的区别一般有如下几点:
跳转指令
程序相对转移,特别是条件跳转与
arm
代码下的跳转相比,在范围上有更多的限制,转向子程序是无条件的转移.
数据处理指令
数据处理指令是对通用寄存器进行操作,在大多数情况下,操作的结果须放入其中一个操作数寄存器中,而不是第
3
个寄存器中.数据处理操作比
arm
状态的更少,访问寄存器
r8~r15
受到一定限制.除
mov

add
指令访问器
r8~r15
外,其它数据处理指令总是更新
cpsr
中的
alu
状态标志.访问寄存器
r8~r15

thumb
数据处理指令不能更新
cpsr
中的
alu
状态标志.
单寄存器加载和存储指令

thumb
状态下,单寄存器加载和存储指令只能访问寄存器
r0~r7
批量寄存器加载和存储指令
ldm

stm
指令可以将任何范围为
r0~r7
的寄存器子集加载或存储.
push

pop
指令使用堆栈指令
r13
作为基址实现满递减堆栈.除
r0~r7
外,push
指令还可以存储链接寄存器
r14,并且
pop
指令可以加载程序指令pc
殷其英宦鸟
2020-06-01 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.3万
采纳率:27%
帮助的人:858万
展开全部
Thumb指令集与
ARM
指令的区别一般有如下几点:
跳转指令
程序相对转移,特别是条件跳转与
ARM
代码下的跳转相比,在范围上有更多的限制,转向子程序是无条件的转移.
数据处理指令
数据处理指令是对通用寄存器进行操作,在大多数情况下,操作的结果须放入其中一个操作数寄存器中,而不是第
3
个寄存器中.数据处理操作比
ARM
状态的更少,访问寄存器
R8~R15
受到一定限制.除
MOV

ADD
指令访问器
R8~R15
外,其它数据处理指令总是更新
CPSR
中的
ALU
状态标志.访问寄存器
R8~R15

Thumb
数据处理指令不能更新
CPSR
中的
ALU
状态标志.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式