ARM处理器初始化剖析.ppt

Thumb指令集 (一)Thumb指令集特点 Thumb指令集是ARM指令集压缩形式的子集,所有Thumb指令均有对应的ARM指令。 采用16位二进制编码,代码密度小。 执行Thumb指令时,先动态解压缩,然后作为标准的ARM指令执行。 如何区分指令流取决于CPSR的第5位(位T)。 大多数Thumb数据处理指令采用2地址格式。 由于16位的限制,移位操作变成单独指令。 Thumb指令集没有协处理器指令、单寄存器交换指令、乘加指令、64位乘法指令以及程序状态寄存器处理指令,而且指令的第2操作数受到限制。 除了分支指令B有条件执行功能外,其他指令均为无条件执行。 Thumb是一个不完整的体系结构,不能指望处理器只执行Thumb代码而不支持ARM指令集。 (二)状态切换 1、ARM状态进入Thumb状态的方法 执行带状态切换的转移指令BX。若BX指令指定的寄存器的最低位为1,则将T置位,并将程序计数器切换为寄存器其他位给出的地址。 BX R0 ;若R0最低位为1,则转入Thumb状态 异常返回也可以将微处理器从ARM状态转换为Thumb状态。通常这种指令用于返回到进入异常前所执行的指令流,而不是特地用于转换到Thumb模式。 MOV PC,LR ;当返回地址保存在LR时 STMFD SP!,{registers,LR} ;当返回地址保存在堆栈时,进

文档评论(0)

1亿VIP精品文档

相关文档