ARM中的状态寄存器
总览☕️
之前内容里我们讨论过armv7架构的指令格式,32bits的前4bits是条件执行相关的标志,需要与状态寄存器CPSR配合使用,今天我们就来聊聊状态寄存器(CPSR)
CPSR即Current Program Status Register的缩写,直译为当前程序状态寄存器(这里要注意)
在armv7架构中,cpsr有其非常重要且特殊的意义,因为arm指令编码中是天生带条件执行的,需要与状态寄存器相配合执行指令。
⭐️cpsr寄存器的长度为32bits,其中有一些重要的位:
-
N:bit31,当运算结果为负且运算指令要求更新(指令带s后缀)寄存器时,该位会被置位 -
Z:bit30,当运算结果为0且运算指令要求更新寄存器时,该位会被置位 -
‼️
C:bit29,当运算结果产生进位且指令要求更新寄存器时,该位会被置位