ADDRESSING
MOTOROLA ADDRESS GENERATION UNIT 4 - 25
4.4.2.4 Address-Modifier-Type Encoding Summary
There are three address modifier types:
Linear Addressing
Reverse-Carry Addressing
Modulo Addressing
Bit-reverse addressing is useful for 2k-point FFT addressing. Modulo addressing is useful
for creating circular buffers for FIFOs (queues), delay lines, and sample buffers up to
32,768 words long. The linear addressing is useful for general-purpose addressing. There
is a reserved set of modifier values (from 32,768 to 65,534) that should not be used.
Figure 4-15 gives examples of the three addressing modifiers using 8-bit registers for sim-
plification (all AGU registers are 16 bit). The addressing mode used in the example,
postincrement by offset Nn, adds the contents of the offset register to the contents of the
address register after the address register is accessed. The results of the three examples
are as follows:
The linear address modifier addresses every fifth location since the offset register
contains $5.
Using the bit-reverse address modifier causes the postincrement by offset Nn
addressing mode to use the address register, bit reverse the four LSBs, increment by
1, and bit reverse the four LSBs again.
The modulo address modifier has a lower boundary at a predetermined location, and
the modulo number plus the lower boundary establishes the upper boundary. This
boundary creates a circular buffer so that, if the address register is pointing within the
boundaries, addressing past a boundary causes a circular wraparound to the other
boundary.