文章目录
概要
下表为比较指令的汇编程序和一条指令所需要的周期数:
序号 | 描述 | 汇编程序 | 所需要的机器周期 |
1 | Compare | CMP Rn,Rm | 1 |
2 | Negative | CMN Rn,Rm | 1 |
3 | Immediate | CMP Rn,#<imm> | 1 |
注:1、CMP指令的Rd和Rm只能是R0-R14寄存器中的一个,立即数的取值范围是0-255
2、CMN指令的Rd和Rm只能是R0-R7寄存器中的一个
举例说明
1、CMP Rn,Rm 将比较寄存器 Rn 和寄存器 Rm 的内容,得到(Rn) - (Rm)的结果,但不保存该结果,并且更新寄存器 APSR 中的 N、Z、C和V标志
2、CMN Rn,Rm 将比较寄存器 Rn 的内容和对寄存器 Rm 取反后内容,得到(Rn)+(Rm)的结果但不保存该结果,并且更新寄存器 APSR 中的 N、Z、C和V标志
3、CMP Rn,#<imm> 寄存器 Rn 的内容和立即数#imm进行比较,得到(Rn)-#imm 的结果,但不保存该结果,并且更新寄存器 APSR 中的 N、Z、C和V标志
未完待续。。。