![](http://datasheet.mmic.net.cn/290000/XPC801ZP25_datasheet_16187868/XPC801ZP25_134.png)
PowerPC Architecture Compliance
MOTOROLA
MPC801 USER’S MANUAL
7-11
7
7.3.7.3.4 Instruction Storage Interrupt.
An instruction storage interrupt is never
generated by the hardware, but the software can branch to this location as a result of an
implementation specific instruction TLB error interrupt.
7.3.7.3.5 Alignment Interrupt.
An alignment interrupt occurs as a result of one of the
following conditions:
The operand of a floating-point load or store is not word aligned.
The operand of a load/store multiple is not word aligned.
The operand of a
lwarx
or
stwcx
is not word aligned.
The operand of a load/store individual scalar instruction is not naturally aligned
when MSR
LE
= 1.
An attempt to execute a multiple/string instruction is made when MSR
LE
= 1.
7.3.7.3.6 Program Interrupt.
A floating-point enabled exception type program interrupt is
not generated by the MPC801. Likewise, an illegal instruction type program interrupt is not
generated by the core, but an implementation dependent software emulation interrupt is
generated instead. A privileged instruction program interrupt is generated for an on-core
valid special-purpose register (SPR) field or any SPR encoded as an external special
register if SPR
0
=1 and MSR
PR
=1, as well as if an attempt to execute privileged instruction
occurred when MSR
PR
=1. See Table 6-11 for details.
7.3.7.3.7 Floating-Point Unavailable Interrupt.
The floating-point unavailable interrupt is
not generated by the MPC801. An implementation dependent software emulation interrupt
will be taken on any attempt to execute floating-point instruction, regardless of MSR
FP
.
7.3.7.3.8 Trace Interrupt.
A trace interrupt occurs if MSR
SE
= 1 and any instruction except
rfi
is successfully completed or if MSR
BE
= 1 and a branch is completed. Notice that the trace
interrupt does not occur after an instruction that causes an interrupt. The monitor/debugger
software must change the vectors of other possible interrupt addresses to single-step these
instructions. If this is unacceptable, other debug features can be used. Refer to
Section 18
Development Support
for more information. The following registers are set:
SRR0—Save/Restore Register 0
Set to the effective address of the instruction following the executed instruction.
SRR1—Save/Restore Register 1
1–4
Set to 0.
10–15
Set to 0.
Other
Loaded from bits 16–31 of the MSR. In the current implementation, Bit 30 of
the SRR1 is never cleared, except by loading a zero value from MSR
RI
.