汇编中mul和imul有什么区别啊

来源:百度知道 编辑:UC知道 时间:2024/05/26 07:15:56
能详细讲下题吗 最好讲下过程
已知 (AL)=96H (BL)=12H
IMUL BL
问AH AL分别是多少?

mul是无符号乘法
imul是带符号乘法

指令执行后ax=0F88CH,这时,把96H看作带符号数,是一个负数,12H是一个正数,也就是十进制的-106*18=-1908=-11101110100B,转换成十六进制补码就是F88CH。
如果执行的是mul,那么ax=0A8CH,这时把96H和12H都看作无符号数,也就是十进制的150*18=2700=101010001100B=0A8CH。

也可以用计算机原理里面学的二进制带符号数乘法的方法计算。