FYL2X

Compute y log2x

estableVMJITAOTinstruccion

Codificaciones

OpcodeInstruccionOp/En64 bitsCompat/LegacyDescripcion
D9 F1FYL2XValidoValidoSustitúyase ST(1) con (ST(1) log2ST(0)) y pop la pila de registro.

Coste medido

Cargando las mediciones de arch-data...

Descripción

Computes (ST(1) log2 (ST(0))), almacena el resultado en el registro ST(1), y abre la pila de registro FPU. El operando de origen en ST(0) debe ser un número no cero positivo.

El siguiente cuadro muestra los resultados obtenidos al tomar el registro de varias clases de números, asumiendo que no se produce desbordamiento ni desbordamiento.

FYL2X Results

ST(1)-F****+F-0-F-Nan
-0***+0-0-0*Nan
+0***-0+0+0*Nan
+F****-F+0+F+Nan
+**--*++Nan

Operación

ST(1) := ST(1)  log2ST(0);
PopRegisterStack;

FPU Flags Affected

C1                        Set to 0 if stack underflow occurred.

                          Set if result was rounded up; cleared otherwise.

C0, C2, C3                Undefined.

Excepciones coma flotante

#IS                       Stack underflow occurred.
#IA                       Either operand is an SNaN or unsupported format.

Operando de origen en el registro ST(0) es un valor finito negativo (no -0).

#Z                        Source operand in register ST(0) is +/-0.
#D                        Source operand is a denormal value.
#U                        Result is too small for destination format.
#O                        Result is too large for destination format.
#P                        Value cannot be represented exactly in destination format.

Excepciones

Modo protegido
#NMCR0.EM[bit 2] o CR0.TS[bit 3] = 1.
#MFSi hay una excepción x87 FPU pendiente.
#UDSi 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.

Fuentes