Opcode |
Instruction |
Op/ En |
64-Bit Mode |
Compat/ Leg Mode |
Description |
|
9F |
LAHF |
ZO |
Invalid1 |
Valid |
Load: AH := EFLAGS(SF:ZF:0:AF:0:PF:1:CF). |
1. Valid in specific steppings; see Description section.
Op/En |
Operand 1 |
Operand 2 |
Operand 3 |
Operand 4 |
|
ZO |
N/A |
N/A |
N/A |
N/A |
This instruction executes as described above in compatibility mode and legacy mode. It is valid in 64-bit mode only if CPUID.80000001H:ECX.LAHF-SAHF[bit 0] = 1.
IF 64-Bit Mode
THEN
IF CPUID.80000001H:ECX.LAHF-SAHF[bit 0] = 1;
THEN AH := RFLAGS(SF:ZF:0:AF:0:PF:1:CF);
ELSE #UD;
FI;
ELSE
AH := EFLAGS(SF:ZF:0:AF:0:PF:1:CF);
FI;
None. The state of the flags in the EFLAGS register is not affected.
|
#UD |
If the LOCK prefix is used. |
Same exceptions as in protected mode.
Same exceptions as in protected mode.
Same exceptions as in protected mode.
|
#UD |
If CPUID.80000001H:ECX.LAHF-SAHF[bit 0] = 0. If the LOCK prefix is used. |