Floating-Point Unit
MOTOROLA
M68060 USER’S MANUAL
6-19
6.5 FLOATING-POINT EXCEPTIONS
There are two classes of floating-point-related exceptions: nonarithmetic floating-point
exceptions and arithmetic floating-point exceptions. The latter relates to the handling of
arithmetic exceptions caused by floating-point activity, and the former includes unimple-
mented floating-point instructions, unsupported data types and unimplemented effective
addresses not related to the handling of arithmetic exceptions. The floating-point format
error exception is considered an integer unit exception (see
Section 8 Exception Process-
ing
). The following paragraphs detail floating-point exceptions and how the MC68060 and
M68060SP handle them. Table 6-10 lists the vector numbers related to floating-point excep-
tions.
The following paragraphs detail nonarithmetic floating-point exceptions.
6.5.1 Unimplemented Floating-Point Instructions
Table 6-11 lists the floating-point instructions which are unimplemented on the MC68060.
Refer to
8.2.4 Illegal Instruction and Unimplemented Instruction Exceptions
for back-
ground material. Motorola provides the M68060SP, a software package that includes float-
ing-point emulation for the MC68060. Refer to Appendix C for software porting information.
Table 6-10. Floating-Point Exception Vectors
Vector
Number
11
55
60
48
49
50
51
52
53
54
For floating-point pre-instruction exceptions, the PC points to the next floating-point instruction and the stack frame of for-
mat 0 is generated. For post-instruction exceptions, the PC points to the next instruction and the frame of format 3 is gen-
erated.
Vector Offset
(Hex)
02C
0DC
0F4
0C0
0C4
0C8
0CC
0D0
0D4
0D8
Frame
Format
2
0,2,3
0
0
0,3
0
0,3
0,3
0,3
0,3
Program
Counter
next
next
fault
fault
next
next
next
next
next
next
Assignment
Floating-Point Unimplemented Instruction Exception
Floating-Point Unimplemented Data Type
Unimplemented Effective Address Exception
Floating-Point Branch or Set on Unordered Condition
Floating-Point Inexact Result
Floating-Point Divide-by-Zero
Floating-Point Underflow
Floating-Point Operand Error
Floating-Point Overflow
Floating-Point SNAN