据统计90%查看本帖的人,都已经注册本站了哦
您需要 登录 才可以下载或查看,没有账号?立即注册
×
进位标志*F(Carry Flag):如果加法运算结果的最高位产生了一个进位,或者在减法运算过程中最高位不够减,向最高位的前面一位进行了借位,那么其值为1,否则为0 - 例1:观察Mov al,0xEF 丨 ADD,al,2的结果
- 例2:观察Mov al,0xFE 丨 ADD,al,2的结果
奇偶标志PF(Parity Flag):奇偶标志PF用于反映运算结果的最低有效字节中1的个数的奇偶性。如果1的个数为偶数,则PF的值为1,否则为0. 辅助进位标志AF(Auxiliary Carry Flag):在发生下列情况时,辅助进位标志AF的值为1,否则为0 - 1.在字操作时,发生低字节向高字节进位或借位时
- 2.在字节操作时,发生低4位向高4位进位或借位时
- 例1:观察Mov eax,0x55EEFFFF 丨 ADD EAX,2的结果
- 例2:观察MOV AX,5FEF 丨 ADD AX,2的结果
- 例3:观察MOV AL,4E 丨 ADD AL,2
零标志ZF(zero Flag):零标志位用来反映运算结果是否为0,如果运算结果是0,那么其值为1,否则为0.在判断运算结果是否为0时可以使用此标志位 - 例1:XOR EAX,EAX
- 例2:MOV EAX,2 丨 SUB EAX,2
符号标志SF(Sign Flag):符号标志SF用来反映运算结果的符号位,它与运算结果的最高位相同。 溢出标志位OF(Overflow Flag):溢出标志位OF用于反映有符号数加减运算所得到的结果是否溢出,如果运算结果超出当前位数所能表示的范畴,则称为溢出,OF的值被置为1,否则OF的值为0,在具体运算过程中OF会进行两个判断,分别为:一.符号位有没有进位,有进位得到1,无进位得到0,二.最高有效数值位向符号位产生的进位,有进位得到1,无进位得到0,最后将上述两个结果进行异或运算(xor),若运算结果为1,则将oF置为1,否则为0 - 最高位进位与溢出的区别
- 进位标志*F表示无符号数运算结果是否超出范围
- 溢出标志OF表示有符号数运算结果是否超出范围
- 溢出标志主要是给有符号运算使用的,在有符号运算中有如下规律
- 正 + 正 = 正,倘若结果为负,则说明有溢出
- 负 + 负 = 负,倘若结果为正,则说明有溢出
- 正 + 负永远不会溢出
|