ARM汇编 常见条件判断对应NZCV标识 以及 TST / TBZ / TBNZ 指令
单步的时候遇到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 指令相关推荐
- linux常见条件判断
linux条件判断:eq.ne.gt.lt.ge.le.-n.-z -eq: 测试两个整数是否相等:比如 $A -eq $B -ne: 测试两个整数是否不等:不等,为真:相等,为假: -gt: 测试一 ...
- js中一种常见条件判断if(var)的坑
在处理js代码判断真假时经常会这么写. //从某个地方获取的值. var vale = fun(......... );if(!value){进入这里表示value的布尔值为false } 我们知道, ...
- 汇编条件判断 eq neq
汇编条件判断 eq neq cpsr[30]是zero位,主要保存最近的一次"是否相等"的条件判断的结果 zero位状态由以下指令来设置 cmp r0 , r1 c ...
- if...elif...else...fi和case...esac的脚本条件判断式
注意1: if 表达式和case 表达式的区别及什么时候使用哪个要有明确的区分? 『 if .... then .... fi 』对于变量的判断是以『比对』的方式来分辨的, 如果符合状态就进行某些行为 ...
- Shell脚本编程之(五)条件判断式
利用 if - then 单层.简单条件判断式 if [ 条件判断式 ]; then 当条件判断式成立时,可以进行的指令工作内容: fi <==将 if 反过来写,就成为 fi 啦!结束 if ...
- ARM汇编指令立即数规范和判断
转载 :https://blog.csdn.net/yunfenglw/article/details/41621103 在ARM汇编的数据处理指令中经常会使用到常数,而ARM汇编中规定使用的常数必须 ...
- arm 32 常见汇编指令解释
push: 将一个或多个寄存器的值压入栈中,更新栈指针寄存器.语法示例:push {r1, r2, r3}. add: 执行加法并将结果存储到目标操作数中.语法示例:add r1, r2, #5,将寄 ...
- ARM 汇编指令对应的机器码和条件码
一.ARM 汇编指令对应的机器码 二.条件码
- linux 嵌入式汇编 adc,嵌入式Linux ARM汇编(四)——ARM汇编程序设计
嵌入式Linux ARM汇编(四)--ARM汇编程序设计 汇编程序有顺序.循环.分支.子程序四种结构形式. 一.顺序结构 程序实例: AREA Buf,DATA,READWRITE;定义数据段Buf ...
最新文章
- html表单输入框添加验证码,织梦Dedecms为自定义表单添加验证码功能
- STL之bitset
- Python二分查找算法
- 全志A33-ARM开发板通过NFS与Ubuntu共享文件
- 学习分享会(2019.5.31)
- Spring context命名空间
- df命令--Linux命令应用大词典729个命令解读
- Ubuntu 下升级git到最新版
- 如何创建MySQL连接器_如何安装mysql连接器
- 高德地图SDK 配置key
- python股票交易时间_Python量化交易,轻松获取股市每日龙虎榜详情数据
- 【转】美团O2O供应链系统架构设计解析
- EM算法及对GMM的参数估计(EM算法的R实现 vs R mclust包)
- 使用七牛云存储图片案例
- FileZilla的下载与安装
- AM5728-Uboot SPL 代码走读
- 为什么微软是数字时代的领头羊?
- 合工大机器人足球仿真robocup2D球队代码实验七实验验收
- 高德地图实现仿qq,微信发送位置功能实现逻辑
- Crawlab(crawlab github)
热门文章
- 爬取的网页,获取子元素内容的方法
- redis过期key的删除策略
- 线性表之顺序结构单链表
- mysql 5.7 mts_回顾MySQL的MTS
- 使用JSONObject和JSONArray输出带有数组的json数据
- 河北省职称计算机考试什么时候,河北省2010年职称计算机考试报名时间通知
- JavaScript完全学习手册 pdf电子书
- 史上最全的微服务专业术语面试50问,持续更新中
- 手机视频监控应用开发
- java后端简历项目经历_从面试官甄别项目经验的角度,说说如何在简历中写项目经验(Java后端方向)...