移位操作对CPSR的影响

来源:互联网 发布:php经典面试题目汇总 编辑:程序博客网 时间:2024/05/07 18:41
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的值通常不会改变。 
0 0
原创粉丝点击