《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位数据。

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