<<<    Index    >>>
3-265
INSTRUCTION SET REFERENCE
FTST—TEST
Description
This instruction compares the value in the ST(0) register with 0.0 and sets the condition code
flags C0, C2, and C3 in the FPU status word according to the results (refer to the table below).
This instruction performs an “unordered comparison.” An unordered comparison also checks
the class of the numbers being compared (refer to “FXAM—Examine” in this chapter). If the
value in register ST(0) is a NaN or is in an undefined format, the condition flags are set to “unor-
dered” and the invalid operation exception is generated.
The sign of zero is ignored, so that –0.0 = +0.0.
Operation
CASE (relation of operands) OF
Not comparable:C3, C2, C0 
<
 111;
ST(0) > 0.0:C3, C2, C0 
<
 000;
ST(0) < 0.0:C3, C2, C0 
<
 001;
ST(0) = 0.0:C3, C2, C0 
<
 100;
ESAC;
FPU Flags Affected
C1
Set to 0 if stack underflow occurred; otherwise, cleared to 0.
C0, C2, C3
Refer to above table.
Floating-Point Exceptions
#IS
Stack underflow occurred.
#IA
The source operand is a NaN value or is in an unsupported format.
#D
The source operand is a denormal value.
Opcode
Instruction
Description
D9 E4
FTST
Compare ST(0) with 0.0.
Condition
C3
C2
C0
ST(0) > 0.0
0
0
0
ST(0) < 0.0
0
0
1
ST(0) = 0.0
1
0
0
Unordered
1
1
1
<<<    Index    >>>