5.2.2 标志位操作指令

标志位操作指令是一组对标志位置位、复位、保存和恢复等操作的指令。

1、进位CF操作指令

、清进位指令CLC(Clear Carry Flag):CF←0
、置进位指令STC(Set Carry Flag):CF←1
、进位取反指令CMC(Complement Carry Flag):CF←not CF

2、方向位DF操作指令

、清方向位指令CLD(Clear Direction Flag):DF←0
、置方向位指令STD(Set Direction Flag):DF←1

3、中断允许位IF操作指令

、清中断允许位指令CLI(Clear Interrupt Flag):IF←0
其功能是不允许可屏蔽的外部中断来中断其后程序段的执行。

、置中断允许位指令STI(Set Interrupt Flag):IF←1
其功能是恢复可屏蔽的外部中断的中断响应功能,通常是与CLI成对使用的。

4、取标志位操作指令

LAHF(Load AH from Flags):AH←Flags的低8位
SAHF(Store AH in Flags):Flags的低8位←AH

5、标志位堆栈操作指令

PUSHF/PUSHFD(Push Flags onto Stack):把16位/32位标志寄存器进栈;
POPF/POPFD(Pop Flags off Stack):把16位/32位标志寄存器出栈;

6、逻辑操作指令的小结

下面是学习标志位指令的控件,浏览者可以运用此类指令,观看标志寄存器的相应变化。