在去嵌入式方面,使用的一直是ARM體系的架構,
在ARM體系的架構下有兩種,不,是三種指令集
其分別是:
ARM指令集,THUMB指令集,THUMB-2指令集
首先值得一說的是STM32這款ARM核的單片機使用的是THUMB的指令集
與ARM相對應的是X86,兩者相比較而言:
ARM屬于精簡指令集
X86則屬于復雜指令集
THUMB指令集與ARM指令集的區(qū)別:
1.分支指令:跳轉(zhuǎn)的范圍小,除B指令外,都是無條件跳轉(zhuǎn).2.數(shù)據(jù)處理指令:Thumb指令只有2個操作數(shù),而ARM指令是3個操作數(shù).
3.單寄存器加載存儲指令:Thumb指令只能訪問R0~R7.
4.多寄存器加載存儲指令:Thumb指令只能訪問R0~R7的子集.
5.Thumb特有指令:PUSH和POP作用于R13.
值得強調(diào)的是STM32是屬于THUMB指令集的MCU,其基于ARMv7架構。
|