FCMOVcc
Coma flotante movimiento condicional
estableVMJITAOTinstruccion
Codificaciones
| Opcode | Instruccion | Op/En | 64 bits | Compat/Legacy | Descripcion |
|---|---|---|---|---|---|
DA C0+i | FCMOVB ST(0), ST(i) | Valido | Valido | Muévete si abajo (CF=1). | |
DA C8+i | FCMOVE ST(0), ST(i) | Valido | Valido | Mover si es igual (ZF=1). | |
DA D0+i | FCMOVBE ST(0), ST(i) | Valido | Valido | Mover si es inferior o igual (CF=1 o ZF=1). | |
DA D8+i | FCMOVU ST(0), ST(i) | Valido | Valido | Muévete si no está ordenado (PF=1). | |
DB C0+i | FCMOVNB ST(0), ST(i) | Valido | Valido | Muévete si no debajo (CF=0). | |
DB C8+i | FCMOVNE ST(0), ST(i) | Valido | Valido | Mover si no es igual (ZF=0). | |
DB D0+i | FCMOVNBE ST(0), ST(i) | Valido | Valido | Mover si no es inferior o igual (CF=0 y ZF=0). | |
DB D8+i | FCMOVNU ST(0), ST(i) | Valido | Valido | Muévete si no está sin orden (PF=0). |
Coste medido
Cargando las mediciones de arch-data...
Descripción
Pruebas las banderas de estado en el registro EFLAGS y mueve el operando de origen (segundo operando) al operando de destino (primer operando) si la condición de prueba dada es verdadera. La condición para cada os mnemónicos dados en la columna Descripción arriba y en el Capítulo 8 en el Intel(R) 64 e IA-32 Arquitecturas Software Manual del desarrollador, Volumen 1. El operando de origen está siempre en el registro ST(i) y el operando de destino es siempre ST(0).
Las instrucciones FCMOVcc son útiles para optimizar pequeñas construcciones IF. También ayudan a eliminar la sobrecarga de ramificación para las operaciones de IF y la posibilidad de subdivisiones erróneas por el procesador.
Un procesador no puede apoyar las instrucciones del FCMOVcc. El software puede comprobar si las instrucciones FCMOVcc son compatibles con la información de características del procesador con la instrucción CPUID (ver "COMISS--Comparar escalar Ordenado valores en coma flotante de precisión simple y Set EFLAGS" en este capítulo). Si se fijan los bits CMOV y FPU, se admiten las instrucciones FCMOVcc.
La operación de esta instrucción es la misma en modos no-64-bit y modo 64-bit.
Compatibilidad de arquitectura IA-32
Las instrucciones FCMOVcc fueron introducidas a la Arquitectura IA-32 en los procesadores familiares P6 y no están disponibles en procesadores IA-32 anteriores.
Operación
IF condition TRUE
THEN ST(0) := ST(i);
FI;
FPU Flags Affected
C1 Set to 0 if stack underflow occurred.
C0, C2, C3 Undefined.Excepciones coma flotante
#IS Stack underflow occurred.Integer Flags Afectó a Ninguno.
Excepciones
Modo protegido
#NM | CR0.EM[bit 2] o CR0.TS[bit 3] = 1. |
#UD | Si se utiliza el prefijo LOCK. |
Modo real
| Las mismas excepciones que en modo protegido. |
Modo virtual-8086
| Las mismas excepciones que en modo protegido. |
Modo de compatibilidad
| Las mismas excepciones que en modo protegido. |
Modo de 64 bits
| Las mismas excepciones que en modo protegido. |