zoukankan      html  css  js  c++  java
  • tst、cmp、bne、beq指令

    1、tst:逻辑处理指令,用于把一个寄存器的内容和另一个寄存器的内容或立即数进行按位的与运算,并根据运算结果更新CPSR中条件标志位的值。当前运算结果为1,则Z=0;当前运算结果为0,则Z=1
      cmp:算数处理指令,用于把一个寄存器的内容和另一个寄存器的内容或立即数进行减法比较,不存储结果,都会更改标志位
      bne: 数据跳转指令,标志寄存器中Z标志位不等于零时, 跳转到BNE后标签处
      beq: 数据跳转指令,标志寄存器中Z标志位等于零时, 跳转到BEQ后标签处
    2、实例
    tst r0 , #0x2         //进行and运算,如果bit_2为1,zero==0,如果bit_2为0,则zero==1,即该指令测试bit_2是否为0
    bne led_blink         //非零则跳转,若zero==1,跳转到led_blink处执行;若zero==0,则继续执行下一步指令

     3、实例

    sub r1 , r1 , #1     //r1=r1-1
    cmp r1 , #0          //r1是否等于0,并更改标志位     
    bne led_blink       //zero==1时跳转至led_blink处,zero==0时则继续执行
  • 相关阅读:
    mock数据
    关于适配各种浏览器的图片预览。
    闭包
    兼容性 适配
    递归 使用callee
    webservice的model层命名空间不同的问题
    删除右键菜单中的Git
    windows server core 设置shell 及切换
    设置共享用户名密码
    Windows Remote Shell(WinRM)使用介绍
  • 原文地址:https://www.cnblogs.com/CYP01/p/5876130.html
Copyright © 2011-2022 走看看