CF、SF、OF、ZF标志位

CF、SF、OF、ZF标志位

OF(overflow flag) 溢出标志位

溢出标志位 OF = 1 表示带符号整数运算时结果发生溢出。对于无符号整数运算,OF没有意义。

对于有符号数的溢出判断方式有:

1)采用一位符号位:思想为:'-'+'-'='+' 或 '+'+'+'='+'则为溢出,其他情况无溢出

2)采用双符号位:s1、s2表示运算结果的两个符号位

① s1s2 = 00 表示正数,无溢出

② s1s2 = 01 表示结果正溢出 ,即 '-'+'-'='+',且s2表示当前运算符号'-',s1表示原本正确的符号'+'

③ s1s2 = 10 表示结果负溢出 ,即 '+'+'+'='-',且s2表示当前运算符号'+',s1表示原本正确的符号'-'

④ s1s2 = 11 表示结果为负数,无溢出

3)采用一位符号位,根据数据位的进位情况判断溢出

Cs 表示两数之间符号位运算的进位

C1 表示最高数值位

V = Cs⊕C1 ,若 V=0 表示无溢出;V=1 表示有溢出

注:最高位产生进位不一定有溢出,可参考【图三】-(3 第三问

ZF(zero flag) 零标志位

ZF = 1表示结果为0,无论是有符号数还是无符号数,ZF都有意义

CF(carry flag) 进/借位标志位

表示无符号整数数加/减运算时的进位/借位。

加法时,CF = 1表示无符号数加法溢出, CF=最高进位输出

减法时,CF = 1表示有借位,即不够减, CF=最高位进位输出取反

--可参考【图二】中右边四个运算式子

对于有有符号数的整数运算没有意义

但是真要看的话, CF=最高位进位输出

--可参考【图三】(2)、(3)问

SF(symbol flag) 符号标志位

结果为负,即符号位为1时SF=1,否则为0.

注意:当产生溢出时,说明符号标志位置出错,可参看OF-2)-②与③

以上来自王道课本

以下来自王道视频

【图一】

【图二】

在这里插入图片描述

【图三】

相关推荐

宠物飞升攻略
365bet官网备用网站

宠物飞升攻略

07-02 👁️ 9659
熹妃传尚药攻略 尚药怎么玩
365bet娱乐场投注

熹妃传尚药攻略 尚药怎么玩

07-19 👁️ 8106
鲜肉馄饨 馄饨皮 馄饨汤底(附6种包法)
365bet官网备用网站

鲜肉馄饨 馄饨皮 馄饨汤底(附6种包法)

07-09 👁️ 234