ARM的指令BFI如何翻译成等效的C++?

PDD123 2019-09-24 03:40:32
ARM的指令:BFI{<c>}{<q>} <Rd>, <Rn>, #<lsb>, #<width>
其功能用C++描述是不是这样:
		unsigned int inline bfi(unsigned int rd, unsigned int rn, unsigned int lsb, unsigned int width)
{
unsigned int ls = (unsigned int(0xFFFFFFFF) >> (32 - width));
rn = (rn & ls) << lsb;
ls = ~(ls << lsb);
rd = rd & ls;
rd = rd | rn;
return rd;
}


...全文
626 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
PDD123 2019-09-24
  • 打赏
  • 举报
回复
引用 3 楼 早打大打打核战争 的回复:
应该是对的,你对比一下用指令和自行计算的结果
好的,谢谢。 结果和我理解的相同,只要我理解对了就对了。
PDD123 2019-09-24
  • 打赏
  • 举报
回复
一般有可能有歧义的地方,我要嘛写成两段,要嘛带个括号。
  • 打赏
  • 举报
回复
应该是对的,你对比一下用指令和自行计算的结果

PDD123 2019-09-24
  • 打赏
  • 举报
回复
引用 1 楼 早打大打打核战争 的回复:
rd = rd & ls; rd = rd | rn; return rd; 可以直接: return rd & ls | rn;
你好,我就想问问对不对。
  • 打赏
  • 举报
回复
rd = rd & ls;
rd = rd | rn;
return rd;
可以直接:
return rd & ls | rn;
内容概要:本文系统介绍了基于MATLAB平台的风力涡轮机雷达信号仿真研究,涵盖完整的仿真代码、实测数据及配套学术文章,重点实现雷达信号处理、风力涡轮机回波建模、微动特征提取与时频分析等核心技术。通过高精度模拟风机叶片旋转引起的调制效应与雷达散射截面变化,深入揭示风力发电场对周边雷达系统造成的电磁干扰机制,为雷达杂波抑制、目标检测优化及空域兼容性设计提供理论支撑与技术验证平台。资源内容还可拓展应用于无人机路径规划、电动汽车调度、电力系统优化等交叉领域,展现MATLAB在复杂系统仿真中的强大集成能力。; 适合人群:具备MATLAB编程基础与雷达信号处理知识的科研人员,适用于从事新能源并网影响评估、雷达系统设计、电磁兼容分析、智能电网或远程 sensing 领域研究的研究生、工程师及高校教师; 使用场景及目标:①开展风电场对空中监视雷达干扰效应的仿真评估;②研究风电杂波的时频特性与微多普勒特征建模方法;③开发针对非合作目标干扰的雷达抗干扰算法与信号分离技术;④作为科研项目申报、论文复现或工程预研的技术原型工具包; 阅读建议:建议结合百度网盘提供的完整资料包(含代码、数据集与参考文献)同步学习,优先运行示例脚本以掌握仿真流程,再根据具体研究需求调整系统参数进行扩展实验,同时可借鉴文中提到的其他MATLAB仿真案例以提升研究深度与广度。

21,499

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