当前位置: 首页 > news >正文

ARM base instruction -- csel

CSEL

Conditional Select returns, in the destination register, the value of the first source register if the condition is TRUE, and otherwise returns the value of the second source register.

如果条件为TRUE,则条件选择在目标寄存器中返回第一个源寄存器的值,否则返回第二个源寄存器。


sf 0 0 11010100 Rm cond 0 0 Rn Rd
31 30 29 28 27 26 25 24 23 22 21 20 16 15 12 11 10 9 5 4 0


32-bit variant
    Applies when sf == 0.
    CSEL <Wd>, <Wn>, <Wm>, <cond>

64-bit variant
    Applies when sf == 1.
    CSEL <Xd>, <Xn>, <Xm>, <cond>

Operation
    bits(datasize) result; 
    bits(datasize) operand1 = X[n]; 
    bits(datasize) operand2 = X[m]; 

    if ConditionHolds(cond) then 
        result = operand1; 
    else 
        result = operand2; 

    X[d] = result; 


CSEL <Xd>, <Xn>, <Xm>, <cond>        
# 如果条件(cond)满足,就选择(sel) Xn 作为 Xd,否则选择 Xm 作为 Xd。

CSEL X0, X0, X1, ge                    
# 如果 cond (ge : greater or equal)成立,那么X0 = X0(保持不变),否则X0 = X1。
# 虽然比IT指令块的语法看起来要直观一些,但比起IT指令块能表达的层级关系,还是稍微弱了一点。


  403400:    121d1003     and    w3, w0, #0xf8
  403404:    52800062     mov    w2, #0x3                       // #3
  403408:    7103c07f     cmp    w3, #0xf0
  40340c:    1a8213e2     csel    w2, wzr, w2, ne  // if w3!=0, w2=0; else w2=w2
  403410:    17ffffef     b    4033cc <ferror@plt+0x14ec>
 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 小琳AI课堂:多模态模型的训练与应用
  • 人工智能安全治理框架导图
  • 通信工程学习:什么是FMC固定移动融合
  • 斐纳切数列考试题
  • 攻防世界--->易热
  • C#使用MQTT(二):MQTT客户端
  • 【JAVA】Tomcat性能优化、安全配置、资源控制以及运行模式超详细
  • Self Refine技术测评:利用Self Refine提高LLM的生成质量
  • 微信小程序:navigateTo跳转无效
  • 学习node.js十三,文件的上传于下载
  • D 咖智能饮品机器人:科技与美味共舞,奏响饮品新乐章
  • SQL server 的异常处理 一个SQL异常 如何不影响其他SQL执行
  • UEC++学习(十七)利用SceneCaptureComponent2d进行截图
  • 使用python对股票市场进行数据挖掘的书籍资料有哪些
  • 基于Python的自然语言处理系列(3):GloVe
  • [译] React v16.8: 含有Hooks的版本
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • Java 多线程编程之:notify 和 wait 用法
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • Mocha测试初探
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • Vue2.0 实现互斥
  • Vue全家桶实现一个Web App
  • 产品三维模型在线预览
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 基于组件的设计工作流与界面抽象
  • 前端_面试
  • 前端之React实战:创建跨平台的项目架构
  • 浅谈Golang中select的用法
  • 使用Swoole加速Laravel(正式环境中)
  • 微信小程序开发问题汇总
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ###C语言程序设计-----C语言学习(3)#
  • (阿里云在线播放)基于SpringBoot+Vue前后端分离的在线教育平台项目
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (二)正点原子I.MX6ULL u-boot移植
  • (分类)KNN算法- 参数调优
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (汇总)os模块以及shutil模块对文件的操作
  • (循环依赖问题)学习spring的第九天
  • (转)Sql Server 保留几位小数的两种做法
  • (转载)利用webkit抓取动态网页和链接
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .Net Core 笔试1
  • .NET Core 中的路径问题
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现
  • .NET 通过系统影子账户实现权限维持
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • .net打印*三角形
  • [ Linux 长征路第五篇 ] make/Makefile Linux项目自动化创建工具
  • [【JSON2WEB】 13 基于REST2SQL 和 Amis 的 SQL 查询分析器
  • [30期] 我的学习方法
  • [AIGC] HashMap的扩容与缩容:动态调整容量以提高性能