标志寄存器(flag)
1用来存储相关指令的某些数据结果
2用来为CPU执行相关的指令提供行为依据
3用来控制CPU的相关工作方式
Flag寄存器是按位起作用,每一位都有专门的含义
8086CPU
0(CF),2(FF),4(AF),6(ZF),7(SF),8(TF),9(IF),10(DF),11(OF)都具有特殊含义,其他位没有使用(造成影响的大多数是运算指令(逻辑/算数))
ZF标志
零标志位,记录相关指令执行后,其结果是否为0,如果结果为0,那么ZF=1;不为0,那么ZF=0
PF标志
奇偶标志位,记录相关指令执行后,其结果的所有bit位中的1的个数是否为偶数,如果1的个数是偶数,PF=1,个数为奇数,PF=0
SF标志(7)
符号标志位,记录相关指令执行后,其结果如果是负数SF=1,如果非负数,SF=0
计算中的一个数据可以当作有符号数处理,也可以看作无符号数处理
00000001 无符号数1 有符号数+1/-1
如果我们把数据当作无符号运算,CF对我们没有任何意义
CF标志(0)
进位标志位,在进行无符号数运算时,他记录了运算结果