image.png


11.1 ZF标志(零标志位)

记录指令执行后,结果是否为0
标志位为1的时候为0, 表示位为0的时候不是0
image.png

11.2 PF标志(奇偶标志位)

执行指令后, 结果的所有二进制中1的个数是否为偶数
偶数PF=1 奇数PF=0

11.3 SF标志(符号标志位)

负数SF=1 非负SF=0
image.png
image.png

11.4 CF标志(进位标志位)

无符号运算有意义的标志位

11.5 OF标志(溢出标志位)

有符号运算有意义的标志位

11.6 adc指令

image.png
image.png

  1. MOV AX,001EH
  2. MOV BX,F000H
  3. MOV CX,1000H; 初始化第一个数
  4. ADD CX,1EF0H; 第一次计算,进位符变化
  5. ADC BX,1000H; 第二次计算,计算结果加上第一次计算的进位
  6. ADC AX,0020H; 第三次计算,计算结果加上第二次计算的进位

image.png

  1. adc128: push ax
  2. push cx
  3. push si
  4. push di
  5. sub ax, ax ; CF设置为0
  6. mov cx, 8
  7. s: mov ax, [si]
  8. adc ax, [di]
  9. mov [si], ax
  10. inc si
  11. inc si
  12. inc di
  13. inc di; inc不影响标志位的变更,用add di,2会直接影响标志位的变更
  14. loop s
  15. pop di
  16. pop si
  17. pop cx
  18. pop ax
  19. ret

11.7 sbb指令

image.png

11.8 cmp指令

image.png

11.9 检测比较结果的条件转移指令

转移是值能够修改IP
条件指的是根据某种条件
例如jcxz
image.png
image.png
image.png
事实上je只要判断标志位ZF=1就会转移
image.png
cmp和转移指令的联合使用, 类似高级语言中的IF语句
image.png

11.10 DF指令和串传送指令

image.png
image.png
image.png
image.png
image.png

11.11 pushf和popf

image.png
image.png

11.12 标志位在debug中的表示

image.png
image.png
image.png