48
CHAPTER 4 RESET AND "EIT" PROCESSING
4.5.4 Coprocessor Not Found Traps
Coprocessor not found traps are generated by executing coprocessor instructions
using coprocessors not found in the system.
This section describes conditions for the generation of coprocessor not found traps, in
addition to operation, program counter (PC) values saved, and other information.
Overview of Coprocessor Not Found Traps
Coprocessor not found traps are generated by executing coprocessor instructions using coprocessors not
found in the system.
Conditions for Generation of Coprocessor Not Found Traps
A coprocessor not found trap is generated when the following conditions are met.
Execution of a "COPOP/COPLD/COPST/COPSV" instruction.
No coprocessor present in the system corresponds to the operand "#u4" in any of the above instructions.
Coprocessor Not Found Trap Operation
When a coprocessor not found trap is generated, the following operations take place.
(1) The contents of the program status (PS) are saved to the system stack.
(2) The address of the next instruction is saved to the system stack.
(3) The value of the system stack pointer (SSP) is reduced by 8.
(4) The value "0" is written to the "S" flag in the condition code register (CCR) in the "PS".
(5) The value "TBR + 3E0H" is stored in "PC".
"PC" Values Saved for Coprocessor Not Present Traps
The "PC" value saved to the system stack represents the address of the next instruction after the
coprocessor instruction that caused the trap.
General-purpose Registers during Execution of "COPST/COPSV" Instructions
Execution of any "COPST/COPSV" instruction referring to a coprocessor that is not present in the system
will cause undefined values to be transferred to the general-purpose register (R0 to R14) designated in the
operand. The coprocessor not found trap will be activated after the designated general-purpose register is
updated.