我之前也回答过类似的问题,进位、溢出、CF和OF是不同的概念,应注意区分。
1.最高位有进位,一定发生溢出。
错!
单单就这一个命题来说,举个例子就可以了,
如8位加法:
FF+02=01
(CF)=1,(OF)=0
如理解为符号加法,则为-1+2=1,(CF)=1表示有进位,(OF)=0表示无溢出,此例可推翻命题
如理解为无符号加法,则为127+2=1,(CF)=1表示有进位,亦表示溢出,(OF)无意义,
2.发生了溢出,最高位一定有进位。
错
还是举例吧
8位加法:
40+40=80
(CF)=0,(OF)=1
如理解为符号加法,则为64+64=-128,(CF)=0表示无进位,(OF)=1表明结果溢出,此例可推翻命题
如理解为无符号加法,则为64+64=128,(CF)=0表示无进位,亦表示无溢出,(OF)无意义,