
MOTOROLA
Chapter 3. Instruction Set Model
3-9
Instruction Set Summary
3.2.2.2
Memory Operands
Memory operands may be bytes, half words, words, or double words, or, for the load/store
multiple and load/store string instructions, a sequence of bytes or words. The address of a
memory operand is the address of its first byte (that is, of its lowest-numbered byte).
Operand length is implicit for each instruction. The PowerPC architecture supports both
big- and little-endian byte ordering. The default byte and bit ordering is big-endian. See
Section 3.1.2, “Byte Ordering,” in the
Programming Environments Manual
, for more
information about big- and little-endian byte ordering.
The operand of a single-register memory access instruction has a natural alignment
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 about
memory operands, see Chapter 3, “Operand Conventions,” in the
Programming
Environments Manual
.
3.2.2.3
Effective Address Calculation
An effective address (EA) is the 32-bit sum computed by the processor core when
executing 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 memory operand is considered
to wrap around from the maximum effective address through effective 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
Register indirect with index mode
Register indirect mode
Section 3.2.4.3.2, “Integer Load and Store Address Generation,” describes effective
address generation for load and store operations.
Branch instructions have three categories of effective address generation:
Immediate
Link register indirect
Count register indirect
Section 3.2.4.4.1, “Branch Instruction Address Calculation,” describes branch instruction
effective address generation.
F
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
n
.