EFLAGS(EFL)标志寄存器与JCC指令

本文详细探讨了八位旗标在算术运算中的功能,包括CF(进位标志)用于判断溢出,PF(奇偶校验)检查结果的位数,AF(辅助进位)在BCD运算中的运用,ZF(零标志)确定结果是否为零,SF(符号标志)反映结果的正负,OF(溢出标志)用于有符号数运算,以及DF(方向标志)控制串操作的递增或递减。
摘要由CSDN通过智能技术生成

一、

CF(bit 0)[Carry Flag]:若算术操作产生的结果在最高有效位(most-significant bit)发生进位或错位则将其置为1,反之清零。

        这个标志通常用来指示无符号整形运算的溢出状态。

        如果是无符号数运算,是否溢出看CF位。

        如果是有符号数运算,是否溢出看OF位。

二、

PF(bit 2)[Parity Flag]:如果结果的最低有效字节(least-significant byte)包含偶数个1位,则将其置为1,反之清零。

        利用PF可进行奇偶校验检查

三、AF(bit 4)[Auxiliary Carry Flag]:白皮书:Adjust Flag -- Set if an arithmetic operation genertates a carry or a borrow out of bit 3 of the result ;cleared otherwise .This flag is used in binary-code decimal (BCD)arithmetic.

        如果算术操作在结果中的第3位,发生进位或错位,则将该位置置1,否则清零。

        这个标志在BCD(binary-code decimal)算术运算中使用。

四、

ZF(bit 6)[Zero Flag]:零标志ZF用来反映运算结果是否为0。

        如果运算结果为0,则将其置1,反之清零。

五、

SF(bit 7)[Sign Flag]:符号标志SF,用来反映运算结果的符号位,它与运算结果的最高位相同。

        该标志给设置为有符号整形的最高有效位(0指示结果为正,反之为负)。

六、

OF(bit 11)[Overflow Flag]:溢出标志OF用于有符号数加减运算,所得结果是否溢出。

        如果是无符号数运算,是否溢出看CF位。

        如果是有符号数运算,是否溢出看OF位。

七、

DF(bit 10)[Direction Flag]:这个方向标志控制串指令(MOVS,CMPS,SCAS,LODS以及STOS).设置DF标志使得串指令自动递减(从高地址向低地址方向处理字符串),清除该标志则使得串指令自动递增。

        STD以及CLD指令分别用于设置以及清除DF标志。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值