zoukankan      html  css  js  c++  java
  • 汇编指令-CMP、TEQ(5)

     cmp:(compare)指令进行比较两个操作数的大小 

    格式: cmp oprd1,oprd2

    比较oprd1和oprd2操作数,然后通过助记符来实现想要的判断。

    teq: (test equal)测试相等,该指令通常用于比较操作数1和操作数2是否相等。

    格式: teq oprd1,oprd2
    TEQ指令用于把一个寄存器的内容和另一个寄存器的内容或立即数进行按位的异或运算,并根据运算结果更新CPSR中条件标志位的值。该指令通常用于比较操作数1和操作数2是否相等。(EOR指令也是实现异或运算,只是不更新CPSR)

     cmp和teq助记符如下

     

    助记符

    含    义

    EQ

    相等equal

    NE

    不相等not equal

    CS

    无符号数大于或等于Carry Set

    CC

    无符号数小于

    MI

    负数minus

    PL

    正数或零plus

    VS

    溢出

    VC

    没有溢出

    HI

    无符号数大于high

    LS

    无符号数小于或等于less

    GE

    带符号数大于或等于

    LT

    带符号数小于less than

    GT

    带符号数大于great than

    LE

    带符号数小于或等于

    AL

    无条件执行all

     

    cmp使用实例实例1:

    CMP  R0, R1  ;                                        R0与R1比较,做R0-R1的操作

    ADDHI  R0, R0, #1  ;                               若R0 > R1, HI为真,则R0 = R0 + 1

    ADDLS  R1, R1, #1  ;                              若R0 <= R1, LS为真,则R1 = R1 + 1

    cmp使用实例实例2:

    adr r0, _start  
    ldr r1, _TEXT_BASE 
    cmp r0, r1                                                           r0与r1比较,做r0-r1的操作
    blne cpu_init_crit                                                若ne(r0地址与r1地址不相等)为真,执行bl cpu_init_crit  跳转    

         

    teq使用实例实例1:

    teq r0, r1                                                               R0与R1是否相等               
    ADDeq  R0, R0, #1  ;                                          若R0 == R1, eq为真,则R1 = R1 + 1

                    

  • 相关阅读:
    010-spring事务管理
    009-事务管理
    008-ThreadLocal
    Bmob用户管理操作
    Textview下划线注册用户跳转实现
    Android中多个调用Activity的问题
    解决android:theme="@android:style/Theme.NoDisplay" 加入这句话后程序不能运行
    友盟自动更新
    友盟消息推送和更新XML配置
    Android 云服务器的搭建和友盟APP自动更新功能的实现
  • 原文地址:https://www.cnblogs.com/lifexy/p/7183676.html
Copyright © 2011-2022 走看看