目录
标志位的判断
题目:给出以下运算结果,求6个状态标识位的状态。
解答:
我们一个一个讲,
首先要了解每个状态位的含义,之后再关注算式中不同的区域
1. 进位标志位 (CF)
CF,英文名Carry Flag,进位标志位
置1条件:当最高位向更高位有进位,CF为1。
此题中,最高位是1与1相加,进了1位,
因此,
CF=1
2. 溢出标志位 (OF)
OF,Overflow Flag,溢出标志位
含义:[次高位向最高位的进位] 异或 [CF]。
此题中,次高位是0和1相加,再加上之前(次次高位)传过来的进位1,因此次高位的结果是0。
所以,[次高位向最高位的进位] = 1。
然后从上面的第1点,我们就知道CF = 1,
OF = [次高位向最高位的进位] 异或 [CF] = 1 ^ 1 = 0,因此
OF = 0.
总结CF和OF的意义如下:
- CF的意义:如果两个数是无符号的数,且CF = 1,说明溢出了。
- OF的意义:如果两个数是有符号的数,且OF = 1,那么结果是有溢出的。<