ARM汇编中的:比较指令--CMN / CMP / TEQ / TST

1. 简介

    CMP / CMN : 算术指令

    TEQ / TST : 逻辑指令

     它们总是会影响CPSR条件标志位.

 

    APSR(CPSR)与condition的关系图:

ARM汇编中的:比较指令--CMN / CMP / TEQ / TST_第1张图片

 

2. CMN -- 比较取负的值

    CMN{条件}{P}    <op1>, <op2>

                    status = op1 - (-op2)                          相加操作

    CMN R0, #1  @把R0与-1进行比较

 

3. CMP

    CMP{条件}{P}    <op1>, <op2>

                    status = op1 - (op2)                             相减操作

    会影响标志位.

4. TEQ -- 测试等价

   TEQ{条件} {P}  <op1>, <op2>

                     status = op1 EOR op2                        相异或操作

    注意:TEQ是对2个数,进行EOR。

 

5. TST --- 测试位

   TST{条件} {P}  <op1>, <op2>

                     status = op1 AND op2                        相与操作

    TST R0,#0x01 @测试Bit0是否为0

均不保存操作的结果,只是影响状态寄存器CPSR的值。

转载 http://luleimi.blog.163.com/blog/static/17521964520133181756210/

你可能感兴趣的:(汇编,ARM,ARM,ARM指令,android逆向)