sub al,al
al结果为00000000
CF:al结果00000000没有进位,所以CF=0
OF:八位寄存器有符号数值范围为-128到127,结果0在此范围之中,所以没有溢出,OF=0
SF:al寄存器所存储的结果数值首位符号位为0,非负数,所以SF=0
ZF:al结果数值为0,所以ZF=1
PF:al结果00000000中1的数量为0,为偶数,所以PF=1
mov al,10h
非算术运算,CF=0 OF=0 SF=0 ZF=1 PF=1
add al,90H
十六进制10H+90H等于二进制00010000+10010000=10100000
CF:二进制结果10100000没有进位,所以CF=0
OF:OF会将寄存器中的加法运算看为有符号加法运算,所以第一个加数00010000为十进制正数16,第二个加数10010000为十进制负数-112(寄存器会以补码形式存储负数,而补码=反码+1,逆推此公式,将10010000减1可得该负数的反码二进制数值,将反码取反,即可得到该负数的绝对值的原码),16-112=-96,已知8位寄存器的有符号数值范围为-128至127,-96在此范围之中,所以没有溢出,OF=0
SF:al寄存器存储的结果数值10100000首位符号位为1,所以SF=1
ZF:al寄存器存储的结果数值10100000不为0,所以ZF=0
PF:al寄存器存储的结果数值10100000中有两个1,为偶数,所以PF=1
依照上面的逻辑,可以得出以下的运算
mov al,80H
CF=0 OF=0 SF=1 ZF=0 PF=1
add al,80H
CF=1 OF=1 SF=0 ZF=1 PF=1
mov al,0FCH
CF=1 OF=1 SF=0 ZF=1 PF=1
add al,05H
CF=1 OF=0 SF=0 ZF=0 PF=0
mov al,7DH
CF=1 OF=0 SF=0 ZF=0 PF=0
add al,0BH
CF=0 OF=1 SF=1 ZF=0 PF=1