dsp56800 Freescale Semiconductor, Inc, dsp56800 Datasheet - Page 89

no-image

dsp56800

Manufacturer Part Number
dsp56800
Description
16-bit Digital Signal Controllers
Manufacturer
Freescale Semiconductor, Inc
Datasheet
The type of arithmetic to be performed is not encoded in the instruction, but it is specified by the address
modifier register (M01 for the DSP56800 core). It indicates whether linear or modulo arithmetic is
performed when doing address calculations. In the case where there is not a modifier register for a
particular register set (R2 or R3), linear addressing is always performed. For address calculations using R0,
the modifier register is always used; for calculations using R1, the modifier register is optionally used.
Each address-register-indirect addressing mode is illustrated in the following subsections.
4.2.2.1
The address of the operand is in the address register Rj or SP. The contents of the Rn register are
unchanged. The M01 and N registers are ignored. This reference is classified as a memory reference. See
Figure 4-3.
Freescale Semiconductor
R0/M01/N
R1/M01/N
R2/N
R3/N
SP/N
Register Set
No Update: (Rj), (SP)
Linear or modulo
Linear or modulo
Linear
Linear
Linear
Arithmetic Types
Table 4-5. Address-Register-Indirect Addressing Modes Available
(R0)
(R0)+
(R0)-
(R0)+N
(R0+N)
(R0+xxxx)
(R1)
(R1)+
(R1)-
(R1)+N
(R1+N)
(R1+xxxx)
(R2)
(R2)+
(R2)-
(R2)+N
(R2+N)
(R2+xx)
(R2+xxxx)
(R3)
(R3)+
(R3)-
(R3)+N
(R3+N)
(R3+xxxx)
(SP)
(SP)-
(SP)+
(SP)+N
(SP+N)
(SP-xx)
(SP+xxxx)
Address Generation Unit
Addressing Modes Allowed
R0 always uses the M01 register to
specify modulo or linear arithmetic.
R0 can optionally be used as a
source register for the Tcc instruc-
tion. R0 is the only register allowed
as a counter for the NORM instruc-
tion.
R1 optionally uses the M01 register
to specify modulo or linear arith-
metic. R1 can optionally be used as
a destination register for the Tcc
instruction.
R2 supports a one-word indexed
addressing mode. R2 is not allowed
as either pointer for instructions that
perform two reads from X data
memory. No modulo arithmetic is
allowed.
R3 provides a second address for
instructions with two reads from
data memory. This second address
can only access internal memory. It
can also be used for instructions that
perform one access to data memory.
No modulo arithmetic is allowed.
The SP supports a one-word indexed
addressing mode, which is useful for
accessing local variables and passed
parameters. No modulo arithmetic is
allowed.
Notes
Addressing Modes
4-9

Related parts for dsp56800