带符号数相乘的计算~麻烦将结清楚的来谢谢
来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/11/09 09:55:47
带符号数相乘的计算~麻烦将结清楚的来谢谢
如(AL)=0B4H ,(BL)=11H,求IMUL BL
我想知道的是计算过程,他的命令执行起来我明白,我自己就是算不对,也就是说自己不太会有符号数的乘法,答案应该是(AX)=0FAF4H CF=OF=1书上这么写的
如(AL)=0B4H ,(BL)=11H,求IMUL BL
我想知道的是计算过程,他的命令执行起来我明白,我自己就是算不对,也就是说自己不太会有符号数的乘法,答案应该是(AX)=0FAF4H CF=OF=1书上这么写的
IMUL 有符号数乘法指令,相乘的两个数均看做有符号数,
AL的内容是个有符号数,一般计算机中有符号数用补码表示,所以0B4H是某个数的补码,即[X]的补码 = 0B4H = 1011 0100 B,求出X= -100 1100 B = -76.
BL的内容是个有符号数,11H是某个数的补码,即[X]的补码 = 11H = 0001 0001 B,求出X= +001 0001 B = +17.
(AL)*(BL)= -76 * (+17)= -1292
把 -1292 转换成二进制为 -101 0000 1100 B
在将这个结果(-101 0000 1100 B)转换成16位补码形式,转换之前还要把它补齐成16位,即,为-000 0101 0000 1100 B ,将它转换成补码形式为1111 1010 1111 0100 B ,最后把这个数再转换成16进制,即为FAF4H.
根据IMUL指令的规定,若乘积的高一半是低一半的符号位的扩展则OF=CF=0,否则OF=CF=1.
也就是说,如果结果的高一半的所有位,与低一半的第一位相同,则OF=CF=0,如果不相同,则OF=CF=1.
本题中,结果是FAF4H=1111 1010 1111 0100 B,那么高一半是1111 1010,低一半是1111 0100 ,所以结果的高一半的所有位,与低一半的第一位 不 相同,即乘积的高一半 不是 是低一半的符号位的扩展,所以OF=CF=1.
AL的内容是个有符号数,一般计算机中有符号数用补码表示,所以0B4H是某个数的补码,即[X]的补码 = 0B4H = 1011 0100 B,求出X= -100 1100 B = -76.
BL的内容是个有符号数,11H是某个数的补码,即[X]的补码 = 11H = 0001 0001 B,求出X= +001 0001 B = +17.
(AL)*(BL)= -76 * (+17)= -1292
把 -1292 转换成二进制为 -101 0000 1100 B
在将这个结果(-101 0000 1100 B)转换成16位补码形式,转换之前还要把它补齐成16位,即,为-000 0101 0000 1100 B ,将它转换成补码形式为1111 1010 1111 0100 B ,最后把这个数再转换成16进制,即为FAF4H.
根据IMUL指令的规定,若乘积的高一半是低一半的符号位的扩展则OF=CF=0,否则OF=CF=1.
也就是说,如果结果的高一半的所有位,与低一半的第一位相同,则OF=CF=0,如果不相同,则OF=CF=1.
本题中,结果是FAF4H=1111 1010 1111 0100 B,那么高一半是1111 1010,低一半是1111 0100 ,所以结果的高一半的所有位,与低一半的第一位 不 相同,即乘积的高一半 不是 是低一半的符号位的扩展,所以OF=CF=1.
带符号数相乘的计算~麻烦将结清楚的来谢谢
括号前有数相乘,可以将数连同前面的符号一起利用乘法的()律直接去括号计算.()里填什么啊!
几个数相乘,它的积的符号由负因数的个数来决定.
几个不等于零的数相乘,积的符号由什么来决定
两个带根号的数相乘怎么算
有符号的二进制数11101000 转换成十进制是多少(带计算过程)
如何计算最小公倍数比如20和40的最小公倍数.是多少将两个数相乘再除以两数的最大公约数其中的最大公约数,如何计算出来?
下列说法中正确的是 A同号两数相乘,符号不变.B异号两数相乘,取绝对值较大因数的符号 C 两数相乘,积为
已知两数相乘大于0,两数相加小于0,则这两数的符号为( )
将一个数分解成几个数之和的形势,或分解为它的因数相乘形势,用这种方法计算19又17分之16*15
翻译:根据我们和刘先生的约定费用将在发货后60天内结清
请问怎样计算带根号的数?耐心的来,其他同类问题我看过了..