乘法指令之: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指令的编码格式
您可能也感兴趣:
为您推荐
保险业协会将围绕七方面加强消保工作力度 提升行业整体水平
保险公司推出“电信诈骗险” 市民仍须提高防骗意识
天津:做好失业保险稳岗返还工作 实行“免申即享”经办模式
排行
最近更新
- 乘法指令之:MUL乘法指令
- 强电和弱电的区别- -电压高低??No
- 业务篇之资产证券化(一)
- 泗县城乡困难群体法律援助撑起青少年维权“保护伞”
- 金辉控股:归母净利润微涨全靠“明股实债”,短债压力最为要命
- 泗县:司法行政人用行动诠释誓言
- 美债收益率不断上升,对市场会有何影响?
- 灵璧县尹集镇:疫情防控不放松 “四送一服”不缓停
- 转债投资热勿忘有风险
- 天津、重庆、广州等十多个城市被纳入数字人民币研发试点
- 广东上线“预制菜大卖场”平台
- 地方债发行节奏将加快 资金使用效率有望提升
- 严守财务安全碧桂园2022年已无境内到期债券 将考虑积极收并购
- 福建税务:落实大规模留抵退税 提振市场主体发展活力
- 余姚经开建投发行1亿美元高级无抵押债券,息票率3.90%
- 护航春耕生产 公安机关依法严厉打击涉农违法犯罪
- 教育部对义务教育阶段学科类校外培训治理“回头看”
- 证监会公布20起典型违法案例 多种财务造假形式被点名
- 海参什么时间吃效果好
- 成都6名病例至少分属于两条传播链 首例病例为奥密克戎变异株
- 织密基金监管网 共筑医保防护线金华医保基金监管集中宣传月来了
- “星星”的痛苦,不只是“孤独”!
- 预防毒蘑菇中毒唯一方法:不采摘、购买和食用野生蘑菇!
- 人民银行长沙中心支行志愿服务队驰援吉林抗疫一线
- 齐鲁诗人 | 张浩程:七绝·桃花
- 复原康复之路 舞出多彩人生
- 燃气安全装置科普小知识之1——燃气自闭阀
- 放飞“风正” 传递廉洁
- 四川资阳:开展2022年精神障碍社区康复快闪活动
- 四川岳池:示范幼儿园开展2022年清明节主题活动