| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 
 | zf          ; 零标志位(zero flag); 功能:记录相关指令执行后,结果是否为 0
 ; 若是,则 zf = 1,反之,zf = 0
 ; 比如:
 mov ax, 1
 sub ax, 1
 ; 执行后,结果为 0 ,则 zf = 1
 
 pf          ; 奇偶标志位(parity flag)
 ; 功能:记录相关指令执行后,其结果的所有 bit 位中 1 的个数是否为偶数
 ; 若 1 的个数为偶数,pf = 1,若为奇数,那么 pf = 0
 ; 比如:
 mov ax, 1
 add al, 10
 ; 执行后,结果为 0000_1011B,结果有 3 个 1 ,则 pf = 0
 
 sf          ; 符号标志位(sign flag)
 ; 功能:记录相关指令执行后,其结果是否为负
 ; 若结果为负,sf = 1;否则 sf = 0
 ; 比如:
 mov al, 10000001B
 add al, 1
 ; 执行后,结果为 1000_0010B,sf = 1
 
 cf          ; 进位标志位(carry flag)
 ; 功能:在进行无符号运算时
 ; 它记录了运算结果的最高有效位向更高有效位的进位值,或从更高位的借位值
 ; 若产生进位或借位,则 cf = 1,反之,cf = 0
 ; 比如:
 mov al, 97h
 sub al, 98h ; 执行后,(al) = ffh,cf = 1
 sub al, al  ; 执行后,(al) = 0,cf = 0
 
 of          ; 标志溢出位(overflow flag)
 ; 功能:记录了有符号数运算的结果是否发生了溢出
 ; 若发生了溢出,则 of = 1;反之,of = 0
 ; 比如:
 mov al, 98
 add al, 99
 ; (al) = (al) + 99 = 98 + 99 = 197 超出 -128 ~ 127 的范围
 ; 执行后将产生溢出,of = 1
 
 df          ; 方向标志位(direction flag)
 ; 功能:在串处理指令中,控制每次操作后 si、di 的增减
 ; df = 0,每次操作后 di、si 递增
 ; df = 1,每次操作后 di、si 递减
 
 |