x86汇编CF和OF的区别

1.溢出标志位of: 
        带符号数的算术运算结果,若超出了8位或16位数所能表达的范围时,of=1,表示产生溢出;否则of=0. 
        8位数应该在-128至+127之间,16位数在-32768至+32767. 
2.进位标志位cf: 
        当指令执行的结果在最高位出现进位或借位时,cf=1;否则为0.   

        "最高位进位了不就是溢出吗? ".....其实 "最高位进位 "不是指最高位向其上一位进位,而是指最高位上的来自于次高位的进位,所以cf的判断是看次高位有没有向最高位进位,有则为cf=1,相反为0.

cf就是无符号数的溢出 

of就是有符号数的溢出 

对与减法来说溢出就是借位 

对加法来说就是进位

猜你喜欢

转载自blog.csdn.net/fuyoufang1/article/details/25149751#comments_14293596
今日推荐