ARM 汇编指令的条件执行 BFDZ ARM 发布于:2016年12月28日 在ARM模式下,任何一条数据处理指令可以选择是否根据操作的结果来更新CPSR寄存器中的ALU状态标志位。在数据处理指令中使用S后缀来实现该功能。 不要在CMP,CMN,TST或者TEQ指令中使用S后缀。这些比较指令总是会更新标志位。 在Thumb模式下,所有数据处理指令都更新CPSR中的标志位。有一个例外就是:当一个或更多个高寄存器被用在MOV和ADD指令时,此时MOV和ADD不能更新状态标志. 几乎所有的ARM指令都可以根据CPSR中的ALU状态标志位来条件执行。参见条件执行后缀表。 阅读全文