历史上的今天
返回首页

历史上的今天

今天是:2025年02月19日(星期三)

正在发生

2020年02月19日 | ARM学习笔记7——乘法指令

2020-02-19 来源:eefocus

  ARM乘法指令完成两个数据的乘法,两个32位二进制数相乘的结果是64位的4积。

其中:

  1、“RadHi:RdLo”是由RdHi(最高有效32位)和RdLo(最低有效32位)链接形成的64位数,“[31:0]”只选取结果的最低有效32位

  2、简单的赋值由“:=”表示

  3、累加(将右边加到左边)是由“+=”表示


一、MUL乘法指令

  1、作用
    将Rm和Rs中的值相乘,结果的最低32位保存到Rd中
  2、语法格式
    MUL{}{S} ,,
  3、参数说明
    3.1、S:S位(bit[20])决定指令的操作是否影响CPSR中的条件标志位N位和Z位的值。当S=1时,跟新CPSR中的条件标志位的值;当S=0,指令不更新CPSR中的条件标志位。
    3.2、:寄存器位目标寄存器
    3.3、:第一个乘数所在寄存器
    3.4、:第二个乘数所在寄存器

  4、举例:

    R1=R2*R3用指令表示为 MUL R1,R2,R3


二、MLA乘-累加指令
  1、作用
    将Rm和Rs中的值相乘,再将乘积加上第三个操作数,结果的最低32保存到Rd中
  2、语法格式
    MLA{}{S} ,,,
  3、参数说明:
    3.1、:寄存器位目标寄存器
    3.2、:第一个乘数所在寄存器
    3.3、:第二个乘数所在寄存器
    3.4、:将要累加到*结果中的第三操作数
  4、举例说明
    R1=R2*R3+10用指令表示为 : 

     MOV  R0,#0x0A
     MLA  R1,R2,R3,R0


三、UMULL无符号数长乘指令
  1、作用
    UMULL为64位无符号乘法指令,指令将Rm和Rs中的值做无符号数相乘,结果的低32位保存到RsLo中,而高32位保存到RdHi中。
  2、语法格式
    UMULL{}{S} ,,,
  3、参数说明
    3.1、:寄存器位目标寄存器,存储结果的低32位值
    3.2、:寄存器位目标寄存器,存储结果的高32位值
    3.3、:第一个乘数寄存器
    3.4、:第二个乘数寄存器
  4、举例
    完成(R1,R0)=R5*R8操作
    UMULL R0,R1,R5,R8


四、UMLAL无符号长乘-累加操作指令
  1、作用
    UMLAL位64位无符号长乘-累加指令,指令将Rm和Rs中的值做无符号数相乘,64位乘积与RdHi,RdLo相加,结果的低32位保存到RsLo中,而高32位保存到RdHi中。
  2、语法格式
    UMLAL{}{S} ,,,

  3、举例
    完成(R1,R0)=R5*R8+(R1,R0)操作
    UMLAL R0,R1,R5,R8


五、SMULL有符号数长乘操作指令
  1、作用
    SMULL64位有符号长乘指令,指令将Rm和Rs中的值做有符号数相乘,结果的低32位保存到RsLo中,而高32位保存到RdHi中
  2、语法格式
    SMULL{}{S} ,,,
  3、实例
    完成(R3,R2)=R7*R6  
    SMULL R2,R3,R7,R6


六、SMLAL有符号长乘-累加操作指令
  1、作用
    SMLAL为64位有符号长乘法指令,指令将Rm和Rs中的值做有符号数相乘,64位乘积与RdHi,RdLo相加,结果的低32位保存到RsLo中,而高32位保存到RdHi中。
  2、语法指令
    SMLAL{}{S} ,,,
  3、实例
    完成(R3,R2)=R7*R6+(R3,R2)
    SMLAL R2,R3,R7,R6

推荐阅读

史海拾趣

Broadband公司的发展小趣事

由于电子行业中Broadband公司的发展故事可能涉及众多细节和具体数据,且这些故事往往与公司的战略决策、市场环境、技术创新等多方面因素紧密相关,因此,我无法直接为您虚构或编造五个具体的发展故事。不过,我可以为您提供一种可能的框架或思路,帮助您了解如何构建这样的故事。

在构建Broadband公司的发展故事时,您可以考虑以下几个方面:

  1. 公司背景与初创阶段:描述公司的成立背景,包括创始人、初始资金、技术基础等。讲述公司如何抓住市场机遇,推出首款产品或服务,并在早期市场中获得一定的份额。

  2. 技术创新与产品升级:描述公司在发展过程中如何通过技术创新不断提升产品性能和服务质量。可以提及公司在研发方面的投入、取得的专利成果,以及这些创新如何转化为市场竞争力。

  3. 市场拓展与合作:讲述公司如何逐步扩大市场份额,包括进入新的地区市场、拓展应用领域等。同时,可以提及公司与其他企业或机构的合作,如产业链上下游的整合、战略合作等。

  4. 应对市场挑战与竞争:分析公司在发展过程中遇到的市场挑战和竞争压力,如竞争对手的崛起、政策调整等。描述公司如何调整战略、优化运营,以应对这些挑战。

  5. 未来展望与战略规划:基于当前的市场环境和公司实力,展望公司的未来发展前景,包括可能的市场趋势、技术方向等。同时,描述公司的战略规划,如扩大产能、拓展新业务领域等。

在构建这些故事时,请确保基于事实进行描述,避免夸大或缩小事实。您可以查阅相关公司的官方资料、行业报告、新闻报道等,以获取准确的信息和数据。同时,注意保持故事的连贯性和逻辑性,使读者能够清晰地了解公司的发展历程和现状。

