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

ARM base instruction -- madd

Multiply-Add multiplies two register values, adds a third register value, and writes the result to the destination register.

乘法-加法将两个寄存器值相乘,将第三个寄存器值相加,并将结果写入目标寄存器。

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

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

Decode for all variants of this encoding
 integer d = UInt(Rd); 
 integer n = UInt(Rn); 
 integer m = UInt(Rm); 
 integer a = UInt(Ra); 
 integer destsize = if sf == '1' then 64 else 32; 


Operation
 bits(destsize) operand1 = X[n]; 
 bits(destsize) operand2 = X[m]; 
 bits(destsize) operand3 = X[a]; 
  
 integer result; 

 result = UInt(operand3) + (UInt(operand1) * UInt(operand2)); 
  
 X[d] = result<destsize-1:0>; 
 


http://www.kler.cn/a/376079.html

相关文章:

  • python之字符串总结
  • thrift idl 语言基础学习
  • C++STL——list
  • vue2开发 对接后端(go语言)常抛异常情况以及处理方法汇总
  • 5G RRC连接的建立
  • Linux版更新流程
  • 函数的多返回值及多种传参方式
  • Python 的基本语法
  • 【C#】异步和多线程
  • 速度!双击文件就可以运行本地大模型!神奇的AI大模型开源项目——llamafile
  • Redis中储存含LocalDateTime属性对象的序列化实现
  • R数据结构向量基础
  • 公有云开发基础教程
  • 汽车固态电池深度报告
  • 4K双模显示器值得买吗?
  • Python WordCloud库与jieba分词生成词云图的完整指南
  • Ollama:本地部署与运行大型语言模型的高效工具
  • 在kanzi 3.9.8里使用API创建自定义材质
  • PHP反序列化原生类字符串逃逸框架反序列化利用
  • 奥数与C++小学四年级(第十七题 弹跳板)
  • blender雕刻基础 笔记
  • Python毕业设计选题:基于django+vue的宠物寄养平台的设计与实现
  • element根据输入,动态生成表格
  • 【MySQL】MySQL安装以及各种报错处理
  • 全国高校计算机能力挑战赛 Python
  • 【Linux系统编程】第三十九弹---探索信号处理的奥秘:阻塞信号与sigset_t的深入剖析及实战