【学习笔记】汇编:关于几个标志位的注意点
2018-02-26 16:51
162 查看
在学习的时候发现标志位很容易搞的很乱,简直难受,特记下来这其中的注意事项
所有标志位的注意点:
1、所有的标志位只有在运算的时候才会发生改变,即MOV PUSH POP等移动指令都不影响标志位
2、所有标志位的改变都是根据运算的位数来计算的,使用8位寄存器时只看8位寄存器结果,使用16位寄存器时只看16位寄存器结果
CF Carry Flag 进位标志符,这个是最简单的:
1、CF是进行无符号数运算,即00H ADD 80H会被当作 0+128
2、CF只要在运算时发生进位,即FF加到00或者 00减到FF都会使CF为1
3、CF为1时显示为CY(Carry Yes)为0时显示为NC(Not Carry)
SF Sign Flag 符合标志符
1、符号标志符把运算结果作符号数运算,把7FH看作 127 把 80H看作 -128
2、SF只要二进制的首位为1,则为1,首位为0则为0
3、SF为1时显示为NG(Negative),为0时显示为PL(Postive)
ZF Zero Flag标志位
1、ZF不分是符号数还是无符号数
2、ZF只要计算结果为0,就为1
3、ZF为1时显示为ZR(Zero),为0时显示为NZ(Not Zero)
PF Parity Flag 奇偶标志位
1、PF并不是计算数学意义上的奇偶性,如08H并不能看作是偶数
2、PF是计算二进制中1的个数的奇偶性,如08H的二进制为 0000 1000B,1的个数为1,所以为奇数,PF为0
3、PF为1时(偶数)显示为PE(Parity Even),PF为0时(奇数)显示为PO(Parity ODD)
OF OverFlow Flag 溢出标志位 (尤其注意)
1、OF判断的是符号数的计算,注意 80H ADD 80H时并不是从80H加到0而是 -127 - 127 结果溢出
2、OF只要从正数加到负数,或者是负数减到正数时就为1,其余结果为0
3、OF为1时显示为OV(OverFlow),OF为0时,显示为NV(Not OverFlow)
所有标志位的注意点:
1、所有的标志位只有在运算的时候才会发生改变,即MOV PUSH POP等移动指令都不影响标志位
2、所有标志位的改变都是根据运算的位数来计算的,使用8位寄存器时只看8位寄存器结果,使用16位寄存器时只看16位寄存器结果
CF Carry Flag 进位标志符,这个是最简单的:
1、CF是进行无符号数运算,即00H ADD 80H会被当作 0+128
2、CF只要在运算时发生进位,即FF加到00或者 00减到FF都会使CF为1
3、CF为1时显示为CY(Carry Yes)为0时显示为NC(Not Carry)
SF Sign Flag 符合标志符
1、符号标志符把运算结果作符号数运算,把7FH看作 127 把 80H看作 -128
2、SF只要二进制的首位为1,则为1,首位为0则为0
3、SF为1时显示为NG(Negative),为0时显示为PL(Postive)
ZF Zero Flag标志位
1、ZF不分是符号数还是无符号数
2、ZF只要计算结果为0,就为1
3、ZF为1时显示为ZR(Zero),为0时显示为NZ(Not Zero)
PF Parity Flag 奇偶标志位
1、PF并不是计算数学意义上的奇偶性,如08H并不能看作是偶数
2、PF是计算二进制中1的个数的奇偶性,如08H的二进制为 0000 1000B,1的个数为1,所以为奇数,PF为0
3、PF为1时(偶数)显示为PE(Parity Even),PF为0时(奇数)显示为PO(Parity ODD)
OF OverFlow Flag 溢出标志位 (尤其注意)
1、OF判断的是符号数的计算,注意 80H ADD 80H时并不是从80H加到0而是 -127 - 127 结果溢出
2、OF只要从正数加到负数,或者是负数减到正数时就为1,其余结果为0
3、OF为1时显示为OV(OverFlow),OF为0时,显示为NV(Not OverFlow)
相关文章推荐
- 【学习笔记】汇编:关于DEBUG工具使用的时候的一个注意事项
- c#学习笔记一 关于接口的几个疑问
- 【学习笔记】汇编:关于CMP的使用实例
- [javase学习笔记]-7.5 构造函数需要注意的几个细节
- 【学习笔记】汇编:关于内中断的规则
- NHibernate学习笔记(1) —— 使用NHibernate中应注意的几个小问题
- 【学习笔记】汇编:关于80x86CPU显存的规则
- 【C++学习笔记】关于预处理器的几个问题
- SAS学习笔记(四)——关于数据整合的几个细节
- JavaWeb技术学习笔记(2)-关于tomcat的几个问题
- 70-461学习笔记,关于几个日期函数
- [javase学习笔记]-7.5 构造函数须要注意的几个细节
- Java学习笔记——关于for嵌套的几个小练习
- 【学习笔记】汇编:关于CLD以及DF的用法,还有一点REP的使用
- C++学习笔记001-关于cin的几个用法
- C#学习笔记6-关于||和&&的注意项
- javaweb学习笔记:Servlet开发中需要注意的几个知识点
- java学习笔记---Java可变参数方法重载时要注意的几个问题
- ASP.NET学习笔记[2] - 关于使用Master.Page的几点注意事项
- 【deep learning学习笔记】最近读的几个ppt(一)