希望这个框架能够帮助您构建出符合要求的Broadband公司的发展故事。如果您需要更具体的帮助或建议,请随时告知。

BERNSTEIN公司的发展小趣事

在BERNSTEIN公司的发展过程中,家族传承和企业管理一直是一个重要的主题。Hans-Joachim Bernstein作为Hans Bernstein的长子,在塑造公司的成功故事中发挥了重要作用。在他的管理下,“SpezialFabrik für Schaltkontakte”公司发展成为当今在国际上活跃的技术集团。这家家族企业现已进入第三代,Nicole和Achim Bernstein作为新一代领导人,继续传承着家族的优良传统和企业文化,推动着公司的持续发展。

Anderson Electronics Inc公司的发展小趣事

在取得一系列辉煌成就的同时,Anderson Electronics Inc公司始终关注可持续发展和环境保护。公司积极推行绿色生产理念,采用环保材料和节能技术,努力降低生产过程中的能耗和排放。同时,公司还关注社会责任和公益事业,积极参与社会公益活动,回馈社会。展望未来,公司将继续坚持创新驱动、质量为本的发展理念,不断推动技术创新和产业升级,为电子行业的发展贡献更多的力量。


请注意,以上内容仅为一个通用的框架,具体的故事内容需要根据Anderson Electronics Inc公司的实际情况进行创作。在撰写时,您可以结合公司的历史背景、发展历程、技术创新、市场拓展、国际合作、产业升级等方面的信息进行详细描述,以展现公司在电子行业中的发展历程和成就。

Akahane Electronics Ind Corp公司的发展小趣事

Akahane深知人才是企业发展的核心动力。因此,公司一直注重人才培养和引进。通过建立健全的培训机制和激励机制,Akahane吸引了一批批优秀的研发人才和管理人才。这些人才为公司的技术创新和市场拓展提供了有力支撑。同时,公司还积极与高校和研究机构合作,共同培养电子行业的后备力量。

帝特(DTECH)公司的发展小趣事

近年来,帝特积极寻求与行业内优秀企业的合作机会。2024年3月,帝特科技与技象科技在广州帝特总部签署战略合作框架协议,双方就物联网通信产品展开深入合作。这一合作不仅有助于帝特在物联网领域的技术积累和业务拓展,也为公司未来的发展注入了新的活力。

德艺隆(DEALON)公司的发展小趣事

面对数字化转型和智能化升级的大趋势,德艺隆不甘落后。他们引进先进的生产设备和技术,提高了生产效率和产品质量;同时,公司还加大了对数字化和智能化技术的研发和应用力度,推出了一系列智能化产品解决方案。这些举措不仅提升了公司的竞争力,也为公司的未来发展奠定了坚实的基础。

问答坊 | AI 解惑

用ARM运行FFT,速度怎样?

涉及产品造型问题。无庸置疑,做FFT,DSP是首选,但ARM也有其很诱人的优势,想请教一下用ARM做过FFT的朋友,其速度如何?请告知一下所用的芯片型号、振荡器频率、FFT点数及运行时间。谢谢各位。…

查看全部问答>

warning: function declared implicitly错误原因

     error:function declared implicitly    解决方法:需在在头文件中用extern关键字声明函数  …

查看全部问答>

学习型电脑,平民化配置

CPU:E2200 主板:技嘉GA-G31M(板载X3100显卡,intel G31芯片组)(因为技嘉,华硕价格较贵,可以微星,昂达等G31芯片组的二组主板代替) 内存:金士顿2G,DDR2/800(或金邦,建议不要用威刚,威刚兼容性较差) 显卡:(如有需要可另配,但学习 ...…

查看全部问答>

关于开放式数控系统

要做一个开放式数控铣床这么一个系统,PC上位机 单片机是下位机,要实现数控系统的基本的插补功能...那现在是这么个思路,在PC上建立人机交互界面,如果输入数控代码,自动实现译码,刀补,差补..进而与单片机通信 去控制步进电机的运动.那译码,刀补,差补 ...…

查看全部问答>

STM32F107的通用定时器频率是多少?

                                 STM32F107中,用TIM3的PWM模式,预分频数为0,重装载值为3600,按道理说TIM3的最大频率为36MHz,那么PWM的频率应该 ...…

查看全部问答>

STM8L操作DS18B20失败,求范例

                                 郁闷啊,今天弄了一天DS18B20,先是18B20的初始化都不通过,发送了低电平之后释放,等待DS18B20的低电平应答都检测 ...…

查看全部问答>

【聊聊DSP】个人DSP自学之路!

毕业已一年又一个月,4年的大学时光,可以说我花在学习上的时间不少,基本上每门课都去学,搞到最后整体成绩还好,但每一门又不是很精通。所以现在工作中得恶补了,呵呵~记得在大三时开设了单片机课程,51的,还是汇编语言。当时就对单片机很好奇, ...…

查看全部问答>

LPC810 ISP无法下载了

前两天我发了个帖子,说明LPC810如何用SWD方式(J-LINK)下载 于是我写了下程序,就是点亮那个LED的程序 #include \"lpc8xx.h\" int main(){          LPC_SYSCON->SYSAHBCLKCTRL |= (1DIR0|=1…

查看全部问答>

出一套 CY8CKIT-001 PSoC 开发套件

现出让一套CY8CKIT-001 PSoC 开发套件,该套件是集PSoC 1、PSoC 3、PSoC 5三个系列的学习开发的,共包括一块主板、三块MCU模块、还有一个MINI PROR 程序下载下载器。下面上个图: …

查看全部问答>