
MOTOROLA
Chapter 4. Exceptions
4-5
Program
00700
A program exception is caused by one of the following exception conditions, which
correspond to bit settings in SRR1 and arise during execution of an instruction:
Floating-point enabled exception—A floating-point enabled exception condition
is generated when the following condition is met:
(MSR[FE0] | MSR[FE1]) & FPSCR[FEX] is 1.
(Not supported by the EC603e microprocessor.)
FPSCR[FEX] is set by the execution of a floating-point instruction that causes
an enabled exception or by the execution of one of the “move to FPSCR”
instructions that results in both an exception condition bit and its corresponding
enable bit being set in the FPSCR. (Not supported by the EC603e
microprocessor.)
Illegal instruction—An illegal instruction program exception is generated when
execution of an instruction is attempted with an illegal opcode or illegal
combination of opcode and extended opcode fields (including PowerPC
instructions not implemented in the 603e), or when execution of an optional
instruction not provided in the 603e is attempted (these do not include those
optional instructions that are treated as no-ops).
Privileged instruction—A privileged instruction type program exception is
generated when the execution of a privileged instruction is attempted and the
MSR register user privilege bit, MSR[PR], is set. In the 603e, this exception is
generated for
mtspr
or
mfspr
with an invalid SPR field if SPR[0] = 1 and
MSR[PR] = 1. This may not be true for all PowerPC processors.
Trap—A trap type program exception is generated when any of the conditions
specified in a trap instruction is met.
Floating-
point
unavailable
00800
A floating-point unavailable exception is caused by an attempt to execute a
floating-point instruction (including floating-point load, store, and move
instructions) when the floating-point available bit is disabled (MSR[FP] = 0).
Note that the EC603e microprocessor takes a floating-point unavailable exception
when execution of a floating-point instruction is attempted.
Decrementer
00900
The decrementer exception occurs when the most significant bit of the
decrementer (DEC) register transitions from 0 to 1. Must also be enabled with the
MSR[EE] bit.
Reserved
00A00–
00BFF
—
System call
00C00
A system call exception occurs when a System Call (
sc
) instruction is executed.
Trace
00D00
A trace exception is taken when MSR[SE] =1 or when the currently completing
instruction is a branch and MSR[BE] =1.
Reserved
00E00
The 603e does not generate an exception to this vector. Other PowerPC
processors may use this vector for floating-point assist exceptions.
Reserved
00E10–00FFF
—
Instruction
translation
miss
01000
An instruction translation miss exception is caused when an effective address for
an instruction fetch cannot be translated by the ITLB.
Figure 4-1. Exceptions and Conditions (Continued)
Exception
Type
Vector Offset
(hex)
Causing Conditions