语法:

  1. cmp{条件} Rs, 寄存器移位操作或立即数

备注: Rs 是一个寄存器 寄存器移位操作或立即数 常用作于位掩码 {条件} 可选项

运算原理:

“Rs - 寄存器移位操作或立即数” 运算之后,只影响标志位,运算的结果不会存在 Rs 中。

用法:

“Rs - 寄存器移位操作或立即数” 运算之后,后面一句指令就可以根据此时 CPSR 的条件标志位来判断是否执行对应的操作。

示例:

  1. mov r0, #0x00
  2. cmp r0, #0x01
  3. ;//上面运行完,影响的标志位: N=1 z=0 c=0 v=0
  4. mov r0, #0x01
  5. cmp r0, #0x01
  6. ;//上面运行完,影响的标志位: n=0 Z=1 C=1 v=0
  7. mov r0, #0x02
  8. cmp r0, #0x01
  9. ;//上面运行完,影响的标志位: n=0 z=0 C=1 v=0