㈠ asm中的符号扩展是什么意思
如果结果的高一半全是0或全是1
CF=0,OF=0
如果结果的高一半不全是0或全是1
CF=1,OF=1
这个高位是否为低位的符号扩展指的是结果的位数,比如计算有符号数1*(-1),结果为AX=FFFF,DX=FFFF,这样DX就称为AX的符号扩展,因为,-1在字的长度下也是FFFF,这个DX是可以不要的,结果其实只用AX就能表示了;还有1*1,结果为AX=0001,DX=0000,DX也是可以不要的;但如果是0FFF*0FFF的话,DX就不能舍去了,因为结果用一个字是表示不出来的
乘法不可能出现进位和溢出的问题,因为FF*FF=FE01,用因数二倍长度的空间足以表示积了,有符号数的结果需要的空间更少
这里的CF和OF已经不是进位和溢出的意思了,只是一个指示结果状态的东西了