MOTOROLA
Chapter 3. Central Processing Unit
3-37
Exception Model
Note: The dot (.) suffix on a mnemonic indicates that the CR register update is enabled. The o suffix on a mnemonic
indicates that the overflow bit in the XER is enabled.
3.10.2 Recommended Simplified Mnemonics
To simplify assembly language coding, a set of alternative mnemonics is provided for some
frequently used operations (such as no-op, load immediate, load address, move register, and
complement register).
For a complete list of simplified mnemonics, see the RCPU Reference Manual.Programs
written to be portable across the various assemblers for the MPC500 architecture should not
assume the existence of mnemonics not described in that manual.
3.10.3 Calculating Effective Addresses
The effective address (EA) is the 32-bit address computed by the processor when executing
a memory access or branch instruction or when fetching the next sequential instruction.
The MPC500 architecture supports two simple memory addressing modes:
EA = (rA|0) + 16-bit offset (including offset = 0) (register indirect with immediate
index)
EA = (rA|0) + rB (register indirect with index)
These simple addressing modes allow efficient address generation for memory accesses.
Calculation of the effective address for aligned transfers occurs in a single clock cycle.
For a memory access instruction, if the sum of the effective address and the operand length
exceeds the maximum effective address, the storage operand is considered to wrap around
from the maximum effective address to effective address 0.
Effective address computations for both data and instruction accesses use 32-bit unsigned
binary arithmetic. A carry from bit 0 is ignored in 32-bit implementations.
3.11 Exception Model
The MPC500 exception mechanism allows the processor to change to supervisor state as a
result of external signals, errors, or unusual conditions that arise in the execution of
instructions. When exceptions occur, information about the state of the processor is saved
to certain registers, and the processor begins execution at an address (exception vector)
predetermined for each exception. Processing of exceptions occurs in supervisor mode.
Although multiple exception conditions can map to a single exception vector, a more
specific condition may be determined by examining a register associated with the exception
— for example, the DAE/source instruction service register (DSISR). Additionally, some
exception conditions can be explicitly enabled or disabled by software.