1: CF 进位标志, MBS 向高位的进位值 或 低位向MSB的进位值
如: 如下代码低位向MBS的进位值为1, MBS向高位的进位值为1. 两者执行或运算,CF = 1
- Assembly code
mov al, 0ffhadd al, 1h
但是如下代码,CF = 1 就不明白怎么回事了。
- C/C++ code
mov al, 9hneg al
2: OF:溢出标志: 向MBS的进位值。
如:
- Assembly code
mov al, 7fhadd al, 7fh;
------解决方案--------------------------------------------------------
OF 标记位,简单地说就是加法运算时,两正数加出了个负数,或两负数加成了个正数,这些都是错误的结果,溢出了,OF=1 。从判定规则上来说,就是次最高位是否向最高位产生进位如果和最高位是否向上产生进位不一致的话,OF=1 ;若两个进位状态一致,则 OF=0 。
------解决方案--------------------------------------------------------
《汇编语言:从实模式到保护模式》一书。