7
the FPCP instruction that was preempted by the
exception
(i.e., the arithmetic or conditional
instruction attempted in the case of an exception pending from a previous instruction or
an F-line exception, or the conditional instruction in the case of a BSUN exception}. Thus,
if no modifications are made to the stack frame within the exception handler, an RTE
instruction causes the MPU to return and reinitiate the instruction that was being attempted
when the primitive was received. Refer to the appropriate user's manual for further details
on exception handling by the MPU.
SP
+$02
+$06
15 0
STATUS REGISTER
PROGRAM COUNTER
0 0 0 0 I VECTOR OFFSET
Figure 7-14. Pre-lnstruction Exception Stack Frame
7.4.2.6 TAKE MID-INSTRUCTION EXCEPTION PRIMITIVE. This primitive is used by the
FPCP when an exception occurs during the execution of an FMOVE FPm,<ea> instruction.
In the MC68882, an exception caused by a previous instruction is reported by the current
instruction using this primitive. See 7.4.2.5 TAKE PRE-INSTRUCTION EXCEPTION PRIMI-
TIVE for information common to both take exception primitives. The format of this primitive
is shown in Figure 7-15.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
I01 10 , , , 0 , I VECT0.. Ms,. I
Figure 7-15. Take Mid-Instruction Exception Primitive Format
The CA bit is always zero for this primitive, because there is an implied protocol pre-
emption in this service request. The PC bit is always zero, since a null primitive earlier in
the dialog for the move-out instruction is used to request the program counter transfer.
The vector number identifies the type of the
exception,
and is used by the main processor
to locate the exception handler routine.
In responseto this primitive, the MPU creates a ten-word stack frame on top of the currently
active supervisor stack. The format of this stack frame is shown in Figure 7-16. If the
exception is due to an FMOVE FPn,<ea> instruction, the ScanPC value is the address of
the instruction immediately following the FMOVE instruction. The value of the program
counter in the stack frame is the address of the F-line operation word of the FPCP instruction
that caused the exception. The operation word image contains the F-line word of the FMOVE
instruction. The effective address value is the memory address of the destination operand.
Note that the take mid-instruction exception primitive is used in this case solely for the
purpose of placing the evaluated effective address in the stack frame, to avoid requiring
an exception handler to recalculate it.
FREESCALE
7-18
MC68881/MC68882 USER'S MANUAL