1 .标志送 ah 指令 lahf
2 . ah 送标志指令 sahf
3 .标志寄存器进栈指令 pushf
4 .标志寄存器出栈指令 popf
1 .标志送 ah 指令 lahf
语句格式: lahf
功能:将标志寄存器的低 8 位送入 ah 寄存器。
即( flags ) 7-0 → ah 。该指令的执行对标志位无影响。
【例】标志寄存器传送。
执行前:( flags ) =0485h ,( ax ) =0ffffh
执行指令: lahf
执行后:( flags ) =0485h ,( ax ) =085ffh
2 . ah 送标志指令 sahf
语句格式: sahf
功能:将 ah 的内容送入标志寄存器的低 8 位,高 8 位不变。即( ah ) → flags7-0 。
从该指令功能可看出, sahf 为 lahf 的逆过程。
3 .标志寄存器进栈指令 pushf
语句格式: pushf
功能:将标志寄存器的内容压入堆栈。即( flags )→↓( sp )。
4 .标志寄存器出栈指令 popf
功能: 将栈顶内容弹出送入标志寄存器中。即↑( sp )→ flags 。
popf 指令与 pushf 指令互为逆过程。
【例】将标志寄存器的单步标志 tf 置位。
pushf ;( flsgs )→↓( sp )
pop ax ;( sp )→ ax
or ax , 0100h ;设置 d8=tf=1
push ax ;( ax )→↓( sp )
popf ;( sp )→↓ flags ,即( ax )→↓ flags