Rev. 1.50, 10/04, page 422 of 448
void ftrc_invalid(int sign, int *FPUL)
{
set_V();
if((FPSCR & ENABLE_V) == 0){
if(sign == 0) *FPUL = 0x7fffffff;
else *FPUL = 0x80000000;
}
else fpu_exception_trap();
}
FTRC Special Cases
FRn,DRn NORM +0 –0
Positive
Out of
Range
Negative
Out of
Range +INF –INF qNaN sNaN
FTRC
(FRn,DRn)
TRC 0 0 Invalid
+MAX
Invalid
–MAX
Invalid
+MAX
Invalid
–MAX
Invalid
–MAX
Invalid
–MAX
Note: When DN = 1, the value of a denormalized number is treated as 0.
Possible Exceptions:
• Invalid operation