Monday, July 20, 2015

关于 for 循环的加加减减

i--操作本身会影响CPSR(当前程序状态寄存器),

CPSR常见的标志有

N(结果为负), Z(结果为0),C(有进位),O(有溢出)。

i >= 0,可以直接通过Z标志判断出来。 

i++操作也会影响CPSR(当前程序状态寄存器),

但只影响O(有溢出)标志,这对于i < n的判断没有任何帮助。

所以还需要一条额外的比较指令,也就是说每个循环要多执行一条指令。

原文在此

No comments:

Post a Comment