ARM汇编指令条件码及相关标志位问题。

2025-03-01 12:22:53
推荐回答(2个)
回答1:

这个得看具体是什么指令,根据执行的结果,来判断:
a,Z标志,是否为0;如比较指令产生相等的结果、计算结果为0;
b,N标志,是否为负;如果指令的结果被认为是有符号数,而它的第31位为1,那就会被设置为1;
c,C标志,是否有产生进位/借位,以及进行移位操作时作移出位使用;
d,V标志,有符号数进行运算,结果是否有溢出。

参考 www.juliantec.info 之前的回答: http://zhidao.baidu.com/question/251439540.html

回答2:

MOVS 目的寄存器,源操作数
其中S选项决定指令的操作是否影响CPSR中条件标志位的值,当没有S时指令不更新CPSR中条件标志位的值。
ARM 中很多指令在其后面加上 "S " 都会影响 CPSR中条件标志位, 如 MVNS, ANDS, ADDS...