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

1. 简介

    CMP / CMN : 算术指令

    TEQ / TST : 逻辑指令

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

 

    APSR(CPSR)与condition的关系图:

 

2. CMN -- 比较取负的值

    CMN{条件}{P}    ,

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

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

 

3. CMP

    CMP{条件}{P}    ,

                    status = op1 - (op2)                             相减操作

    会影响标志位.

4. TEQ -- 测试等价

   TEQ{条件} {P}  ,

                     status = op1 EOR op2                        相异或操作

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

 

5. TST --- 测试位

   TST{条件} {P}  ,

                     status = op1 AND op2                        相与操作

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

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

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

你可能感兴趣的:(Android逆向学习,arm,汇编,android逆向,arm,arm指令)