只是简单的说明了下标志寄存器的各个标志位,有点简陋,以后会尽量的再完善(前提看到好的东西的时候)
标志寄存器是16位特殊寄存器(flag)
其0.2.4.6.7.8.9.10.11分别为CF.PF.AF.ZF.SF.TF.IF.DF.OF,空位没对CPU没有意义
一. ZF标志
在第6位,叫零位标志位,如果CPU运算后,结果为0,则ZF=1,结果不为0,则ZF=0
如:mov ax,2
sub ax,1
运行后,因结果不为0,所以ZF=0
二. PF标志
在第2位,叫奇偶标志位,如果CPU运算后,结果中1个的个数为偶数,PF=1,为奇数时,PF=0
如: mov al,1
add al,10
运行后,0001+1010=1011,3个1,为奇数,所以PF=0
三. SF标志
在第7位,叫符号标志位,如果CPU运算后,结果为负,SF=1,结果为非负,SF=0
如: sub al,al
ZF=1,PF=1,SF=0
四. CF标志
在第0位,叫进位标志位,如果CPU运算后,发生进位或借位,则CF=1
如:mov al,98H
add al,al
运行后,CF=1(发生进位)
如:mov al,98H
sub al,99H
运行后,CF=1(发生借位)
五. OF标志
在第11位,叫益出标志位,只能有符号有意义,上面的CF,只对无符号有意义
六. DF标志
cld df=0
std df=1
七. TF单步中断