8086汇编中的标识寄存器详解

时间秒杀一切 提交于 2020-04-09 20:02:40

每天都在学习。写点笔记。remark。

8086汇编中的标识寄存器叫flag。16位每一位都标识不一样的含义,

15 14 13 12 11(OF) 10(DF) 9(IF) 8(TF) 7(SF) 6(ZF) 5 4(AF) 3 2(PF) 1 0(CF)

以上flag寄存器中各个位数表示的情况。在8086cpu中只用到了0,2,4,6,7,8,9,10,11这9个位数,其他的位数没有任何意义。

CF Carry Flag ,进位标志位 在进行无符号运算的情况下,它记录了运算结果的最高位有效位像更高位的进位值,或从更高位的借位值 CY(carry yes 进位) NC(No carry 未进位)
PF Parity Flag    奇偶标志位 相关指令执行后,其结果所在bit位中1的个数是奇数或偶数,如果1个个数为偶数,则pf=1,为基数则pf=0 PE(parity even 偶) PO(parity odd 奇数)
AF Auxiliary Flag 辅助进位 AC(assistant carry进位) NA(no assistant carry 无进位)
ZF Zero Flag 零标志位 相关指令执行后,其结果是否为零,如果结果为零则zf=1 如果结果不为零则zf=0 ZF(zero等于零) NZ(no  zero不等于零)
SF Sign Flag 符号标识位 相关指令执行后,其结果是否为负,如果为负,则sf=1如果不为负数 则sf=0 NG(negative)负 PL(plus 正)
TF Trap Flag 追踪标志 当追踪标志TF被置为1时,CPU进入单步执行方式,即每执行一条指令,产生一个单步中断请求。这种方式主要用于程序的调试。指令系统中没有专门的指令来改变标志位TF的值,但程序员可用其它办法来改变其值。
IF Interrupt Flag  中断标志位 EI(enable interrupt许可) DI(disable interrupt 禁止)
DF Direction Flag  方向标志位 DN(Down减少) UP(UP增加)
OF Overflow Flag 溢出标志位 在进行有符号数运算的情况下,运算结果是否溢出,如果发生溢出,则of=1,未发生溢出 of=0 OV(overflow溢出) NV(no overflow未溢出)
指令 含义 检测的相关标识位
je 等于则转移(equal) zf=1
jne 不等于则转移(not equal) zf=0
jb 低于则转移(below) cf=1
jnb 不低于则转移(not below) cf=0
ja 高于则转移(above ) cf=0 && zf=0
jna 不高于则转移(not above) cf=1 && zf=1
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!