ARM 条件指令设置标志

ARM conditional instruction setting flags

当我了解 ARM 中的条件执行时,我明白了为什么 ARM 中的指令默认不设置标志。他们似乎只在添加 S 后缀时才设置标志。我想知道是否有可能有一个 ARM 指令有条件地执行,但也设置标志。你能举个例子吗?

每条 ARM 指令都有条件地执行(除非条件代码始终为 AL)。任何指令都允许使用任何条件代码。

是的,可以有条件地执行并设置标志,例如

ADDSCS  r0, r1, r2    ; If C flag set then r0 = r1 + r2, and update flags