乘法指令之:MUL乘法指令
ARM乘法指令完成两个数据的乘法。两个32位二进制数相乘的结果是64位的积。在有些ARM的处理器版本中,将乘积的结果保存到两个独立的寄存器中。另外一些版本只将最低有效32位存放到一个寄存器中。
无论是哪种版本的处理器,都有乘-累加的变型指令,将乘积连续累加得到总和。而且有符号数和无符号数都能使用。对于有符号数和无符号数,结果的最低有效位是一样的。因此,对于只保留32位结果的乘法指令,不需要区分有符号数和无符号数两种情况。
乘法指令的二进制编码格式如图7.1所示。
图7.1乘法指令的二进制编码
表7.1显示了各种形式乘法指令的功能。
表7.1 各种形式乘法指令
操作码[23:21] | 助记符 | 意义 | 操作 |
000 | MUL | 乘(保留32位结果) | Rd:=(Rm×Rs)[31∶0] |
001 | MLA | 乘-累加(32位结果) | Rd:=(Rm×Rs+Rn)[31∶0] |
100 | UMULL | 无符号数长乘 | RdHi:RdLo:=Rm×Rs |
101 | UMLAL | 无符号长乘-累加 | RdHi:RdLo:+=Rm×Rs |
110 | SMULL | 有符号数长乘 | RdHi:RdLo:=Rm×Rs |
111 | SMLAL | 有符号数长乘-累加 | RdHi:RdLo:+=Rm×Rs |
其中:
①“RdHi:RdLo”是由RdHi(最高有效32位)和RdLo(最低有效32位)链接形成的64位数,“[31:0]”只选取结果的最低有效32位。
②简单的赋值由“:=”表示。
③累加(将右边加到左边)是由“+=”表示。
同其他数据处理指令一样,位S控制条件码的设置。当在指令中设置了位S时,则有以下结果。
①对于产生32位结果的指令形式,将标志位N设置为Rd的第31位的值;对于产生长结果的指令形式,将其设置为RdHi的第31位的值。
②对于产生32位结果的指令形式,如果Rd等于零,则标志位Z置位;对于产生长结果的指令形式,RdHi和RdLo同时为零时,标志位Z置位。
③将标志位C设置成无意义的值。
④标志位V不变。
注意 | 乘法指令不能对第二操作数使用立即数或被移位的寄存器。 |
7.1MUL乘法指令
1.指令编码格式
MUL(Multiply)32位乘法指令将Rm和Rs中的值相乘,结果的最低32位保存到Rd中。
指令的编码格式如图7.2所示。
图7.2MUL指令的编码格式
您可能也感兴趣:
为您推荐
8家险企股权被挂牌转让,为何险企股权不再被追捧?
深圳最低工资标准调整为2360元/月 失业保险金为2124元/月
辽宁实施失业保险省级统筹 对缺口核定等作出详细规定
排行
最近更新
- 芜湖释放创新“N次方”效应 数字赋能驱动产业升级
- 去年快递服务全程时限水平有较大提升 干线运输时限缩短
- 住建部:推动长江经济带高质量发展,打造区域协调发展新样板
- 江苏发布重大项目清单 增资扩产项目明显增多
- 山东抓投资抓项目 新兴领域投资规模持续扩大
- Gucci在2月将投放 10 个“SuperGucci”NFT
- 美国银行:美国CBDC将保持美元作为世界储备货币的地位
- 美股三大指数尾盘集体转涨
- 光伏发电概念股有哪些?光伏发电概念龙头股一览
- The new iPad屏幕对比评测
- 电源接通延时器
- 汽车电子稳定系统(ESP)详解
- 联想B520一体机拆解
- 焦炭相关股票有哪些?焦炭概念股票龙头一览
- 增强信号 3G无线上网卡改装拆解全攻略
- 盘点全球五大智能手机生产商 华为联想入围
- 三星新平板 Galaxy Note 10.1全拆解
- 智能监控防盗报警系统
- 格力电器未来三年股东回报规划:每年累计分红不低于当年净利润50%
- 消息称京东科技计划2022年在港IPO,募资10亿至20亿美元
- 恒大集团:呼吁境外债权人不采取任何激进的法律行动
- 海航董事长刘璐因个人原因辞职,在海航已近28年
- 青青稞酒预计2021年营收增长30%-40%,四季度净亏损超1500万
- 2022年在港上市募资10亿美元?京东科技:不予置评
- 财政部修订出台《财政行政处罚听证实施办法》
- 卖房子需要交什么税?卖房子必须携带哪些证件?
- 医保卡的使用范围有哪些?补牙可以使用医保报销吗?
- 小产权房能过户吗?购买小产权房有什么风险?
- 奕东电子的实际控制人是谁?奕东电子股票上市了吗?
- 百合股份是一家什么公司?百合股份的股票何时上市?