汇编语言有符号乘法指令我对那个乘法指令IMUL不懂乘积的高一半为低一半的符号扩展则CF=0;OF=0;否则CF=1,OF=1 该怎么理解?什么叫高一半为低一半的符号扩展?如:mov al,0b4h ;al=b4h=-76dmov bl,11h ;bl=11h=17dimul bl ;ax=faf4h=-1292d,OF=CF=1
问题描述:
汇编语言有符号乘法指令
我对那个乘法指令IMUL不懂
乘积的高一半为低一半的符号扩展则CF=0;OF=0;否则CF=1,OF=1 该怎么理解?什么叫高一半为低一半的符号扩展?
如:
mov al,0b4h ;al=b4h=-76d
mov bl,11h ;bl=11h=17d
imul bl ;ax=faf4h=-1292d,OF=CF=1
答
字节乘结果16位,存于AX中,高8位AH ,低8位AL ;字乘结果为32位 存于 DX AX中,高16位DX,低16位AX .“高一半为低一半的符号扩展”的说法不确切,应该说“高位是低位的符号扩展”,低位是指积的值部分,高位指积的符号部分....