通过上面的例子可以看出,CMP指令与SUBS指令的区别在于CMP指令不保存运算结果,在进行两个数据大小判断时,常用CMP指令及相应的条件码来进行操作。CMN指令 CMN(Compare Negative)指令使用寄存器Rn的值减去operand2的负数值(加上operand2),根据操作的结果更新CPSR中相应的条件标志位,以便后面的指令根据相应的条件标志来判断...
如果在数据处理指令前使用S前缀,指令的执行结果将会影响CPSR中的标志位。数据处理指令如表所示。 助记 符操 作行 为MOV数据传送MVN数据取反传送AND逻辑与Rd:=Rn AND op2EOR逻辑异或Rd:=Rn EOR op2SUB减Rd:=Rn − op2RSB翻转减Rd:=op2 − RnADD加Rd:=Rn + op2ADC带进位的加Rd:=Rn + op2 + CSBC...
MOV指令是最简单的ARM指令,执行的结果就是把一个数N送到目标寄存器Rd,其中N可以是寄存器,也可以是立即数。 MOV指令多用于设置初始值或者在寄存器间传送数据。 MOV指令将移位码(shifter_operand)表示的数据传送到目的寄存器Rd,并根据操作的结果更新CPSR中相应的条件标志位。
通过上面的例子可以看出,CMP指令与SUBS指令的区别在于CMP指令不保存运算结果,在进行两个数据大小判断时,常用CMP指令及相应的条件码来进行操作。 CMN指令 CMN(Compare Negative)指令使用寄存器Rn的值减去operand2的负数值(加上operand2),根据操作的结果更新CPSR中相应的条件标志位,以便后面的指令根据相应的条件标志来判断...