3-382 Vol. 2A FSINCOS—Sine and Cosine
INSTRUCTION SET REFERENCE, A-M
Operation
IF ST(0) < 2
63
THEN
C2 ← 0;
TEMP ← cosine(ST(0));
ST(0) ← sine(ST(0));
TOP ← TOP − 1;
ST(0) ← TEMP;
ELSE (* Source operand out of range *)
C2 ← 1;
FI;
FPU Flags Affected
C1 Set to 0 if stack underflow occurred; set to 1 of stack overflow
occurs.
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.