dsp56800e Freescale Semiconductor, Inc, dsp56800e Datasheet - Page 220

no-image

dsp56800e

Manufacturer Part Number
dsp56800e
Description
16-bit Digital Signal Controller Core
Manufacturer
Freescale Semiconductor, Inc
Datasheet
Address Generation Unit
The high-order 2 bits of the M01 register determine the arithmetic mode for R0 and R1. A value of 00 for
M01[15:14] selects modulo arithmetic for R0. A value of 10 for M01[15:14] selects modulo arithmetic for
both R0 and R1. A value of 11 disables modulo arithmetic. The remaining 14 bits of M01 hold the size of
the buffer minus one.
6.8.4
For all instructions supporting modulo arithmetic (see Section 6.8.5, “Supported Memory Access
Instructions,” on page 6-29), there is always a “base pointer” and an “offset value” or “update value”. The
base pointer specifies an AGU register or absolute address which points to a location in the modulo buffer.
The offset (update) value is an immediate offset or AGU register which specifies the amount used as an
offset or an update to the pointer, and the size of the offsets are subject to the restriction in Section 6.8.9.2,
“Restrictions on the Offset Register,” on page 6-34.
For example, in the X:(Rn+N) addressing mode, the base pointer is Rn and the offset value is N. In the
X:(Rn)+N addressing mode, the base pointer is Rn and the update value is N.
6.8.4.1
Table 6-8 shows which operand is used as a base pointer and which is used as offset value for the
addressing modes (X: notation) or instructions listed below.
This table only applies to instructions where:
If either of these conditions is not true, then Table 6-8 can be ignored.
6-26
X:(Rn)
X:(Rn)+
X:(Rn)-
X:(Rn)+N
X:(Rn+N)
X:(RRR+x)
X:(Rn+>xxxx)
X:(Rn+>xxxx)
X:(Rn+>>xxxxxx)
modulo arithmetic is enabled, and
R0 (or R1) are used as source registers in the addressing mode or instruction.
Base Pointer and Offset Values in Modulo Instructions
Operand Placement Table
Addressing Mode
or Instruction
Table 6-8. Base Pointer and Offset/Update for DSP56800E Instructions
modulo arithmetic unit is undefined for these values and might result in
erratic program execution.
DSP56800E Core Reference Manual
Base Pointer
>xxxx
RRR
Rn
Rn
Rn
Rn
Rn
Rn
Rn
(Update Value)
Offset Value
(no offset)
>>xxxxxx
>xxxx
Rn
+1
-1
N
N
x
Freescale Semiconductor
Alternate use for this
addressing mode. Rn
must be positive for
correct modulo oper-
ation.
Comments

Related parts for dsp56800e