Download Print this page
Motorola Freescale Semiconductor DSP56000 User Manual
Motorola Freescale Semiconductor DSP56000 User Manual

Motorola Freescale Semiconductor DSP56000 User Manual

Hide thumbs Also See for Freescale Semiconductor DSP56000:

Advertisement

Quick Links

This appendix contains detailed information about each instruction in the DSP56000/
DSP56001 instruction set. An instruction guide is presented first to help understand the
individual instruction descriptions. This guide is followed by sections on notation and
addressing modes. Since parallel moves are allowed with many of the instructions, they
are discussed before the instructions. The instructions are then discussed in alphabetical
order.
A.1
INSTRUCTION GUIDE
The following information is included in each instruction description with the goal of mak-
ing each description self-contained:
1. Name and Mnemonic: The mnemonic is highlighted in bold type for easy refer-
ence.
2. Assembler Syntax and Operation: For each instruction syntax, the corresponding
operation is symbolically described. If there are several operations indicated on a
single line in the operation field, those operations do not necessarily occur in the
order shown but are generally assumed to occur in parallel. If a parallel data move
is allowed, it will be indicated in parenthesis in both the assembler syntax and oper-
ation fields. If a letter in the mnemonic is optional, it will be shown in parenthesis in
the assembler syntax field.
3. Description: A complete text description of the instruction is given together with
any special cases and/or condition code anomalies of which the user should be
aware when using that instruction.
4. Example: An example of the use of the instruction is given. The example is shown
in DSP56000/DSP56001 assembler source code format. Most arithmetic and logi-
cal instruction examples include one or two parallel data moves to illustrate the
many types of parallel moves that are possible. The example includes a complete
explanation, which discusses the contents of the registers referenced by the
instruction (but not those referenced by the parallel moves) both before and after
the execution of the instruction. Most examples are designed to be easily under-
stood without the use of a calculator.
5. Condition Codes: The status register is depicted with the condition code bits which
can be affected by the instruction highlighted in bold type. Not all bits in the status
register are used. Those which are reserved are indicated with a double asterisk
and are read as zeros.
6. Instruction Format: The instruction fields, the instruction opcode, and the instruc-
tion extension word are specified for each instruction syntax. When the extension
MOTOROLA
Freescale Semiconductor, Inc.
APPENDIX A
INSTRUCTION SET DETAILS
DSP56000/DSP56001 USER'S MANUAL
For More Information On This Product,
Go to: www.freescale.com
A - 1

Advertisement

loading

