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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值