1724|0

6828

帖子

0

TA的资源

五彩晶圆(高级)

楼主
 

ARM乘法指令与乘加指令 [复制链接]

乘法指令与乘加指令


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 Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表