0%

汇编标志寄存器

1、标志寄存器Flag

Flag是16位的寄存器,有9个标志位,其中6个状态标志位,3个控制标志位

CPAZSO 对应为0 2 4 6 7 11

2、6个状态标志位

CF:进位或者借位 D7或者D15有进位或者借位时CF=1,并且debug显示为CY

否则CF=0,debug显示为NC

PF:奇偶标志位 运算结果低8位(AL AH等) 化为2进制 为奇数个1时PF=0 debug显示 PO

否则 偶数个1时PF=1 debug显示PE

AF:辅助进位标志 运算结果的低4位向前1位有进位或者借位时 AF=1,debug显示AC

否则无进位和借位时AF=0,debug显示NA

ZF:零标志位 运算结果为0时 则ZF=1,debug显示ZR

否则ZF=0,debug显示NZ

SF:符号标志位 运算结果为负数时,SF=1,debug显示NG

否则SF=0,debug显示PL

OF:溢出标志位 如果运算结果溢出(与常识不符合 例如两个正数相加为负数 或者两个异数相减为负数),则ZF=1,debug显示OV

否则ZF=0,debug显示NV

3、3个控制标志位

TF:追踪标志位

TF=1则单步执行,执行之后TF=0 即中断然后正常执行

IF:中断允许标志位

IF=1则允许CPU响应外部中断 debug 显示EI

IF=0,则禁止 debug显示DI

DF:方向标志位

DF=1,地址减方向 debug显示DN

DF=0,地址增方向 debug显示UP