ITEEDU

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.逻辑操作指令的小结

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