在去嵌入式方面,使用的一直是ARM体系的架构,
在ARM体系的架构下有两种,不,是三种指令集
其分别是:
ARM指令集,THUMB指令集,THUMB-2指令集
首先值得一说的是STM32这款ARM核的单片机使用的是THUMB的指令集
与ARM相对应的是X86,两者相比较而言:
ARM属于精简指令集
X86则属于复杂指令集
THUMB指令集与ARM指令集的区别:
1.分支指令:跳转的范围小,除B指令外,都是无条件跳转.2.数据处理指令:Thumb指令只有2个操作数,而ARM指令是3个操作数.
3.单寄存器加载存储指令:Thumb指令只能访问R0~R7.
4.多寄存器加载存储指令:Thumb指令只能访问R0~R7的子集.
5.Thumb特有指令:PUSH和POP作用于R13.
值得强调的是STM32是属于THUMB指令集的MCU,其基于ARMv7架构。
|