
MOTOROLA
Chapter 2. Programming Model
2-1
Chapter 2
Programming Model
20
20
This chapter describes the PowerPC programming model with respect to the PowerPC 603e
microprocessor. It consists of three major sections that describe the following:
Registers implemented in the 603e
Operand conventions
The 603e instruction set
2.1 Register Set
This section describes the register organization in the 603e as defined by the three levels of
the PowerPC architecture—the user instruction set architecture (UISA), the virtual
environment architecture (VEA), and the operating environment architecture (OEA), as
well as the 603e implementation-specific registers. Full descriptions of the basic register set
defined by the PowerPC architecture are provided in Chapter 2, “PowerPC Register Set,”
in
The Programming Environments Manual
.
The PowerPC architecture defines register-to-register operations for all computational
instructions. Source data for these instructions is accessed from the on-chip registers or is
provided as an immediate value embedded in the opcode. The three-register instruction
format allows specification of a target register distinct from the two source registers, thus
preserving the original data for use by other instructions and reducing the number of
instructions required for certain operations. Data is transferred between memory and
registers with explicit load and store instructions only.
Note that there may be registers common to other PowerPC processors that are not
implemented in the 603e. When the 603e detects special-purpose register (SPR) encodings
other than those defined in this document, it either takes an exception or it treats the
instruction as a no-op. (Note that exceptions are referred to as interrupts in the architecture
specification.) Conversely, some SPRs in the 603e may not be implemented in other
PowerPC processors, or may not be implemented in the same way in other PowerPC
processors.
2.1.1 PowerPC Register Set
The PowerPC UISA registers, shown in Figure 2-1, can be accessed by either user- or
supervisor-level instructions (the architecture specification refers to user- and supervisor-