/*
* CMP : 比较
*/
(Compare)
CMP{条件}{P} <op 1>, <op 2>
status = op_1 - op_2
CMP 允许把一个寄存器的内容如另一个寄存器的内容或立即值进行比较,更改状态标志来允许进行条件执行。
它进行一次减法,但不存储结果,而是正确的更改标志。标志表示的是操作数 1 比操作数 2 如何(大小等)。
如果操作数 1 大于操作操作数 2,则此后的有 GT 后缀的指令将可以执行。
明显的,你不需要显式的指定 S 后缀来更改状态标志... 如果指定了它则被忽略。
cmp r1, r0 // r1 与 r0 的值相减,并根据结果设置 cpsr 的标志位
cmp r1, #100 // r1 与 100 相减,并根据结果设置 cpsr 的标志位