Summary of Contents for Motorola Freescale Semiconductor DSP56000

  • Page 1 6. Instruction Format: The instruction fields, the instruction opcode, and the instruc- tion extension word are specified for each instruction syntax. When the extension MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 1 For More Information On This Product,...
  • Page 2: Addressing Modes

    Nn and the correspond- ing address modifier register Mn. For example, the address register R0 may only use the A - 2 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 3 (PC), the system stack (SSH or SSL), and program (P) memory. Addressing modes may also be categorized by the ways in which they may be used. MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 3 For More Information On This Product, Go to: www.freescale.com...
  • Page 4 These addressing mode categories may be combined so that additional, more restrictive classifications may be defined. For example, the instruction descriptions may use a A - 4 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 5: Binary Operators

    Logical AND Operator ⊕ Logical Exclusive OR Operator “Is Transferred To” Operator Concatenation Operator memory alterable classification, which refers to addressing modes that are both mem- MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 5 For More Information On This Product, Go to: www.freescale.com...
  • Page 6 The assem- bler syntax ‘‘Nn’’ supports the future feature. The assembler syntax ‘‘N’’ may be used A - 6 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 7: Other Symbols

    Shifting and/or Limiting on a Data ALU Register Sign Ext Sign Externsion of a Data ALU Register Zero Zeroing of a Data ALU Register MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 7 For More Information On This Product, Go to: www.freescale.com...
  • Page 8 ‘‘Nn’’ in the address register indirect memory addressing modes. If ‘‘N’’ is specified, the offset register number is the same as the address register number. A - 8 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 9 The memory addressing mode is used to refer to operands in memory using an effective addressing field. Alterable Mode (A) The alterable addressing mode is used to refer to alterable or writable registers or memory. MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 9 For More Information On This Product,...
  • Page 10: Addressing Mode Modifiers

    The L bit is a latching overflow bit which indicates that an overflow has occurred in the data ALU or that data limiting has occurred when moving the contents of the Aand/or[lz B accumulators. The standard definition of the condition code bits is as follows. Exceptions to these standard definitions are given in Table A-5. A - 10 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 11: Parallel Move Descriptions

    Condition Code section of that instruction in bold text to alert the user to any special conditions con- cerning its use. MOTOROLA DSP56000/DSP56001 USER’S MANUAL...
  • Page 12 SR is not specified as a destination operand, the L bit is set if data limiting occurred. All ? bits are not affected otherwise. 14 ? Set if limiting occurs, not affected otherwise. A - 12 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 13 MS 8, 9, or 10 bits of an accumulator. Refer to A.4 CONDITION CODE COMPUTATION for complete details. MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 13 For More Information On This Product, Go to: www.freescale.com...
  • Page 14 The definition of the E and U bits varies according to the scaling mode being used. Refer to A.4 CONDITION CODE COMPUTATION for complete details. A - 14 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 15 Instruction Format: ABS D Opcode: DATA BUS MOVE FIELD OPTIONAL EFFECTIVE ADDRESS EXTENSION Instruction Fields: Timing: 2+mv oscillator clock cycles Memory: 1+mv program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 15 For More Information On This Product, Go to: www.freescale.com...
  • Page 16 The actual 96-bit result is stored in memory using the A10 and B10 operands (instead of A and B) because shifting and limiting is not desired. A - 16 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 17 Instruction Format: ADC S,D Opcode: DATA BUS MOVE FIELD OPTIONAL EFFECTIVE ADDRESS EXTENSION Instruction Fields: Timing: 2+mv oscillator clock cycles Memory: 1+mv program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 17 For More Information On This Product, Go to: www.freescale.com...
  • Page 18 B0) by loading the 24-bit operand into X0 or Y0, forming a 48-bit word by loading X1 or Y1 with the sign extension of X0 or Y0 and executing an ADD X,A or ADD Y,A instruc- tion. Condition Codes: A - 18 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 19 0 1 1 0 X1,A 1 1 0 0 0 1 1 1 X1,B 1 1 0 1 Timing: 2+mv oscillator clock cycles Memory: 1+mv program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 19 For More Information On This Product, Go to: www.freescale.com...
  • Page 20 C — Set if a carry (or borrow) occurs from bit 55 of A or B result. A - 20 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 21 Refer to A.4 CONDITION CODE COMPUTATION for complete details. Instruction Format: ADDL Opcode: DATA BUS MOVE FIELD OPTIONAL EFFECTIVE ADDRESS EXTENSION Instruction Fields: Timing: 2+mv oscillator clock cycles Memory: 1+mv program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 21 For More Information On This Product, Go to: www.freescale.com...
  • Page 22 V — Set if overflow has occurred in A or B result C — Set if a carry (or borrow) occurs from bit 55 of A or B result. A - 22 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 23 Instruction Format: ADDR S,D Opcode: DATA BUS MOVE FIELD OPTIONAL EFFECTIVE ADDRESS EXTENSION Instruction Fields: Timing: 2+mv oscillator clock cycles Memory: 1+mv program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 23 For More Information On This Product, Go to: www.freescale.com...
  • Page 24 N — Set if bit 47 of A or B result is set Z— Set if bits 47–24 of A or B result are zero V — Always cleared Instruction Format: AND S,D A - 24 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 25 OPTIONAL EFFECTIVE ADDRESS EXTENSION Instruction Fields: A 0 (only A1 is changed) B 1 (only B1 is changed) Timing: 2+mv oscillator clock cycles Memory: 1+mv program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 25 For More Information On This Product, Go to: www.freescale.com...
  • Page 26 U — Cleared if bit 4 of the immediate operand is cleared N — Cleared if bit 3 of the immediate operand is cleared Z— Cleared if bit 2 of the immediate operand is cleared A - 26 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 27 #xx=8-bit Immediate Short Data — i i i i i i i i CCR 0 1 OMR 1 0 Timing: 2 oscillator clock cycles Memory: 1 program word MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 27 For More Information On This Product, Go to: www.freescale.com...
  • Page 28 V — Set if bit 55 of A or B result is changed due to left shift C — Set if bit 55 of A or B was set prior to instruction execution A - 28 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 29 Refer to A.4 CONDITION CODE COMPUTATION for complete details. Instruction Format: Opcode: DATA BUS MOVE FIELD OPTIONAL EFFECTIVE ADDRESS EXTENSION Instruction Fields: Timing: 2+mv oscillator clock cycles Memory: 1+mv program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 29 For More Information On This Product, Go to: www.freescale.com...
  • Page 30 C — Set if bit 0 of A or B was set prior to instruction execution Note: The definition of the E and U bits varies according to the scaling mode being used. A - 30 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 31 Refer to A.4 CONDITION CODE COMPUTATION for complete details. Instruction Format: Opcode: DATA BUS MOVE FIELD OPTIONAL EFFECTIVE ADDRESS EXTENSION Instruction Fields: Timing: 2+mv oscillator clock cycles Memory: 1+mv program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 31 For More Information On This Product, Go to: www.freescale.com...
  • Page 32 This instruction can use all memory alterable addressing modes. Example: BCHG #$7,X:<<$FFE2 ;test and change bit 7 in I/O Port B DDR Before Execution After Execution X:$FFE2 X;$FFE2 $000080 $000000 $0300 $0300 A - 32 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 33 S1 — Changed if bit 11 is specified. Not affected otherwise. T — Changed if bit 13 is specified. Not affected otherwise. LF — Changed if bit 15 is specified. Not affected otherwise. MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 33 For More Information On This Product, Go to: www.freescale.com...
  • Page 34 Absolute address 1 1 0 0 0 0 where “rrr” refers to an address register R0-R7 Timing: 4+mvb oscillator clock cycles Memory: 1+ea program words A - 34 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 35 I/O Short Address pppppp Memory SpaceS Bit Number bbbbb 000000 X Memory 00000 • • Y Memory • 10111 111111 Timing: 4+mvb oscillator clock cycles MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 35 For More Information On This Product, Go to: www.freescale.com...
  • Page 36 1 0 1 G G G See A.9 INSTRUCTION ENCODING and Table A-18 for specific register encodings. Timing: 4+mvb oscillator clock cycles Memory: 1+ea program words A - 36 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 37 Example: BCLR #$E,X:<<$FFE4 ;test and clear bit 14 in I/O Port B Data Reg. Before Execution After Execution X:$FFE4 X:$FFE4 $FFFFFF $FFBFFF $0300 $0301 MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 37 For More Information On This Product, Go to: www.freescale.com...
  • Page 38 S1 — Changed if bit 11 is specified. Not affected otherwise. T — Changed if bit 13 is specified. Not affected otherwise. LF — Changed if bit 15 is specified. Not affected otherwise. A - 38 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 39 Absolute address 1 1 0 0 0 0 where “rrr” refers to an address register R0-R7 Timing: 4+mvb oscillator clock cycles Memory: 1+ea program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 39 For More Information On This Product, Go to: www.freescale.com...
  • Page 40 Memory SpaceS Bit Number bbbbb 000000 X Memory 00000 • • Y Memory • 10111 111111 Timing: 4+mvb oscillator clock cycles Memory: 1+ea program words A - 40 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 41 1 0 1 G G G See A.9 INSTRUCTION ENCODING and Table A-18 for specific register encodings. Timing: 4+mvb oscillator clock cycles Memory: 1+ea program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 41 For More Information On This Product, Go to: www.freescale.com...
  • Page 42 Example: BSET #$0,X:<<$FFE5;test and clear bit 14 in I/O Port B Data Reg. Before Execution After Execution X:$FFE5 X:$FFE5 $000000 $000001 $0300 $0300 A - 42 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 43 S1 — Changed if bit 11 is specified. Not affected otherwise. T — Changed if bit 13 is specified. Not affected otherwise. LF — Changed if bit 15 is specified. Not affected otherwise. MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 43 For More Information On This Product, Go to: www.freescale.com...
  • Page 44 Absolute address 1 1 0 0 0 0 where “rrr” refers to an address register R0-R7 Timing: 4+mvb oscillator clock cycles Memory: 1+ea program words A - 44 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 45 Memory SpaceS Bit Number bbbbb 000000 X Memory 00000 • • Y Memory • 10111 111111 Timing: 4+mvb oscillator clock cycles Memory: 1+ea program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 45 For More Information On This Product, Go to: www.freescale.com...
  • Page 46 1 0 1 G G G See A.9 INSTRUCTION ENCODING and Table A-18 for specific register encodings. Timing: 4+mvb oscillator clock cycles Memory: 1+ea program words A - 46 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 47 1st bit (serial input flag IF1) in X:$FFEE and sets the carry bit C accordingly. This instruction sequence illustrates serial to parallel conversion using the carry bit C and the 24-bit A1 register. MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 47 For More Information On This Product, Go to: www.freescale.com...
  • Page 48 For destination operand SSH: SP — Decrement by 1. For other destination operands: Instruction Format: BTST #n,X:ea BTST #n,Y:ea Opcode: OPTIONAL EFFECTIVE ADDRESS EXTENSION A - 48 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 49 Memory SpaceS Bit Number bbbbb 000000 X Memory 00000 • • Y Memory • 10111 111111 Timing: 4+mvb oscillator clock cycles Memory: 1+ea program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 49 For More Information On This Product, Go to: www.freescale.com...
  • Page 50 Timing: 4+mvb oscillator clock cycles Memory: 1+ea program words Instruction Format: BTST #n,D Opcode: 16 15 Instruction Fields: #n=bit number=bbbbb, D=destination register=DDDDDD, xxxx=16-bit Absolute Address in extension word A - 50 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 51 1 0 1 G G G See A.9 INSTRUCTION ENCODING and Table A-18 for specific register encodings. Timing: 4+mvb oscillator clock cycles Memory: 1+ea program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 51 For More Information On This Product, Go to: www.freescale.com...
  • Page 52 L — Set if data limiting has occurred during parallelmove E — Always cleared U — Always set N — Always cleared Z— Always set V — Always cleared A - 52 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 53 Clear Accumulator Instruction Format: Opcode: DATA BUS MOVE FIELD OPTIONAL EFFECTIVE ADDRESS EXTENSION Instruction Fields: Timing: 2+mv oscillator clock cycles Memory: 1+mv program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 53 For More Information On This Product, Go to: www.freescale.com...
  • Page 54 24 LS zeros, sign extends the resulting 48-bit long word to 56 bits, subtracts the result from the 56-bit B accumulator and updates the condition code register. A - 54 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 55 Y1,A 1 1 1 0 Y0,A 1 0 1 0 Y1,B 1 1 1 1 Timing: 2+mv oscillator clock cycles Memory: 1+mv program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 55 For More Information On This Product, Go to: www.freescale.com...
  • Page 56 56-bit number, subtracts the result from the absolute value of the contents of the 56-bit A accumulator, and updates the condition code regis- ter. A - 56 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 57 Y0,B 1 0 1 1 Y1,A 1 1 1 0 Y1,B 1 1 1 1 Timing: 2+mv oscillator clock cycles Memory: 1+mv program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 57 For More Information On This Product, Go to: www.freescale.com...
  • Page 58 (48–N) bits of precision and whose N MS bits are zeros. The partial remainder is not a true remainder and must be corrected due to the nonrestoring nature of the division algo- A - 58 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 59 ;go to DONE if remainder is positive MOVE #$0,B0 ;clear LS 24 bits of B NEG B ;complement remainder if negative DONE ..MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 59 For More Information On This Product, Go to: www.freescale.com...
  • Page 60 Note that this routine assumes that the 56-bit positive, fractional, sign-extended dividend is stored in the A accumulator and that the 24-bit positive, fractional divisor is stored in A - 60 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 61 V — Set if the MS bit of the destination operand is changed as a result of the instruction’s left shift operation C — Set if bit 55 of the result is cleared. MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 61 For More Information On This Product, Go to: www.freescale.com...
  • Page 62 Y0,A 0 1 0 Y1,A 1 1 0 Y0,B 0 1 1 Y1,B 1 1 1 Timing: 2 oscillator clock cycles Memory: 1 program word A - 62 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 63 DO loop subject to certain restrictions. If LC equals zero, the DO loop is executed 65,536 times. All address register indirect addressing modes may be used to generate the effective address of the source operand. If immediate short data is speci- MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 63 For More Information On This Product, Go to: www.freescale.com...
  • Page 64 (SR) that is restored after a hardware DO loop has been exited. Note: The loop flag (LF) is cleared by a hardware reset. A - 64 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 65 *This restriction applies to the situation in which the DSP56000/DSP56001 simulator’s single-line assembler is used to change the last instruction in a DO loop from a one-word instruction to a two-word instruction. MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 65 For More Information On This Product, Go to: www.freescale.com...
  • Page 66 MOVE A,X:(R0);p ;last instruction in inner loop ;(in outer loop) END2 ;last instruction in outer loop ADD A,B X:(R1)+,X0 first instruction after outer loop END1 A - 66 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 67 -(Rn) 1 1 1 r r r where “rrr” refers to an address register R0-R7 Timing: 6+mv oscillator clock cycles Memory: 2 program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 67 For More Information On This Product, Go to: www.freescale.com...
  • Page 68 Absolute Address in 24-bit extension word Immediate Short Data hhhh i i i i i i i i 000000000000 • • 111111111111 Timing: 6+mv oscillator clock cycles A - 68 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 69 DO instruction, incre- mented by 1. Thus, if SP=3, the execution of the DO SP,expr instruction will load the loop counter (LC) with the value LC=4. MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 69 For More Information On This Product,...
  • Page 70 The shifted and limited value is loaded into LC, although A or B remain unchanged. Timing: 6+mv oscillator clock cycles Memory: 2 program words A - 70 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 71 ;go to NEXT ONWARD ;LC not equal to Y1, continue DO loop ;(last instruction in DO loop) NEXT MOVE #$123456,X1 ;(first instruction AFTER DO loop) MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 71 For More Information On This Product, Go to: www.freescale.com...
  • Page 72 The condition codes are not affected by this instruction. Instruction Format: ENDDO Opcode: 16 15 Instruction Fields: None Timing: 2 oscillator clock cycles Memory: 1 program word A - 72 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 73 N — Set if bit 47 of A or B result is set Z— Set if bits 47 - 24 of A or B result are zero V — Always cleared MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 73 For More Information On This Product,...
  • Page 74 Instruction Fields:Instruction Fields: X0 0 0 X1 1 0 Y0 0 1 Y1 1 1 Timing: 2+mv oscillator clock cycles Memory: 1+mv program words A - 74 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 75 Explanation of Example: The ILLEGAL instruction suspends normal instruction execu- tion and initiates ILLEGAL exception processing. Condition Codes: The condition codes are not affected by this instruction. MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 75 For More Information On This Product,...
  • Page 76 Freescale Semiconductor, Inc. ILLEGAL ILLEGAL Illegal Instruction Interrupt Instruction Format: ILLEGAL Opcode: 16 15 Instruction Fields: None Timing: 8 oscillator clock cycles Memory: 1 program word A - 76 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 77 U denotes the logical complement of U, denotes the logical OR operator, • denotes the logical AND operator, and ⊕ denotes the logical Exclusive OR operator MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 77 For More Information On This Product, Go to: www.freescale.com...
  • Page 78 Condition Codes: The condition codes are not affected by this instruction. Instruction Format: Opcode: 16 15 A - 78 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 79 1 0 1 r r r -(Rn) 1 1 1 r r r Absolute Address 1 1 0 0 0 0 where “rrr” refers to an address register R0-R7 MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 79 For More Information On This Product, Go to: www.freescale.com...
  • Page 80 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 Timing: 4+jx oscillator clock cycles Memory: 1+ea program words A - 80 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 81 A JCLR located at LA, LA–1, or LA–2 of the DO loop cannot specify the program control- ler registers SR, SP, SSH, SSL, LA, or LC as its target. JCLR SSH or JCLR SSL cannot follow an instruction that changes the SP. MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 81 For More Information On This Product, Go to: www.freescale.com...
  • Page 82 -(Rn) 1 1 1 r r r where “rrr” refers to an address register R0-R7 Timing: 6+jx oscillator clock cycles Memory: 2 program words A - 82 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 83 Y Memory • 10111 111111 Timing: 6+jx oscillator clock cycles Memory: 2 program words Instruction Format: JCLR #n,X:pp,xxxx JCLR #n,Y:pp,xxxx Opcode: ABSOLUTE ADDRESS EXTENSION MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 83 For More Information On This Product, Go to: www.freescale.com...
  • Page 84 1 1 1 G G G See A.9 INSTRUCTION ENCODING and Table A-18 for specific register encodings. Timing: 6+jx oscillator clock cycles Memory: 2 program words A - 84 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 85 Explanation of Example: In this example, program execution is transferred to the pro- gram address P:(R1+N1). Condition Codes: The condition codes are not affected by this instruction. MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 85 For More Information On This Product,...
  • Page 86 Absolute address 1 1 0 0 0 0 where “rrr” refers to an address register R0-R7 Timing: 4+jx oscillator clock cycles Memory: 1+ea program words A - 86 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 87 U denotes the logical complement of U, denotes the logical OR operator, • denotes the logical AND operator, and ⊕ denotes the logical Exclusive OR operator MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 87 For More Information On This Product, Go to: www.freescale.com...
  • Page 88 1. Condition Codes: The condition codes are not affected by this instruction. Instruction Format: JScc xxx Opcode: 16 15 A - 88 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 89 0 1 1 1 1 1 1 1 where ‘‘rrr’’ refers to an address register R0–R7 Timing: 4+jx oscillator clock cycles Memory: 1+ea program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 89 For More Information On This Product, Go to: www.freescale.com...
  • Page 90 All address register indirect addressing modes may be used to reference the A - 90 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 91 Y:<<$FFE3 is a zero. If the specified bit is not clear, no jump is taken and the program counter (PC) is incremented by 1. Condition Codes: The condition codes are not affected by this instruction. MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 91 For More Information On This Product,...
  • Page 92 Instruction Format: JSCLR #n,X:aa,xxxx JSCLR #n,Y:aa,xxxx Opcode: ABSOLUTE ADDRESS EXTENSION Instruction Fields: #n=bit number=bbbbb, aa=6-bit Absolute Short Address=aaaaaa, xxxx=16-bit Absolute Address in extension word A - 92 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 93 Memory SpaceS Bit Number bbbbb 000000 X Memory 00000 • • Y Memory • 10111 111111 Timing: 6+jx oscillator clock cycles Memory: 2 program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 93 For More Information On This Product, Go to: www.freescale.com...
  • Page 94 1 1 1 G G G See A.9 INSTRUCTION ENCODING and Table A-18 for specific register encodings. Timing: 6+jx oscillator clock cycles Memory: 2 program words A - 94 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 95 SR, SP, SSH, SSL, LA, or LC as its target. JSET SSH or JSET SSL cannot follow an instruction that changes the SP. A JSET instruction cannot be repeated using the REP instruction. MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 95 For More Information On This Product, Go to: www.freescale.com...
  • Page 96 1 0 0 r r r 10111 (Rn+Nn) 1 0 1 r r r -(Rn) 1 1 1 r r r where “rrr” refers to an address register R0-R7 A - 96 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 97 Y Memory • 10111 111111 Timing: 6+jx oscillator clock cycles Memory: 2 program words Instruction Format: JSET #n,X:pp,xxxx JSET #n,Y:pp,xxxx Opcode: ABSOLUTE ADDRESS EXTENSION MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 97 For More Information On This Product, Go to: www.freescale.com...
  • Page 98 1 1 1 G G G See A.9 Instruction Encoding and Table A-18 for specific register encodings. Timing: 6+jx oscillator clock cycles Memory: 2 program words A - 98 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 99 P:(R5) in program memory, and the contents of the R5 address regis- ter are then updated. Condition Codes: The condition codes are not affected by this instruction. MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 99 For More Information On This Product,...
  • Page 100 Absolute address 1 1 0 0 0 0 where “rrr” refers to an address register R0-R7 Timing: 4+jx oscillator clock cycles Memory: 1+ea program words A - 100 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 101 All address register indirect addressing modes may be used to reference the source operand S. Absolute short and I/O short addressing modes may also be used. MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 101 For More Information On This Product, Go to: www.freescale.com...
  • Page 102 (PC) is incremented by 1. Condition Codes: The condition codes are not affected by this instruction. Instruction Format: JSSET #n,X:ea,xxxx JSSET #n,Y:ea,xxxx Opcode: ABSOLUTE ADDRESS EXTEN- A - 102 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 103 Memory SpaceS Bit Number bbbbb 000000 X Memory 00000 • • Y Memory • 10111 111111 Timing: 6+jx oscillator clock cycles Memory: 2 program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 103 For More Information On This Product, Go to: www.freescale.com...
  • Page 104 Memory SpaceS Bit Number bbbbb 000000 X Memory 00000 • • Y Memory • 10111 111111 Timing: 6+jx oscillator clock cycles Memory: 2 program words A - 104 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 105 1 1 1 G G G See A.9 Instruction Encoding and Table A-18 for specific register encodings. Timing: 6+jx oscillator clock cycles Memory: 2 program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 105 For More Information On This Product, Go to: www.freescale.com...
  • Page 106 Z— Set if bits 47–24 of A or B result are zero V — Always cleared C — Set if bit 47 of A or B was set prior to instruction execution A - 106 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 107: Instruction Format

    Instruction Format: LSL D Opcode: DATA BUS MOVE FIELD OPTIONAL EFFECTIVE ADDRESS EXTENSION Instruction Fields: Timing: 2+mv oscillator clock cycles Memory: 1+mv program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 107 For More Information On This Product, Go to: www.freescale.com...
  • Page 108 Z— Set if bits 47–24 of A or B result are zero V — Always cleared C — Set if bit 24 of A or B was set prior to instruction execution A - 108 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 109 Instruction Format: LSR D Opcode: DATA BUS MOVE FIELD OPTIONAL EFFECTIVE ADDRESS EXTENSION Instruction Fields: Timing: 2+mv oscillator clock cycles Memory: 1+mv program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 109 For More Information On This Product, Go to: www.freescale.com...
  • Page 110 R0 and deposited in R0; however, for an LUA instruction, the contents of both the R0 and N0 address registers are not affected. Condition Codes: The condition codes are not affected by this instruction. A - 110 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 111 ‘‘rrr’’ refers to a source address register R0–R7 where ‘‘nnn’’ refers to a destination address register R0–R7 or N0–N7 Timing: 4 oscillator clock cycles Memory: 1 program word MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 111 For More Information On This Product,...
  • Page 112 Note: The definition of the E and U bits varies according to the scaling mode being used. Refer to A.4 CONDITION CODE COMPUTATION for complete details. Instruction Format: A - 112 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 113 Note: Only the indicated S1 S2 combinations are valid. X1 X1 and Y1 Y1 are not valid. Timing: 2+mv oscillator clock cycles Memory: 1+mv program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 113 For More Information On This Product, Go to: www.freescale.com...
  • Page 114 56-bit B accumulator, rounds the result into the B1 portion of the accumu- ∗ lator, and then zeros the B0 portion of the accumulator (X0 Y0+B=0.145227144519197 approximately =$00:1296CD:9619C8, which rounded value $00:1296CE:000000=0.145227193832397=B). A - 114 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 115 Note: Only the indicated S1 S2 combinations are valid. X1 X1 and Y1 Y1 are not valid. Timing: 2+mv oscillator clock cycles Memory: 1+mv program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 115 For More Information On This Product, Go to: www.freescale.com...
  • Page 116 Example: MOVE X0,A1 ;move X0 to A1 without sign ext. or zeroing Before Execution After Execution $234567 $234567 $FF:FFFFFF:FFFFFF $FF:234567:FFFFFF A - 116 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 117 OPTIONAL EFFECTIVE ADDRESS EXTENSION Instruction Fields: See Parallel Move Descriptions for data bus move field encoding. Timing: 2+mv oscillator clock cycles Memory: 1+mv program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 117 For More Information On This Product, Go to: www.freescale.com...
  • Page 118 Furthermore, the opcode symbols used in one instruction or parallel move are completely independent of the opcode symbols used in a different instruction or parallel move. A - 118 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 119 ( ..) Opcode: 16 15 INSTRUCTION OPCODE Instruction Format: (defined by instruction) Timing: mv oscillator clock cycles Memory: mv program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 119 For More Information On This Product, Go to: www.freescale.com...
  • Page 120 (i.e., there is a single instruction cycle pipeline delay). Example: ABS B #$18,R1 ;take absolute value of B, #$18 R1 Before Execution After Execution $0000 $0018 A - 120 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 121 R0-R7 1 0 r N0-N7 1 1 n n n where “rrr”=Rn number where “nnn”=Nn number Timing: mv oscillator clock cycles Memory: mv program words MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 121 For More Information On This Product, Go to: www.freescale.com...
  • Page 122 (i.e., there is a single instruction cycle pipeline delay). A - 122 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 123 Y1,N5, moves the 16 LS bits of the 24- bit value in the Y1 register into the 16-bit N5 register. Condition Codes: L — Set if data limiting has occurred during parallel move MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 123 For More Information On This Product,...
  • Page 124 R0-R7 1 0 r N0-N7 1 1 n n n where “rrr”=Rn number where “nnn”=Nn number Timing: mv oscillator clock cycles Memory: mv program words A - 124 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...
  • Page 125 Freescale Semiconductor, Inc. MOTOROLA DSP56000/DSP56001 USER’S MANUAL A - 125 For More Information On This Product, Go to: www.freescale.com...
  • Page 126 Freescale Semiconductor, Inc. A - 126 DSP56000/DSP56001 USER’S MANUAL MOTOROLA For More Information On This Product, Go to: www.freescale.com...

This manual is also suitable for:

Freescale semiconductor dsp56001