MC68060 Software Package
C-26
M68060 USER’S MANUAL
MOTOROLA
C.4.2 Instructions Not Recommended
Emulated instructions that use the pre-decrement and post-increment addressing mode on
the system stack must not contradict the basic definition of a stack. An operation that uses
input operands below the stack (using the pre-decrement addressing mode) exhibits poor
programming structure since the instruction is using a value before it has been defined. In
addition, instructions that place a result on the stack using the post-increment addressing
mode exhibit poor programming structure since an unexpected exception such as an inter-
rupt or an unimplemented instruction exception would corrupt the result. The M68060SP
does not handle these instruction cases properly, and unpredictable behavior will be exhib-
ited when executing code of this type.
The M68060SP does not recover gracefully from these instruction cases because a perfor-
mance penalty would be incurred to handle them properly. To avoid imposing this perfor-
mance penalty on well-behaved systems, the task of avoiding these cases has been left
outside the M68060SP. If the system absolutely requires that these cases be handled grace-
fully, the system software envelope can pre-filter these cases prior to entering the
M68060SP. Table C-6 outlines these instructions.
Table C-6. Instructions Not Handled by the M68060SP
Instruction
Exception
Address
Mode
div{u,s}.l (64-bit)
Integer Unimplemented
–(ssp), dr:dq
mul{u,s}.l (64-bit)
Integer Unimplemented
–(ssp), dr:dq
cas.{w,l} (mis)
Integer Unimplemented
dc:du,–(ssp)
cas.{w,l} (mis)
Integer Unimplemented
dc:du,(ssp)+
f<op>.p (all)
Floating-Point Unimplemented Data Type
–(ssp), fpn
f<op>.p
Floating-Point Unimplemented Data Type
fpn, (ssp)+
f<op>.{b,w,l,s,d,x}
Floating-Point Unimplemented Instruction
–(ssp), fpn
fs<cc>.b
Floating-Point Unimplemented Instruction
–(ssp)
fmovem.x
Floating-Point Unimplemented Instruction
–(ssp), dn
fmovem.x
Floating-Point Unimplemented Instruction
dn, (ssp)+
f<op>.x
Underflow,SNAN
fpn, (ssp)+
f<op>.{b,w,l}
Enabled OPERR
fpn, (ssp)+