1.17.ARM汇编指令集5之乘法指令
来源:互联网 发布:截面数据要做哪些检验 编辑:程序博客网 时间:2024/06/05 13:29
ARM汇编指令集之乘法指令:MUL & MLA & UMULL & UMLAL & SMULL & SMLAL
* MUL
32位乘法指令,指令将Rm和Rs中的值相乘,结果的低32位保存到Rd中。
指令格式:
MUL{cond}{S} Rd,Rm,Rs
eg:
mul r1,r2,r3 ; r1=r2*r3
muls r0,r3,r7 ; r0=r3*r7, 同时设置CPSR中的N位和Z位
* MLA
32位乘加指令,指令将Rm和Rs中的值相乘,再将乘积的结果与第三个操作数相加,结果的低32位保存在Rd中。
指令格式:
MLA{cond}{S} Rd,Rm,Rs,Rn
eg:
mla r1,r2,r3,r0 ; r1=r2*r3+r0
* UMULL
64位无符号乘法指令,指令将Rm和Rs中的值做无符号数相乘,结果的低32位保存到RsLo中,而高32位保存到RdHi中。
指令格式:
UMULL{cond}{S} RdLo,RdHi,Rm,Rs
eg:
umull r0,r1,r5,r8 ; (r1,r0)=r5*r8
* UMLAL
64位无符号乘加指令,指令将Rm和Rs中的值做无符号数相乘,64位乘积与RdHi,RdLo相加,结果的低32位保存在RdLo中,高32位保存在RdHi中。
指令格式:
UMLAL{cond}{S} RdLo,RdHi,Rm,Rs
eg:
umlal r0,r1,r5,r8 ; (r1,r0)=r5*r8+(r1,r0)
* SMULL
64位有符号乘法指令,指令将Rm和Rs中的值做有符号数相乘,结果的低32位保存到RdLo中,高32位保存到RdHi中。
指令格式:
SMULL{cond}{S} RdLo,RdHi,Rm,Rs
eg:
smull r2,r3,r7,r6 ; (r3,r2)=r7*r6
* SMLAL
64位有符号乘加指令,指令将Rm和Rs中的值做有符号数相乘,64位乘积与RdHi,RdLo相加,结果的低32位保存到RdLo中,高32位保存到RdHi中。
指令格式:
SMLAL{cond}{S} RdLo,RdHi,Rm,Rs
eg:
smlal r2,r3,r7,r6 ; (r3,r2) = r7*r6+(r3,r2)
- 1.17.ARM汇编指令集5之乘法指令
- 【汇编指令】ARM指令集之PSR传送指令
- ARM汇编指令集
- ARM汇编指令集
- ARM汇编指令集
- ARM汇编指令集
- ARM汇编指令集
- ARM汇编指令集
- ARM汇编指令集
- ARM汇编指令集
- ARM 汇编指令集
- ARM汇编指令集
- ARM汇编指令集
- ARM汇编指令集
- ARM汇编指令集
- ARM汇编指令集
- ARM汇编指令集
- ARM汇编指令集
- CSU 1592:石子归并(区间DP)
- Scanner的next()和nextLine()的区别
- 常用对象 以及使用方法
- JS变量名和函数名的提升
- JDBC数据库连接
- 1.17.ARM汇编指令集5之乘法指令
- POJ2478 Farey Sequence
- ----- UVA 11624-Fire!
- windows 如何定时更新svn
- Maven仓库镜像
- 二叉树的基本应用及其他
- 2017 Multi-University Training Contest
- Git中fetch和pull命令的区别
- sudo 命令能为你做些什么