[050][汇编语言]flag标志寄存器

flag 标志寄存器

  • 传送指令(mov push pop)不影响 标志寄存器
  • 运算指令(add sub mul div inc or and)影响标志寄存器
      1      0  
ZF   是零    非零
PF   偶数    奇数     (一的个数)
SF   负数    非负数

无符号数运算
CF   负数    非负数

有符号数运算
OF   溢出    不溢出

ZF 第6位 零标志位(看是不是零)

结果【是0】  逻辑真  ZF = 1
结果【不是0】逻辑假  ZF = 0

PF 第2位 奇偶寄存器(看偶数/奇数个一)

【偶数个一】 PF = 1
【奇数个一】 PF = 0

SF 第7位 符号标志位(看负数与非负)

  • 进行有符号运算,看最高位(1-负数、0-正数)
【负数】    SF = 1
【非负数】  SF = 0

CF 第0位 进位标志符(无符号数运算)

【有进位】 CF = 1
【无进位】 CF = 0

OF 第11位 溢出标志符(有符号数运算)

【会溢出】 OF = 1
【没溢出】 OF = 0

标志寄存器在Debug中的表示

[050][汇编语言]flag标志寄存器_第1张图片
标志寄存器在Debug中表示.png
标志 值为1的标记 值为0的标志
OF 溢出/没溢出 OV NV
SF 负数/非负数 NG PL
ZF 零/非零 ZR NZ
PF 偶数/奇数(个1) PE PO
CF 进位/不进位 CY NC
DF 递减/递增 DN UP

你可能感兴趣的:([050][汇编语言]flag标志寄存器)