第四章、Thumb指令集 ·存储器访问指令 ·数据处理指令 ·分支指令 ·中断和断点指令 ·伪指令
第四章、Thumb指令集 • 存储器访问指令 • 数据处理指令 • 分支指令 • 中断和断点指令 • 伪指令
内容综述 ·Thumb指令集是针对代码密度的问题而提 出的,可以看作是ARM指令压缩形式的子 集。 所有的Thumb指令都有相对应的ARM指 令,其编程模型也对应于ARM的编程模 型
内容综述 • Thumb指令集是针对代码密度的问题而提 出的,可以看作是ARM指令压缩形式的子 集。 • 所有的Thumb指令都有相对应的ARM指 令,其编程模型也对应于ARM的编程模 型
·Thumb是一个不完整的体系结构。当面 临异常时,自动进入ARM模式。 ·ARM的开发工具完全支持Thumb指令。 ·应用程序可以灵活地将ARM和Thumb子 程序混合编程,以便在例程的基础上提高 性能或代码密度
• Thumb是一个不完整的体系结构。当面 临异常时,自动进入ARM模式。 • ARM的开发工具完全支持Thumb指令。 • 应用程序可以灵活地将ARM和Thumb子 程序混合编程,以便在例程的基础上提高 性能或代码密度
CPSR中的Thumb指示位 ·支持Thumb指令的ARM微处理器也可以执 行标准的32位标准的ARM指令集 在如何时刻,对指令流的解释取决于CPSR 的第5位,即位T。 ·不是所有的ARM处理器都支持Thumb指 令,只有在命名中有字面T的才支持
• 支持Thumb指令的ARM微处理器也可以执 行标准的32位标准的ARM指令集 • 在如何时刻,对指令流的解释取决于CPSR 的第5位,即位T。 • 不是所有的ARM处理器都支持Thumb指 令,只有在命名中有字面T的才支持。 CPSR中的Thumb指示位
进入Thumb模式 ·复位时,ARM启动并执行ARM指令。 转向执行Thumb指令的通常方法是执行一条交换 转移指令BX。 其句法为: BLX{cond}Rm 或: BLX label 其中:Rm是含有转移地址的寄存器,Rm的第0 位拷贝到CPSR中的T位,位[31:1]移入PC
进入Thumb模式 • 复位时,ARM启动并执行ARM指令。 • 转向执行Thumb指令的通常方法是执行一条交换 转移指令BX。 其句法为: BLX{cond} Rm 或: BLX label 其中:Rm是含有转移地址的寄存器,Rm的第0 位拷贝到CPSR中的T位,位[31:1]移入PC