Download presentation
Presentation is loading. Please wait.
Published byIda Halim Modified 5年之前
1
本节内容 JCC 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
2
昆山爱达人信息技术有限公司 QQ: 1、标志寄存器:EFLAGS
3
若算术操作产生的结果在最高有效位(most-significant bit)发生进位或借位则将其置1,反之清零。
昆山爱达人信息技术有限公司 QQ: 2、CF (bit 0) [Carry flag] 若算术操作产生的结果在最高有效位(most-significant bit)发生进位或借位则将其置1,反之清零。 这个标志通常用来指示无符号整型运算的溢出状态。 例: MOV AL,0xFE MOV AL,0x7F ADD AL, 或者 SUB AL,0xFF
4
3、PF(bit 2) [Parity flag]
昆山爱达人信息技术有限公司 QQ: 3、PF(bit 2) [Parity flag] 如果结果的最低有效字节(least-significant byte)包含偶数个1位则该位置1,否则清零。 利用PF可进行奇偶校验检查: 需要传输" ",数据中含5个"1",所以其奇校验位为"0",同时把" "传输给接收方,接收方收到数据后再一次计算奇偶性," "中仍然含有5个"1",所以接收方计算出的奇校验位还是"0",与发送方一致,表示在此次传输过程中未发生错误 例子: MOV AL,0CE ADD AL,0
5
4、AF(bit 4) [Adjust flag] 如果算术操作在结果的第3位发生进位或借位则将该标志置1,否则清零。
昆山爱达人信息技术有限公司 QQ: 4、AF(bit 4) [Adjust flag] 如果算术操作在结果的第3位发生进位或借位则将该标志置1,否则清零。 这个标志在BCD(binary-code decimal)算术运算中被使用。
6
经常与CMP或者TEST等指令一起使用: 例1:判断2个值是否相等 MOV EAX,100 MOV ECX,100 CMP EAX,ECX
昆山爱达人信息技术有限公司 QQ: 5、ZF(bit 6) [Zero flag] 若结果为0则将其置1,反之清零。 经常与CMP或者TEST等指令一起使用: 例1:判断2个值是否相等 MOV EAX,100 MOV ECX,100 CMP EAX,ECX (CMP 指令相当于SUB指令,但是相减的结果并不保存到第一个操作数中) 例2:判断某个值是否为0 TEST EAX,EAX (TEST指令相当于AND指令,但是与的结果并不保存到第一个操作数中)
7
6、SF(bit 7) [Sign flag] 该标志被设置为有符号整型的最高有效位。 (0指示结果为正,反之则为负) 例子:
昆山爱达人信息技术有限公司 QQ: 6、SF(bit 7) [Sign flag] 该标志被设置为有符号整型的最高有效位。 (0指示结果为正,反之则为负) 例子: MOV AL,0x7F MOV AL,0xFE ADD AL,2 ADD AL,2
8
7、OF(bit 11) [Overflow flag] 溢出标志OF用于反映有符号数加减运算所得结果是否溢出。 可以这样理解:
昆山爱达人信息技术有限公司 QQ: 7、OF(bit 11) [Overflow flag] 溢出标志OF用于反映有符号数加减运算所得结果是否溢出。 可以这样理解: 如果是无符号数运算,是否溢出看CF位。 如果是有符号数运算,是否溢出看OF位。 例子: MOV AL,0x7F ADD AL,2
9
8、DF(bit 10) [Direction Flag]
昆山爱达人信息技术有限公司 QQ: 8、DF(bit 10) [Direction Flag] 这个方向标志控制串指令(MOVS, CMPS, SCAS, LODS以及STOS)。设置DF标志使得串指令自动递减(从高地址向低地址方向处理字符串),清除该标志则使得串指令自动递增。 STD以及CLD指令分别用于设置以及清除DF标志。
10
昆山爱达人信息技术有限公司 QQ: 9、JCC指令 参考<JCC指令>
11
<汇编、C/C++线上班>学员可见
昆山爱达人信息技术有限公司 QQ: 课后练习: <汇编、C/C++线上班>学员可见
Similar presentations