《ARM Cortex-M3與Cortex-M4權威指南》第五章筆記

  1. CORTEXM基於THUMB-2,可同時使用16與32位指令,但其不支持ARM指令,不能前向兼容ARM7TDMI指令集。
  2. 指令集包含關係:

                                                                                     指令集合展示

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位數據。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章