x86汇编CF和OF的区别

时间:2021-11-14 03:40:14
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就是有符号数的溢出 

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

对加法来说就是进位