移位操作对CPSR的影响

CPSR的C标志位:
可以有4种方法设置C的值:  
-加法运算(包括CMP):当运算结果产生了进位时(无符号数溢出),C=1,否则C=0。  
-减法运算(包括CMP):当运算时产生了借位时(无符号数溢出),C=0,否则C=1。  
-对于包含移位操作的非加/减运算指令,C为移出值的最后一位。
例:
操作前:
R3:0x00000000
R2:0x00000014
CPSR:0x000000D3
操作:
MOVE R3,R2,LSR #3
操作后:
R3:0x00000002
R2:0x00000014
CPSR:0x200000D3
-对于其它的非加/减运算指令,C的值通常不会改变。 

你可能感兴趣的:(移位操作对CPSR的影响)