ARM的两种工作状态

两种工作状态

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指令

猜你喜欢

转载自www.cnblogs.com/zjy0806/p/11956950.html
今日推荐