DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
Information Manual
Instruction Set
April 1998
4-18
DRAFT COPY
Lucent Technologies Inc.
4.5 Instruction Set
(continued)
4.5.3 Data Move Instructions (continued)
Data Move Instruction Examples
Data move instructions must be written in the exact format shown. If the instructions are written in any other way
(for example, R : Z instead of Z : R), the assembler produces an error message. All data move instructions can
execute in the cache except for the long immediate (R = IM16).
R = IM16 loads the 16-bit immediate data value (IM16) into the specified destination register (R). This data move
instruction cannot be executed in the cache.
SR = IM9 loads a 9-bit immediate data value (IM9) into one of the YAAU registers (j, k, rb, re, r0, r1, r2, or r3).
The 9 bits are loaded into the LSBs of the register. All registers are then zero-extended except for j and k which
are sign-extended. This special-case immediate instruction is often referred to as a short immediate or register
set instruction. Short immediate instructions require one word of program memory, execute in one cycle, and
can be executed inside the cache. The DSP1600 Assembler defaults to the long immediate if the value IM9 is
greater than 9 bits or if a label is used. The short immediate can be forced with the set mnemonic (if the value
IM9 is greater than 9 bits, it is truncated to 9 bits). For example, set r0 = 0xf00d will load r0 with 0x00d.
R = Y loads the data contained in the specified Y source into the specified destination register (R).
R = aS[l] loads the data contained in bits 31—16 (or 15—0 if aSl is specified) of the specified accumulator (aS)
into the specified destination register (R). If saturation on overflow is enabled (according to the SAT field of the
auc register), the transferred accumulator value is limited (see
Section 5.1, Data Arithmetic Unit
).
Y = R loads the data contained in the specified source register (R) into the specified Y destination.
aT[l] = R loads the data contained in the specified source register (R) into bits 31—16 (or 15—0 if aTl is speci-
fied) of the specified accumulator. If clearing of aTl is enabled (according to the CLR field of the auc register),
then aTl is cleared (0) when the high half is loaded. The guard bits are loaded with the value of bit 31.
Z : R loads contents of memory location (Z) into a register (R), and stores old contents of register (R) into mem-
ory location (Z). (See
Section 4.3.2, Compound Addressing
for an explanation of this data transfer mode).
DR = *(OFFSET) loads from a direct address. Five bits in the instruction are concatenated with 11 bits in the
ybase register to form a 16-bit address to Y memory. Data at that address is written to register DR.
*(OFFSET) = DR stores to a direct address. Data from register DR is written to the Y memory location specified
by the direct address.
push(*rM) = R is an optional assembly-language form of the statement *rM++ = R and is used for stack
operations. Data is written from register R to the memory location pointed to by the address in rM, and the
address is incremented.
R = pop(*rM) is an optional assembly-language statement that creates two DSP instructions: *rM-- followed by
R = *rM. This combination is used for stack operations. The pointer register rM is decremented, and data is writ-
ten from the new memory location to the register R. The decrement instruction is not interruptible, so interrupts
cannot corrupt the two-instruction pop sequence.
Содержание 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...