Texas Instruments TMS320C67X/C67X+ DSP Car Speaker User Manual


 
Contents
vi SPRU733Contents
3 Instruction Set 3-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Describes the assembly language instructions of the TMS320C67x DSP. Also described are
parallel operations, conditional operations, resource constraints, and addressing modes.
3.1 Instruction Operation and Execution Notations 3-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Instruction Syntax and Opcode Notations 3-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Overview of IEEE Standard Single- and Double-Precision Formats 3-9. . . . . . . . . . . . . . . .
3.4 Delay Slots 3-14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5 Parallel Operations 3-16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.1 Example Parallel Code 3-18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.2 Branching Into the Middle of an Execute Packet 3-18. . . . . . . . . . . . . . . . . . . . . . . .
3.6 Conditional Operations 3-19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7 Resource Constraints 3-20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.1 Constraints on Instructions Using the Same Functional Unit 3-20. . . . . . . . . . . . . .
3.7.2 Constraints on the Same Functional Unit Writing in the
Same Instruction Cycle 3-20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.3 Constraints on Cross Paths (1X and 2X) 3-21. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.4 Constraints on Loads and Stores 3-22. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.5 Constraints on Long (40-Bit) Data 3-23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.6 Constraints on Register Reads 3-24. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.7 Constraints on Register Writes 3-25. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.8 Constraints on Floating-Point Instructions 3-26. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8 Addressing Modes 3-30. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.1 Linear Addressing Mode 3-30. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.2 Circular Addressing Mode 3-31. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.3 Syntax for Load/Store Address Generation 3-32. . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9 Instruction Compatibility 3-34. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.10 Instruction Descriptions 3-34. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ABS (Absolute Value With Saturation) 3-38. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ABSDP (Absolute Value, Double-Precision Floating-Point) 3-40. . . . . . . . . . . . . . . . . . . . . .
ABSSP (Absolute Value, Single-Precision Floating-Point) 3-42. . . . . . . . . . . . . . . . . . . . . . .
ADD (Add Two Signed Integers Without Saturation) 3-44. . . . . . . . . . . . . . . . . . . . . . . . . . . .
ADDAB (Add Using Byte Addressing Mode) 3-48. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ADDAD (Add Using Doubleword Addressing Mode) 3-50. . . . . . . . . . . . . . . . . . . . . . . . . . . .
ADDAH (Add Using Halfword Addressing Mode) 3-52. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ADDAW (Add Using Word Addressing Mode) 3-54. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ADDDP (Add Two Double-Precision Floating-Point Values) 3-56. . . . . . . . . . . . . . . . . . . . .
ADDK (Add Signed 16-Bit Constant to Register) 3-59. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ADDSP (Add Two Single-Precision Floating-Point Values) 3-60. . . . . . . . . . . . . . . . . . . . . .
ADDU (Add Two Unsigned Integers Without Saturation) 3-63. . . . . . . . . . . . . . . . . . . . . . . .
ADD2 (Add Two 16-Bit Integers on Upper and Lower Register Halves) 3-65. . . . . . . . . . .
AND (Bitwise AND) 3-67. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B (Branch Using a Displacement) 3-69. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B (Branch Using a Register) 3-71. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B IRP (Branch Using an Interrupt Return Pointer) 3-73. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B NRP (Branch Using NMI Return Pointer) 3-75. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .