Section 4 Exception Handling
4.1 Overview
4.1.1 Types of Exception Handling and Their Priority
As indicated in table 4-1 (a) and (b), exception handling can be initiated by a reset, address error,
trace, interrupt, or instruction. An instruction initiates exception handling if the instruction is an
invalid instruction, a trap instruction, or a DIVXU instruction with zero divisor. Exception
handling begins with a hardware exception-handling sequence which prepares for the execution of
a user-coded software exception-handling routine.
There is a priority order among the different types of exceptions, as shown in table 4-1 (a). If two
or more exceptions occur simultaneously, they are handled in their order of priority. An
instruction exception cannot occur simultaneously with other types of exceptions.
Table 4-1 (a) Exceptions and Their Priority
Exception
Type
Start of Exception-
Handling Sequence
Priority
Source
Detection Timing
High
Reset
External, RES Low-to-High transition
internal
Immediately
Address error
Internal
Instruction fetch or data
read/write bus cycle
End of instruction execution
Trace
Internal
End of instruction execution,
if T = 1 in status register
End of instruction execution
Interrupt
External, End of instruction execution or
internal
end of exception-handling
sequence
End of instruction execution
Low
Table 4-1 (b) Instruction Exceptions
Exception Type
Start of Exception-Handling Sequence
Invalid instruction
Attempted execution of instruction with undefined code
Trap instruction
Started by execution of trap instruction
Zero divide
Attempted execution of DIVXU instruction with zero divisor
79