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

Android逆向学习 专栏收录该内容
59 篇文章 5 订阅

1. 简介

    CMP / CMN : 算术指令

    TEQ / TST : 逻辑指令

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

 

    APSR(CPSR)与condition的关系图:

ARM汇编中的:比较指令--CMN / CMP / TEQ / TST - 路雷米 - 路雷米的博客

 

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/

  • 1
    点赞
  • 0
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值