标志寄存器
标志位 标志位名称/英文 *F=1 *F=0
CF 进位标志/Carry Flag CY/Carry/进位 NC/No Carry/无进位
PF 奇偶标志/Parity Flag PE/Parity Even/偶 PO/Parity Odd/奇
AF 辅助进位标志/Auxiliary Carry Flag AC/Auxiliary Carry/进位 NA/No Auxiliary Carry/无进位
ZF 零标志/Zero Flag ZR/Zero/等于零 NZ/Not Zero/不等于零
SF 符号标志/Sign Flag NG/Negative/负 PL/Plus/正
TF 陷阱标志/Trap Flag
IF 中断标志/Interrupt Flag EI/Enable Interrupt/允许 DI/Disable Interrupt/禁止
DF 方向标志/Direction Flag DN/Down/减少 UP/增加
OF 溢出标志/Overflow Flag OV/Overflow/溢出 NV/Not Overflow/未溢出
注意:CF是针对无符号数的,对于有符号数无意义;而OF是针对有符号数的,对于无符号数无意义。无符号数和有符号数是一个逻辑概念,是人为的,取决于你编程时是要使用有符号数还是有符号数。
不管如何看待,CPU在执行能改变flag的指令时,就已经包含了两种含义,也将得到用同一种信息记录的两个结果。而这两个结果在设置CF时,将数看作无符号数,设置OF时将数看作有符号数。
对于SF来说,仅仅是对有符号数运算结果正负的一种记录,我们只看最高位,如果最高位为1则为负SF=1,如果最高位为0则为正SF=0。如果把数据当作无符号数,则SF无意义。