flag的1、3、5、12、13、14、15位在8086CPU中没有使用,不具有任何含义。而0、2、4、6、7、8、9、10、11位都具有特殊的含义
ZF标志
它记录相关指令执行后,
mov ax,1
sub ax,1
指令执行后,结果为0,则ZF = 1。
mov ax,2
sub ax,1
指令执行后,结果为1,则ZF = 0。
在计算机中0表示逻辑假,表示否定,所以当结果不为0 的时候ZF=0,表示“结果不是0”。
PF标志
它记录指令执行后,结果的所有二进制位中1的个数:
add al,10
执行后,结果为00001011B,其中有3(奇数)个1,则PF=0;
or al,10
执行后,结果为00000011B,其中有2(偶数)个1,则PF=1;
SF标志
它记录指令执行后,
mov al,10000001B
add al,1
结果: (al)=10000010B