进位标志CF(Carry Flag)的定义: 当加减运算结果的最高有效位有进位(加法)或借位(减法)时,将设置进位标志为1,即CF=1;如果没有进位或借位,则设置进位标志为0,即CF=0。 这是说,处理器执行一个加法或者减法指令,对两个数据进行了相加或者相减,除了一个和值或者一个差值外;如果出现最高位的进位或者借位,在标志寄存器中的这个进位标志CF位就被处理器设置成为1。 假设处理器执行二进制8位数据加法指令,实现8位二进制数:00111010和01111100相加。 运算结果是:10110110。 运算过程中,最高位没有向上再进位,所以这个运算结果将使得:CF=0。 如果是10101010和01111100相加,结果是[1]00100110。 注意,8位运算指令只指明8位和值保存在何处,出现的第9位、即向高位的进位(用了中括号表达)进入了标志寄存器CF位,所以这个运算结果将使得:CF=1。 进位标志是针对无符号整数运算设计的,反映无符号数据加减运算结果是否超出范围、是否需要利用进(借)位反映正确结果。 把上面两个例子,分别用二进制、十六进制和十进制表达出来,可能你理解得更好。