beautypg.com

Intel 253666-024US User Manual

Page 412

background image

3-366 Vol. 2A

FPTAN—Partial Tangent

INSTRUCTION SET REFERENCE, A-M

This instruction’s operation is the same in non-64-bit modes and 64-bit mode.

Operation

IF ST(0) < 2

63

THEN

C2 ← 0;

ST(0) ← tan(ST(0));

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 (−2

63

< source operand < +2

63

); other-

wise, set to 0.

C0, C3

Undefined.

Floating-Point Exceptions

#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.

Protected Mode Exceptions

#NM

CR0.EM[bit 2] or CR0.TS[bit 3] = 1.

#MF

If there is a pending x87 FPU exception.

#UD

If the LOCK prefix is used.

Real-Address Mode Exceptions

Same exceptions as in protected mode.

Virtual-8086 Mode Exceptions

Same exceptions as in protected mode.