你的位置: 首页 > 通信技术 > 汇编语言

标志寄存器传送指令

2016-10-22 10:30:58 | 人围观 | 评论:

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





标签: