ARM的两种工作状态

。_饼干妹妹 提交于 2019-12-06 02:27:21

两种工作状态

1、ARM状态:32位,ARM状态执行字对齐的32位ARM指令。

2、Thumb状态,16位,执行半字对齐的16位指令。

3、用Bx Rn指令来进行两种状态的切换:

    其中Bx是跳转指令,而Rn是寄存器(1个字,32位),如果Rn的位0为1,则进入Thumb状态;如果Rn的位为0,这进入ARM状态。(原 因:ARM指令的后两位始终为0,没有用,而Thumb指令的后一位始终为0,没有用,因此采用位0来表示ARM指令与Thumb指令的切换标志位。)

注:1、ARM和Thumb两种状态之间的切换不影响处理器的工作模式和寄存器的内容。

       2、ARM处理器在处理异常时,不管处理器处于什么状态,则都将切换到ARM状态。(**********)

 

另外:ARM的M系列主要用Thumb指令,ARM9和A系列主要用ARM指令

     S3C2440.S启动代码中根本就没用Thumb指令

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!