
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
Information Manual
Instruction Set
April 1998
4-4
DRAFT COPY
Lucent Technologies Inc.
4.3 Addressing Modes
(continued)
4.3.1 Register Indirect Addressing (continued)
Mnemonics have been defined for indirect addressing. X represents data in the X-memory space, and Y repre-
sents data in the Y-memory space. They can have the following replacement values:
X = *pt++
or
*pt++i
Y = one of *rM, *rM++, *rM– – , or *rM++j
Note: M = one of 0, 1, 2, 3
i = postincrement or postdecrement register
j = postincrement or postdecrement register
The asterisk preceding the Y or X address register stands for the data pointed to by the address in the register.
The mnemonics have the following meaning:
*rM. This statement means the data pointed to by the address in the register rM. The contents of the register
are not altered by the operation.
*rM++, *pt++. The ++ following the address register indicates a postincrement of the address register. This
example means the data pointed to by the address in the register; add 1 to the contents of the register after the
operation is complete.
*rM– –. The – – following the address register indicates a postdecrement of the address register. This example
means the data pointed to by the address of the register: subtract 1 from the contents of the register after the
operation is complete.
*rM++j. The ++j following the address register indicates a postincrement of the address register. This example
means the data pointed to by the address in the register and add the value of register j to the contents of the
address register after the operation is complete. Negative values of j yield a postdecrement.
*pt++i. The ++i following the address register indicates a postincrement of the address register. This example
means the data pointed to by the address in the register and add the value of register i to the contents of the
address register after the operation is complete. Negative values of i yield a postdecrement.
Modulo (virtual shift) addressing uses indirect addressing to form the equivalent of a cyclic shift register within the
RAM. Addresses loaded into registers rb and re define the first and last physical addresses of the cyclic shift reg-
ister respectively. If a register is used as a memory pointer, its value is compared with re. If its value is equal to the
contents of re and the postincrement is +1, the value in rb is copied into the register after the memory access is
complete.
Note: Whenever re contains a value not equal to zero, modulo addressing is active. On reset, the value of re is
zero. Whenever modulo addressing is not used, this register should contain zero and should not be used to
store any number other than the address of the end of a modulo. Modulo addressing works only with *rM++,
*rMpz, and *rMzp.
Section 5.3, Y Address Arithmetic Unit (YAAU)
has more detail on modulo addressing.
Содержание DSP1611
Страница 18: ...Chapter 1 Introduction...
Страница 27: ...Chapter 2 Hardware Architecture...
Страница 52: ...Chapter 3 Software Architecture...
Страница 116: ...Chapter 4 Instruction Set...
Страница 154: ...Chapter 5 Core Architecture...
Страница 176: ...Chapter 6 External Memory Interface...
Страница 208: ...Chapter 7 Serial I O...
Страница 237: ...Chapter 8 Parallel I O DSP1617 Only...
Страница 261: ...Chapter 9 Parallel Host Interface PHIF DSP1611 18 27 28 29 Only...
Страница 275: ...Chapter 10 Bit I O Unit...
Страница 284: ...Chapter 11 JTAG Test Access Port...
Страница 306: ...Chapter 12 Timer...
Страница 313: ...Chapter 13 Bit Manipulation Unit...
Страница 325: ...Chapter 14 Error Correction Coprocessor DSP1618 28 Only...
Страница 350: ...Chapter 15 Interface Guide...
Страница 367: ...Appendix A Instruction Encoding...
Страница 379: ...Appendix B Instruction Set Summary...
Страница 381: ...aD extractz aS IM16 B 52 aD insert aS arM B 53 aD insert aS IM16 B 54 aD aS aaT B 55...
Страница 437: ...Index...