02_ARM汇编自学笔记模型之ARM微处理器的工作状态
二模型
ARM 微处理器的工作状态
- 第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令;
- 第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。
状态切换方法:在开始执行代码时,应该处于ARM状态,采用执行BX指令的方法,使微处理器从ARM状态切换到Thumb状态,当处理器处于Thumb状态时发生异常(如I RQ、FI Q、Undef 、Abort 、SWI 等),则异常处理返回时,自动切换到Thumb状态。操作数寄存器的状态位为0时,执行BX指令时可以使微处理器从Thumb状态切换到ARM状态。
ARM体系结构所支持的最大寻址空间为4GB。
ARM微处理器的指令长度可以是32位(在ARM状态下),也可以为16位(在Thumb状态下)。
ARM微处理器中支持字节(8位)、半字(16位)、字(32位)三种数据类型
其中,字需要4字节对齐(地址的低两位为0)、半字需要2字节对齐(地址的最低位为0)。