在ARM汇编中,CMP指令可以用于比较两个寄存器中的值。但是,对于仅使用CMP指令而没有跟随条件指令的情况,汇编器将无法判断CPU应该采取什么操作。因此,CMP指令必须总是与条件指令(如BEQ、BNE、BLT、BGT等)一起使用,以指示CPU在比较后采取何种操作。
例如,下面的代码显示了如何在CMP之后使用BEQ指令:
MOV R0, #10
MOV R1, #20
CMP R0, R1
BEQ label1
B label2
label1:
MOV R2, #30
label2:
在这个例子中,CMP指令比较R0和R1中的值,而BEQ指令检查比较结果是否等于零。如果是,则跳到标签label1处,否则跳到标签label2处。