
MOTOROLA
Chapter 2. Programming Model
2-17
instructions defined for 32-bit implementations (the EC603e microprocessor supports all
32-bit instructions with the exception of those defined for floating-point operations).
A PowerPC processor invokes the illegal instruction error handler (part of the program
exception) when the unimplemented PowerPC instructions are encountered so they may be
emulated in software, as required.
A defined instruction can have invalid forms, as described in the following subsection.
2.3.1.3 Illegal Instruction Class
Illegal instructions can be grouped into the following categories:
Instructions that are not implemented in the PowerPC architecture. These opcodes
are available for future extensions of the PowerPC architecture; that is, future
versions of the PowerPC architecture may define any of these instructions to
perform new functions.
The following primary opcodes are defined as illegal but may be used in future
extensions to the architecture:
1, 4, 5, 6, 9, 22, 56, 57, 60, 61
Instructions that are implemented in the PowerPC architecture but are not
implemented in a specific PowerPC implementation. For example, instructions that
can be executed on 64-bit PowerPC processors are considered illegal by 32-bit
processors.
The following primary opcodes are defined for 64-bit implementations only and are
illegal on the 603e:
2, 30, 58, 62
All unused extended opcodes are illegal. The unused extended opcodes can be
determined from information in Section A.2, “Instructions Sorted by Opcode,” and
Section 2.3.1.4, “Reserved Instruction Class.” Notice that extended opcodes for
instructions that are defined only for 64-bit implementations are illegal in 32-bit
implementations, and vice versa.
The following primary opcodes have unused extended opcodes.
17, 19, 31, 59, 63 (primary opcodes 30 and 62 are illegal for all 32-bit
implementations, but as 64-bit opcodes they have some unused extended opcodes)
An instruction consisting entirely of zeros is guaranteed to be an illegal instruction.
This increases the probability that an attempt to execute data or uninitialized
memory invokes the system illegal instruction error handler (a program exception).
Note that if only the primary opcode consists of all zeros, the instruction is
considered a reserved instruction. This is further described in Section 2.3.1.4,
“Reserved Instruction Class.”