标志寄存器
32位的EFLAGS标志寄存器:标志寄存器又称程序状态字PSW(Program Status Word)
用于反映指令执行结果或控制指令的执行形式。许多指令执行后将影响有关的状态标志寄存器,不少指令的执行要利用某些标志,当然,也有很多指令与标志无关。
具有以下三种作用:
- 用于存储相关指令的某些执行结果
- 用来为CPU执行相关指令提供行为依据
- 用来控制CPU的相关工作方式
实际用处,如在OD中的寄存器窗口,是这样显示的:
EFL的三个16进制数字换成二进制12个数字就是下图标号为11-0的12位的值,其中有三个(绿色的)是固定的,他们分别对应。
如上图的EFL是246,转换为2进制就是:
0010 0100 0110
对应:ODIT SZ0A 0P1C
刚好和OD中显示的一样。
进位标志CF(carry flag):运算结果最高位产生进位或者借位,C就变成1,否则为0(无符号运算)
奇偶标志PF(parit