• 汇编指令-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

                    

  • 相关阅读:
    python实现清屏
    列表/字典/集合解析式和生成器
    SQL——pivot的用法
    前端的3大类描述
    2019-耦合性斗争笔记
    前端基础语法
    解决winform在win10下字体模糊的问题
    Xamarin.Android打包设置
    N0---我的编程教学提纲
    N0---关于变量
  • 原文地址:https://www.cnblogs.com/lifexy/p/7183676.html
Copyright © 2020-2023  润新知