beautypg.com

Texas Instruments TMS320C67X/C67X+ DSP User Manual

Page 6

background image

Contents

vi

SPRU733

Contents

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .