单步的时候遇到TST总是忘记是什么意思,在这里详细记录一下。

TST W0, #1:

如果W0.bit_1 == 1,则将CPRF寄存器的Zero=0;否则W0.bit_1 == 0,Zero=1。

TST通常会配合B.EQ,CSEL指令一起使用,例如

TST W0, #1 + B.EQ LABEL:如果W0.bit_1 == 0 -> Z == 1 -> EQ -> 跳转到LABEL

TST W0, #1 + B.NE LABLE:如果W0.bit_1 == 1 -> Z == 0 -> NE -> 跳转到LABEL

TST W0, #1 + CSEL W0, W1, W2, EQ:W0.bit_1 == 0 ? W0 = W1 : W0 = W2

TST W0, #1 + CSEL W0, W1, W2, NE:W0.bit_1 == 1 ? W0 = W1 : W0 = W2

需要注意的是,bit_1,也就是第一位。没有第0位。上面的TST,可以同来判断W0的奇偶性。

TBZ W0, #0x80, LABEL:如果W0的第8位是0,跳转到LABEL

TBNZ X0, #0x80, LABEL:如果X0的第8位是1,跳转到LABEL

ARM汇编 常见条件判断对应NZCV标识 以及 TST / TBZ / TBNZ 指令相关推荐

  1. linux常见条件判断

    linux条件判断:eq.ne.gt.lt.ge.le.-n.-z -eq: 测试两个整数是否相等:比如 $A -eq $B -ne: 测试两个整数是否不等:不等,为真:相等,为假: -gt: 测试一 ...

  2. js中一种常见条件判断if(var)的坑

    在处理js代码判断真假时经常会这么写. //从某个地方获取的值. var vale = fun(......... );if(!value){进入这里表示value的布尔值为false } 我们知道, ...

  3. 汇编条件判断 eq neq

     汇编条件判断   eq   neq cpsr[30]是zero位,主要保存最近的一次"是否相等"的条件判断的结果 zero位状态由以下指令来设置 cmp  r0 , r1 c ...

  4. if...elif...else...fi和case...esac的脚本条件判断式

    注意1: if 表达式和case 表达式的区别及什么时候使用哪个要有明确的区分? 『 if .... then .... fi 』对于变量的判断是以『比对』的方式来分辨的, 如果符合状态就进行某些行为 ...

  5. Shell脚本编程之(五)条件判断式

    利用 if - then 单层.简单条件判断式 if [ 条件判断式 ]; then 当条件判断式成立时,可以进行的指令工作内容: fi <==将 if 反过来写,就成为 fi 啦!结束 if ...

  6. ARM汇编指令立即数规范和判断

    转载 :https://blog.csdn.net/yunfenglw/article/details/41621103 在ARM汇编的数据处理指令中经常会使用到常数,而ARM汇编中规定使用的常数必须 ...

  7. arm 32 常见汇编指令解释

    push: 将一个或多个寄存器的值压入栈中,更新栈指针寄存器.语法示例:push {r1, r2, r3}. add: 执行加法并将结果存储到目标操作数中.语法示例:add r1, r2, #5,将寄 ...

  8. ARM 汇编指令对应的机器码和条件码

    一.ARM 汇编指令对应的机器码 二.条件码

  9. linux 嵌入式汇编 adc,嵌入式Linux ARM汇编(四)——ARM汇编程序设计

    嵌入式Linux ARM汇编(四)--ARM汇编程序设计 汇编程序有顺序.循环.分支.子程序四种结构形式. 一.顺序结构 程序实例: AREA Buf,DATA,READWRITE;定义数据段Buf ...

最新文章

  1. html表单输入框添加验证码,织梦Dedecms为自定义表单添加验证码功能
  2. STL之bitset
  3. Python二分查找算法
  4. 全志A33-ARM开发板通过NFS与Ubuntu共享文件
  5. 学习分享会(2019.5.31)
  6. Spring context命名空间
  7. df命令--Linux命令应用大词典729个命令解读
  8. Ubuntu 下升级git到最新版
  9. 如何创建MySQL连接器_如何安装mysql连接器
  10. 高德地图SDK 配置key
  11. python股票交易时间_Python量化交易,轻松获取股市每日龙虎榜详情数据
  12. 【转】美团O2O供应链系统架构设计解析
  13. EM算法及对GMM的参数估计(EM算法的R实现 vs R mclust包)
  14. 使用七牛云存储图片案例
  15. FileZilla的下载与安装
  16. AM5728-Uboot SPL 代码走读
  17. 为什么微软是数字时代的领头羊?
  18. 合工大机器人足球仿真robocup2D球队代码实验七实验验收
  19. 高德地图实现仿qq,微信发送位置功能实现逻辑
  20. Crawlab(crawlab github)

热门文章

  1. 爬取的网页,获取子元素内容的方法
  2. redis过期key的删除策略
  3. 线性表之顺序结构单链表
  4. mysql 5.7 mts_回顾MySQL的MTS
  5. 使用JSONObject和JSONArray输出带有数组的json数据
  6. 河北省职称计算机考试什么时候,河北省2010年职称计算机考试报名时间通知
  7. JavaScript完全学习手册 pdf电子书
  8. 史上最全的微服务专业术语面试50问,持续更新中
  9. 手机视频监控应用开发
  10. java后端简历项目经历_从面试官甄别项目经验的角度,说说如何在简历中写项目经验(Java后端方向)...