㈠ 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已經不是進位和溢出的意思了,只是一個指示結果狀態的東西了