社区导航

 

搜索
查看: 104|回复: 0

[资料分享] ARM乘法指令与乘加指令

[复制链接]

3335

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2019-5-15 19:18 | 显示全部楼层 |阅读模式
乘法指令与乘加指令


1.MUL          32位乘法指令


2.MLA          32位乘加指令


3.SMULL        64位有符号乘法指令


4.SMLAL        64位有符号乘加指令


5.UMULL        64位无符号乘法指令


6.UMLAL        64位无符号乘加指令
注意:


1.  指令中的所有操作数、目的地址寄存器必须为通用寄存器


2.  不能对操作数使用立即数或被移位的寄存器


3.  目的寄存器和操作数1必须是不同的寄存器


MUL指令:


   MUL指令完成将操作数1与操作数2的乘法运算,并把结果放到目的寄存器中,同时可以根据运算结果设置CPSR中相应的条件标志位


指令格式:MUL{条件}{S} 目的寄存器,操作数1,操作数2


MULS R0,R1,R2 ;R0 = R1 × R2,同时设置CPSR 中的相关条件标志位


MLA指令:


   MLA 指令完成将操作数1与操作数2的乘法运算,再将乘积加上操作数3,并把结果放置


到目的寄存器中,同时可以根据运算结果设置CPSR中相应的条件标志位


指令格式:MLA{条件}{S} 目的寄存器,操作数1,操作数2,操作数3


MLAS R0,R1,R2,R3 ;R0 = R1 × R2 + R3,同时设置CPSR 中的相关条件标志位


SMULL指令:


   SMULL 指令完成将操作数1与操作数2的乘法运算,并把结果的低32位放置到目的寄存器Low中,结果的高32位放置到目的寄存器High中,同时可以根据运算结果设置CPSR中相应的条件标志位




指令格式:SMULL{条件}{S} 目的寄存器Low,目的寄存器低High,操作数1,操作数2


SMULL R0,R1,R2,R3 ;R0 = (R2 × R3)的低32 位


                                                 ;R1 = (R2 × R3)的高32 位


SMLAL指令:


   SMLAL 指令完成将操作数1 与操作数2 的乘法运算,并把结果的低32位同目的寄存器Low 中的值相加后又放置到目的寄存器Low中,结果的高32位同目的寄存器High中的值相加后又放置到目的寄存器High中,同时可以根据运算结果设置CPSR中相应的条件标志位




指令格式:SMLAL{条件}{S} 目的寄存器Low,目的寄存器低High,操作数1,操作数2


SMLAL R0,R1,R2,R3 ;R0 = (R2 × R3)的低32 位+ R0


                                               ;R1 = (R2 × R3)的高32 位+ R1
UMULL指令:


   UMULL 指令完成将操作数1与操作数2的乘法运算,并把结果的低32位放置到目的寄存器Low中,结果的高32位放置到目的寄存器High中,同时可以根据运算结果设置CPSR中相应的条件标志位


指令格式:UMULL{条件}{S} 目的寄存器Low,目的寄存器低High,操作数1,操作数2


UMULL R0,R1,R2,R3 ;R0 = (R2 × R3)的低32 位


                                                 ;R1 = (R2 × R3)的高32 位


UMLAL指令:


   UMLAL 指令完成将操作数1 与操作数2 的乘法运算,并把结果的低32位同目的寄存器Low中的值相加后又放置到目的寄存器Low 中,结果的高32位同目的寄存器High 中的值相加后又放置到目的寄存器High中,同时可以根据运算结果设置CPSR中相应的条件标志位
指令格式:UMLAL{条件}{S} 目的寄存器Low,目的寄存器低High,操作数1,操作数2
UMLAL R0,R1,R2,R3 ;R0 = (R2 × R3)的低32 位+ R0


                                                ;R1 = (R2 × R3)的高32 位+ R1

来源:EEWorld 微控制器 MCU板块,转载请附上链接


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 /3 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2019-8-22 20:39 , Processed in 0.082677 second(s), 17 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表