本节内容 标志寄存器
1、标志寄存器:EFLAGS
2、 ZF(bit 6) [Zero flag] 若结果为0则将其置1,反之清零。
3、 CF (bit 0) [Carry flag] 若算术操作产生的结果在最高有效位(most-significant bit)发生进位或借位则将其置1,反之清零。 这个标志通常用来指示无符号整型运算的溢出状态。 例: MOV AL,0xFE MOV AL,0x7F ADD AL,2 或者 SUB AL,0xFF
4、 OF(bit 11) [Overflow flag] 可以这样理解: 如果是无符号数运算,是否溢出看CF位。 如果是有符号数运算,是否溢出看OF位。 例子: MOV AL,0x7F ADD AL,2
5、 SF(bit 7) [Sign flag] 例子: MOV AL,0x7F MOV AL,0xFE ADD AL,2 ADD AL,2
6、 DF(bit 10) [Direction Flag] 这个方向标志控制串指令(MOVS, CMPS, SCAS, LODS以及STOS)。设置DF标志使得串指令自动递减(从高地址向低地址方向处理字符串),清除该标志则使得串指令自动递增。 STD以及CLD指令分别用于设置以及清除DF标志。
7、 PF(bit 2) [Parity flag] 如果结果的最低有效字节(least-significant byte)包含偶数个1位则该位置1,否则清零。 利用PF可进行奇偶校验检查: 需要传输"11001110",数据中含5个"1",所以其奇校验位为"0",同时把"110011100"传输给接收方,接收方收到数据后再一次计算奇偶性,"110011100"中仍然含有5个"1",所以接收方计算出的奇校验位还是"0",与发送方一致,表示在此次传输过程中未发生错误 例子: MOV AL,0CE ADD AL,0
8、 AF(bit 4) [Adjust flag] 如果算术操作在结果的第3位发生进位或借位则将该标志置1,否则清零。 这个标志在BCD(binary-code decimal)算术运算中被使用。
9、 PUSHFD、POPFD指令
0512-57882866 www.bcdaren.com 昆山爱达人 1250121864 昆山爱达人信息技术有限公司 视频录制: 视频提供 视频录制: 联系电话: 0512-57882866 官网地址: www.bcdaren.com 联系公众号: 昆山爱达人 联系QQ: 1250121864 编程达人APP: