SAHF
Tienda AH Into Flags
estableVMJITAOTinstruccion
Codificaciones
| Opcode | Instruccion | Op/En | 64 bits | Compat/Legacy | Descripcion |
|---|---|---|---|---|---|
9E | SAHF | ZO | invalid* | Valido | Carga SF, ZF, AF, PF y CF de AH en el registro EFLAGS. |
Coste medido
Cargando las mediciones de arch-data...
Banderas nombradas
CFAcarreoPFParidadAFAcarreo auxiliarZFCeroSFSigno
Descripción
Carga las banderas SF, ZF, AF, PF y CF del registro EFLAGS con valores de los bits correspondientes en el registro AH (bits 7, 6, 4, 2, y 0, respectivamente). Se ignoran los bits 1, 3 y 5 del registro AH; los bits reservados correspondientes (1, 3 y 5) en el registro EFLAGS permanecen como se muestra en la sección "Operación" a continuación.
Esta instrucción se ejecuta como se describe anteriormente en modo de compatibilidad y modo legado. Es válido en modo de 64 bits sólo si CPUID.80000001H:ECX.LAHF_SAHF_64[0] = 1.
Operación
IF IA-64 Mode
THEN
IF CPUID.80000001H:ECX[0] = 1;
THEN
RFLAGS(SF:ZF:0:AF:0:PF:1:CF) := AH;
ELSE
#UD;
FI
ELSE
EFLAGS(SF:ZF:0:AF:0:PF:1:CF) := AH;
FI;Banderas afectadas
Las banderas SF, ZF, AF, PF y CF se cargan con valores del registro AH. Los bits 1, 3 y 5 del registro EFLAGS no son afectados, con los valores restantes 1, 0 y 0, respectivamente.
Excepciones
Modo protegido
| Ninguno. |
Modo real
| Ninguno. |
Modo virtual-8086
| Ninguno. |
Modo de compatibilidad
| Ninguno. |
Modo de 64 bits
#UD | Si CPUID.80000001H:ECX.LAHF_SAHF_64[0] = 0. Si el prefijo LOCK es usado. |