- CORTEXM基於THUMB-2,可同時使用16與32位指令,但其不支持ARM指令,不能前向兼容ARM7TDMI指令集。
- 指令集包含關係:
指令集合展示
3. 原始THUMB指令大多數均會更新APSR,但THUMB-2出現後,指令出現了2個版本,更新APSR和不更新APSR,因此 THUMB語法無法直接遷移至THUMB-2上。
4. 在UAL(統一彙編語言)下,需要使用3個操作數,即使操作中源和目標中有相同寄存器。另外,使用帶“S”的指令標記需要 更新APSR的指令,如ADD(不更新APSR)與ADDS(更新APSR)。在大多數編譯工具下,UAL之前的語法仍舊適用。
5. 相比非32位對齊的地址,32位對齊的程序地址處理器跳轉的速度會更快,如果在編譯工具中,選擇了按時間優化,編譯器會 將跳轉地址設置到32位對齊的地址上。
6. 32位THUMB-2指令是可以按半字(16位)對齊,如以下例子:
7. 打包和解包指令。如PKHBT將兩個16位數據合爲32位數據。