新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > ARM乘法指令

ARM乘法指令

作者:时间:2012-11-26来源:网络收藏
  :一类为32位的,即乘法操作的结果为32位;另一类为64位的,即乘法操作的结果为64位。

  (1)MUL 32位乘法指令

  MUL提供32位整数乘法。如果操作数是有符号的,则可以假定结果也是有符号的。

  (2)MLA 32位带加法的乘法指令

  MLA的行为同MUL,但它把操作数3的值加到结果上,这在求总和时有用。

  (3)SMULL 64位有符号数乘法指令

  SMULL指令实现两个32位的有符号数的乘积,乘积结果的高32位存放到一个32位的寄存器<RdHi>中,低32位存放到另一个32位的寄存器(RdLo>中,同时可以根据运算结果设置CPSR寄存器中相应的条件标志位。考虑指令执行的效率,指令中所有操作数都放在寄存器中。

  (4)SMLAL 64位带加法的有符号数乘法指令

  SMLAL指令将两个32位有符号数的64位乘积结果与<RdLo>和<RdHi>中的64位数相加,相加结果的高32位存放到一个32位的寄存器<RdHi)中,低32位存放到另一个32位的寄存器(RdLo>中,同时可以根据运算结果设置∷CPSR寄存器中相应的条件标志位。

  (5)UMULL 64位无符号数乘法指令

  UMULL指令实现两个32位有符号数的乘积,乘积结果的高32位存放到一个32位的寄存器<RdHi)中,乘积结果的低32位存放到另一个32位的寄存器(RdLo>中,同时可以根据运算结果设置CPSR寄存器中相应的条件标志位。考虑指令执行的效率,指令中所有操作数都放在寄存器中。

  (6) 64位带加法的无符号数乘法指令

  指令将两个32位无符号数的64位乘积结果与<RdLo>和<RdHi>中的64位无符号数相加,相加结果的高32位存放到一个32位的寄存器(RdHi)中,低32位存放到另一个32位的寄存器<RdLo>中,同时可以根据运算结果设置CPSR寄存器中相应的条件标志位。



关键词: ARM 乘法指令 UMLAL

评论


相关推荐

技术专区

关闭