FSIN

Sine

estableVMJITAOTinstruccion

Codificaciones

OpcodeInstruccionOp/En64 bitsCompat/LegacyDescripcion
D9 FEFSINValidoValidoReemplazar ST(0) con la aproximación de su pecado.

Coste medido

Cargando las mediciones de arch-data...

Descripción

Calcula una aproximación del seno del operando de origen en el registro ST(0) y almacena el resultado en ST(0). El operando de origen debe ser dado en radians y debe estar dentro del rango -263 a +263. La siguiente tabla muestra el

resultados obtenidos al tomar el seno de varias clases de números, asumiendo que el flujo no ocurre.

Resultados FSIN

SRC (ST(0))DEST (ST(0))
-*
-F- 1 to + 1
-0-0
+0+0
+F- 1 to +1
+*
NanNan

Operación

IF -263 < ST(0) < 263
    THEN
          C2 := 0;
          ST(0) := fsin(ST(0)); // approximation of the mathematical sin function
    ELSE (* Source operand out of range *)
          C2 := 1;

FI;

FPU Flags Affected

C1                  Set to 0 if stack underflow occurred.

                    Set if result was rounded up; cleared otherwise.

C2                  Set to 1 if outside range (-263 < source operand < +263); otherwise, set to 0.

C0, C3              Undefined.

Excepciones coma flotante

#IS         Stack underflow occurred.
#IA         Source operand is an SNaN value, , or unsupported format.
#D          Source operand is a denormal value.
#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