当前位置:文档之家› Thumb指令集与ARM指令集的区别

Thumb指令集与ARM指令集的区别

Thumb指令集与ARM指令集的区别Thumb 指令集
Thumb 指令可以看做是ARM 指令压缩形式的子集,是针对代码密度【1】
的问题而提出的,它具有16 为的代码密度。

Thumb 不是一个完整的体系结构,不能指望处理程序只执行Thumb 指令而不支持ARM 指令集。

因此,Thumb 指令只需要支持通用功能,必要时,可借助完善的ARM 指令集,例如:所有异
常自动进入ARM 状态。

在编写Thumb 指令时,先要使用伪指令CODE16 声明,而且在ARM 指令中要使用BX 指令跳转到Thumb 指令,以切换处理器状态。

编写ARM 指令时,
可使用伪指令CODE32 声明。

【1】.代码密度:单位存储空间中包含的指令的个数。

例如
ARM 指令是32 位的,而Thumb 指令时16 位的,如果在1K 的存储空间中,可以放32 条ARM 指令,就可以放64 条Thumb 指令,因此在存放Thunb 指令时,代码密度高。

Thumb 指令集与ARM 指令集的区别
Thumb 指令集没有协处理器指令、信号量指令以及访问CPSR 或SPSR 的指令,没有乘加指令及64 位乘法指令等,且指令的第二操作数受到限制;除了。

相关主题