3.4.1 ARM状态

处于ARM状态时,ARM920T运行的都是32位的指令,指令地址是字对齐的,即指令地址的最低两位二进制位为0。指令的运行效率非常高。同时也能访问系统中所有的资源和寄存器等。因为ARM状态时的指令都是32位的长度,因此也增加了程序运行时的存储空间。在以下几种情况下,ARM920T处理器会自动进入ARM状态。

□第一次上电时:处理器完成自身硬件初始化后,进入ARM状态从0地址开始读取第一条指令并开始运行。

□响应中断和异常时:当处理器响应外部硬件中断和处理器异常时,ARM920T会自动切换到ARM状态。

上面描述的两种情况,都是处理器硬件自动完成的,不需要程序员的任何操作。不管发生上述两种情况时处理器先前是什么状态,都会自动切换到ARM状态。当然程序员可以手动切换处理器状态,用处理器的BX指令可以做到,这是个带状态切换的程序跳转指令,实际上它是根据跳转的地址值的第一个二进制位来判断的,如果该位为1就切换到Thumb状态,如果该位为0就切换到ARM状态。