FPTAN
Partial Tangent
estableVMJITAOTinstruccion
Codificaciones
| Opcode | Instruccion | Op/En | 64 bits | Compat/Legacy | Descripcion |
|---|---|---|---|---|---|
D9 F2 | FPTAN | Valido | Valido | Reemplazar ST(0) con su tangente aproximado y empujar 1 hacia la pila FPU. |
Coste medido
Cargando las mediciones de arch-data...
Descripción
Computa el tangente aproximado del operando de origen en el registro ST(0), almacena el resultado en ST(0), y empuja un 1.0 en la pila de registro FPU. El operando de origen debe ser dado en radians y debe ser inferior a +/-263. El
siguiente tabla muestra los resultados desenmascarados obtenidos al computar el tangente parcial de varias clases de
números, asumiendo que la subida no ocurre.
Resultados FPTAN
| ST(0) SRC | ST(0) DEST |
|---|---|
| - | * |
| -F | - F to + F |
| -0 | -0 |
| +0 | +0 |
| +F | - F to + F |
| + | * |
| Nan | Nan |
Operación
IF ST(0) < 263
THEN
C2 := 0;
ST(0) := fptan(ST(0)); // approximation of tan
TOP := TOP - 1;
ST(0) := 1.0;
ELSE (* Source operand is out-of-range *)
C2 := 1;
FI;
FPU Flags Affected
C1 Set to 0 if stack underflow occurred; set to 1 if stack overflow 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 or overflow occurred.#IA Source operand is an SNaN value, , or unsupported format.#D Source operand is a denormal value.#U Result is too small for destination format.#P Value cannot be represented exactly in destination format.Excepciones
Modo protegido
#NM | CR0.EM[bit 2] o CR0.TS[bit 3] = 1. |
#MF | Si hay una excepción x87 FPU pendiente. |
#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. |