乘法指令

本文详细介绍了计算机中的乘法指令,包括无符号数乘法指令MUL和有符号数乘法指令IMUL。MUL指令的被乘数是隐含的,根据乘数的位宽自动选择AL、AX或EAX寄存器,乘积同样存储在相应寄存器中。IMUL则用于处理有符号数的乘法。这些指令在执行过程中会根据乘积是否超出寄存器范围设置溢出标志位OF。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算机的乘法指令分为无符号乘法指令和有符号乘法指令,它们的唯一区别就在于:数据的最高位是作为“数值”参与运算,还是作为“符号位”参与运算。

乘法指令的被乘数都是隐含操作数,乘数在指令中显式地写出来。CPU会根据乘数是8位、16位,还是32位操作数,来自动选用被乘数:AL、AX或EAX。

指令的功能是把显式操作数和隐含操作数相乘,并把乘积存入相应的寄存器中。

、无符号数乘法指令MUL(UnsignedMultiply Instruction)

指令的格式:MUL  Reg/Mem
受影响的标志位:CF和OF(AF、PF、SF和ZF无定义)
指令的功能是把显式操作数和隐含操作数(都作为无符号数)相乘,所得的乘积按表5.2的对应关系存放。

表5.2乘法指令中乘数、被乘数和乘积的对应关系

乘数位数

隐含的被乘数

乘积的存放位置

举例

8位

AL

AX

MUL  BL

16位

AX

DX-AX

MUL  BX

32位

EAX

EDX-EAX

MUL  ECX

、有符号数乘法指令IMUL(SignedInteger Multiply Instruction)

 指令的格式:IMULReg/Mem
IMULReg, Imm;80286+
IMULReg, Reg, Imm;80286+
IMULReg, Reg/Mem;80386+

受影响的标志位:CF和OF(AF、PF、SF和ZF无定义)

http://zx.zynews.com/hyzx/yskt/5398161349.html
http://www.lfxww.com/2014/shichangshangxun/2014/0416/807428.html
http://www.zznews.cn/hyzx/jkxx/5394212839.html
http://zx.zynews.com/hyzx/yskt/5398111150.html
http://www.lfxww.com/2014/shichangshangxun/2014/0416/807397.html
http://www.lfxww.com/2014/shichangshangxun/2014/0416/807393.html
http://www.lfxww.com/2014/shichangshangxun/2014/0416/807380.html
http://www.lfxww.com/2014/shichangshangxun/2014/0416/807590.html


http://www.zznews.cn/hyzx/jkxx/5406327705.html
http://www.lfxww.com/2014/shichangshangxun/2014/0416/804574.html
http://zx.zynews.com/hyzx/yskt/5390123823.html
http://www.changsha.cn/bj/yl/xywy/2014/0416/563788.html
http://zx.zynews.com/hyzx/yskt/5398098762.html
http://www.zznews.cn/hyzx/jkxx/5394137056.html
http://www.yltvb.com/xwbk/redianxinwen/5389545718.html
http://zx.zynews.com/hyzx/yskt/5398102537.html
http://www.changsha.cn/bj/yl/xywy/2014/0416/563789.html
http://www.zznews.cn/hyzx/jkxx/5394172683.html
http://www.lfxww.com/2014/shichangshangxun/2014/0416/807380.html
http://zx.zynews.com/hyzx/yskt/5398105715.html
http://www.zznews.cn/hyzx/jkxx/5394208967.html
http://www.lfxww.com/2014/shichangshangxun/2014/0416/807393.html
http://www.changsha.cn/bj/yl/xywy/2014/0416/563790.html
http://www.lfxww.com/2014/shichangshangxun/2014/0416/807397.html
http://www.changsha.cn/bj/yl/xywy/2014/0416/563791.html
http://zx.zynews.com/hyzx/yskt/5398108045.html
http://zx.zynews.com/hyzx/yskt/5398111150.html
http://www.changsha.cn/bj/yl/xywy/2014/0416/563792.html
http://www.zznews.cn/hyzx/jkxx/5394212839.html
http://zx.zynews.com/hyzx/yskt/5398113539.html
http://www.changsha.cn/bj/yl/xywy/2014/0416/563793.html
http://www.zznews.cn/hyzx/jkxx/5394215834.html
http://zx.zynews.com/hyzx/yskt/5398117977.html
http://www.lfxww.com/2014/shichangshangxun/2014/0416/807428.html
http://zx.zynews.com/hyzx/yskt/5398161349.html


1)、指令格式1——该指令的功能是把显式操作数和隐含操作数相乘,所得的乘积按表5.2的对应关系存放。

2)、指令格式2——其寄存器必须是16位/32位通用寄存器,其计算方式为:

Reg ← Reg × Imm

3)、指令格式3——其寄存器只能是16位通用寄存器,其计算方式为:

Reg1← Reg2×Imm  或 Reg1← Mem×Imm

4)、指令格式4——其寄存器必须是16位/32位通用寄存器,其计算方式为:

Reg1← Reg1×Reg2 或  Reg1← Reg1×Mem

在指令格式2~4中,各操作数的位数要一致。如果乘积超过目标寄存器所能存储的范围,则系统将置溢出标志OF为1。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值