「操作系统」:The most useful condition codes

CF: Carry Flag.The most recent operation generated a carry out of the most significant bit. Used to detect overflow for unsigned operations.

ZF: Zero Flag. The most recent operation yielded zero.

SF: Sign Flag. The most recent operation yielded a negative value.

OF: Over Flag. The most recent operation caused a two's-complement overflow----either negative or positive

  For example, suppose we used one of the ADD instructions to perform the equivalent of the C assignment t = a+b, where variables a, b and t are integers. Then the condition codes would be set according to the following C expressions:

CF:    (unsigned) t < (unsigned) a    Unsigned overflow

ZF:    (t == 0)             Zero

SF:    (t < 0)               Negative

OF:      (a < 0 == b < 0) && (t < 0 != a < 0) Signed overflow

posted @ 2014-02-25 13:39  sangoly  阅读(160)  评论(0编辑  收藏  举报