
MOTOROLA
4-2
ADDRESSING MODES AND INSTRUCTION SET SUMMARY
For More Information On This Product,
Go to: www.freescale.com
RCPU
REFERENCE MANUAL
4.1.1 Memory Operands
Integer instructions operate on byte, half-word, and word operands. Floating-point
instructions operate on single-precision and double-precision floating-point oper-
ands. The address of a memory operand is the address of its lowest-numbered
byte. Operand length is implicit for each instruction. The PowerPC architecture
supports both big-endian and little-endian byte ordering. The default byte and bit
ordering is big-endian; see
3.2 Byte Ordering
for more information.
The operand of a single-register memory access instruction has a natural align-
ment boundary equal to the operand length. In other words, the “natural” address
of an operand is an integral multiple of the operand length. A memory operand is
said to be aligned if it is aligned at its natural boundary; otherwise it is misaligned.
For a detailed discussion of memory operands, see
SECTION 3 OPERAND CON-
VENTIONS
.
4.1.2 Addressing Modes and Effective Address Calculation
A program references memory using the effective address (EA) computed by the
processor when it executes a memory access or branch instruction, or when it
fetches the next sequential instruction.
The effective address is the 32-bit address computed by the processor when exe-
cuting a memory access or branch instruction or when fetching the next sequential
instruction. For a memory access instruction, if the sum of the effective address
and the operand length exceeds the maximum effective address, the storage op-
erand is considered to wrap around from the maximum effective address to effec-
tive address 0, as described in the following paragraphs.
Effective address computations for both data and instruction accesses use 32-bit
unsigned binary arithmetic. A carry from bit 0 is ignored.
Load and store operations have three categories of effective address generation:
Register indirect with immediate index mode. The d operand is added to the
contents of the GPR specified by the
r
A operand to generate the effective ad-
dress.
Register indirect with index mode. The contents of the GPR specified by
r
B
operand are added to the
contents of the GPR specified by the
r
A
operand to
generate the effective address.
Register indirect mode. The contents of the GPR specified by the
r
A operand
are used as the effective address.
Branch instructions have three categories of effective address generation:
Immediate addressing. The
BD or LI operands are sign extended with the two
low-order bits cleared to zero to generate the branch effective address.
Link register indirect. The contents of the link register with the two low-order
bits cleared to zero are used as the branch effective address.
Counter register indirect. The contents of the counter register with the two low-
order bits cleared to zero are used as the branch effective address.
Branch instructions can optionally load the link register with the next sequential in-
struction address (current instruction address + 4).
F
Freescale Semiconductor, Inc.
n
.