您的位置 首页 5G

ARM汇编指令集之五——乘法指令与乘加指令

ARM微处理器支持的乘法指令与乘加指令共有6条,可分为运算结果为32位和运算结果为64位两类,与前面的数据处理指令不同,指令中的所有操作数…

ARM微处理器支撑的乘法指令乘加指令共有6条,可分为运算成果为32位和运算成果为64位两类,与前面的数据处理指令不同,指令中的一切操作数、意图寄存器有必要为通用寄存器,不能对操作数运用当即数或被移位的寄存器,一起,意图寄存器和操作数1有必要是不同的寄存器。

乘法指令与乘加指令共有以下6条:

1、 MUL指令

MUL指令的格局为:

MUL{条件}{S}意图寄存器,操作数1,操作数2

MUL指令完结将操作数1与操作数2的乘法运算,并把成果放置到意图寄存器中,一起能够依据运算成果设置CPSR中相应的条件标志位。其间,操作数1和操作数2均为32位的有符号数或无符号数。

指令示例:

MUL R0,R1,R2;R0 = R1×R2

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

2、 MLA指令

MLA指令的格局为:

MLA{条件}{S}意图寄存器,操作数1,操作数2,操作数3

MLA指令完结将操作数1与操作数2的乘法运算,再将乘积加上操作数3,并把成果放置到意图寄存器中,一起能够依据运算成果设置CPSR中相应的条件标志位。其间,操作数1和操作数2均为32位的有符号数或无符号数。

指令示例:

MLA R0,R1,R2,R3;R0 = R1×R2 + R3

MLAS R0×R2 + R3,一起设置CPSR中的相关条件标志位

3、 SMULL指令

SMULL指令的格局为:

SMULL{条件}{S}意图寄存器Low,意图寄存器低High,操作数1,操作数2

SMULL指令完结将操作数1与操作数2的乘法运算,并把成果的低32位放置到意图寄存器Low中,成果的高32位放置到意图寄存器High中,一起能够依据运算成果设置CPSR中相应的条件标志位。其间,操作数1和操作数2均为32位的有符号数。

指令示例:

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

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

4、 SMLAL指令

SMLAL指令的格局为:

SMLAL{条件}{S}意图寄存器Low,意图寄存器低High,操作数1,操作数2

SMLAL指令完结将操作数1与操作数2的乘法运算,并把成果的低32位同意图寄存器Low中的值相加后又放置到意图寄存器Low中,成果的高32位同意图寄存器High中的值相加后又放置到意图寄存器High中,一起能够依据运算成果设置CPSR中相应的条件标志位。其间,操作数1和操作数2均为32位的有符号数。

关于意图寄存器Low,在指令履行前寄存64位加数的低32位,指令履行后寄存成果的低32位。

关于意图寄存器High,在指令履行前寄存64位加数的高32位,指令履行后寄存成果的高32位。

指令示例:

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

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

5、 UMULL指令

UMULL指令的格局为:

UMULL{条件}{S}意图寄存器Low,意图寄存器低High,操作数1,操作数2

UMULL指令完结将操作数1与操作数2的乘法运算,并把成果的低32位放置到意图寄存器Low中,成果的高32位放置到意图寄存器High中,一起能够依据运算成果设置CPSR中相应的条件标志位。其间,操作数1和操作数2均为32位的无符号数。

指令示例:

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

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

6、 UMLAL指令

UMLAL指令的格局为:

UMLAL{条件}{S}意图寄存器Low,意图寄存器低High,操作数1,操作数2

UMLAL指令完结将操作数1与操作数2的乘法运算,并把成果的低32位同意图寄存器Low中的值相加后又放置到意图寄存器Low中,成果的高32位同意图寄存器High中的值相加后又放置到意图寄存器High中,一起能够依据运算成果设置CPSR中相应的条件标志位。其间,操作数1和操作数2均为32位的无符号数。

关于意图寄存器Low,在指令履行前寄存64位加数的低32位,指令履行后寄存成果的低32位。

关于意图寄存器High,在指令履行前寄存64位加数的高32位,指令履行后寄存成果的高32位。

指令示例:

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

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

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/5g/276488.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部