首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >手臂拇指指令集是什么?

手臂拇指指令集是什么?
EN

Stack Overflow用户
提问于 2012-05-17 14:53:04
回答 1查看 60.6K关注 0票数 60

在"ARM11TechnicalRefManual“第1-34节的”拇指指令集“下,它说:

拇指指令集是最常用的32位ARM instructions.Thumb指令的子集,它有16位长,并有相应的32位ARM指令,对处理器模型有相同的影响。

谁能解释更多关于这一点,特别是第二句,并说明处理器是如何执行的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-17 15:22:29

ARM处理器有两个指令集,传统的ARM指令集(指令全部为32位长)和更精简的拇指集(大多数普通指令为16位长(有些指令为32位长)。开发人员可以选择要运行的指令集,并且只有一组可以活动(即,一旦处理器切换到拇指模式,所有指令将被解码为使用拇指而不是手臂)。

虽然它们是不同的指令集,但它们具有相似的功能,并且可以使用相同的汇编语言表示。例如,指令

代码语言:javascript
运行
复制
ADDS  R0, R1, R2

可编译为ARM (E0910002 / 11100000 10010001 00000000 00000010)或拇指(1888 / 00011000 10001000)。当然,它们执行相同的函数(添加r1和r2并将结果存储到r0),即使它们有不同的编码。这是拇指指令的意思是16位长,并有相应的32位ARM指令,对处理器模型有同样的影响。

拇指编码中的每一条指令在ARM中也有相应的编码,意思是“子集”语句。

*:不完全正确,ARM中没有"IT“指令,尽管ARM无论如何都不需要"IT”(汇编程序将忽略它)。

票数 86
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10638130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档