Contents
xv
Contents
5
Program Control
5-1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Describes the TMS320C2xx hardware and software features used in controlling program flow,
including program-address generation logic and interrupts. Also describes the reset operation
and power-down mode.
5.1
Program-Address Generation
5-2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.1
Program Counter (PC)
5-3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.2
Stack
5-4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.3
Micro Stack (MSTACK)
5-6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2
Pipeline Operation
5-7
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3
Branches, Calls, and Returns
5-8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.1
Unconditional Branches
5-8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.2
Unconditional Calls
5-8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.3
Unconditional Returns
5-9
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4
Conditional Branches, Calls, and Returns
5-10
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.1
Using Multiple Conditions
5-10
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.2
Stabilization of Conditions
5-11
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.3
Conditional Branches
5-11
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.4
Conditional Calls
5-12
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.5
Conditional Returns
5-12
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5
Repeating a Single Instruction
5-14
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6
Interrupts
5-15
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6.1
Interrupt Operation: Three Phases
5-15
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6.2
Interrupt Table
5-16
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6.3
Maskable Interrupts
5-18
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6.4
Interrupt Flag Register (IFR)
5-20
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6.5
Interrupt Mask Register (IMR)
5-22
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6.6
Interrupt Control Register (ICR)
5-24
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6.7
Nonmaskable Interrupts
5-27
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6.8
Interrupt Service Routines (ISRs)
5-29
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6.9
Interrupt Latency
5-30
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.7
Reset Operation
5-33
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.8
Power-Down Mode
5-36
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.8.1
Normal Termination of Power-Down Mode
5-36
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.8.2
Termination of Power-Down During a HOLD Operation
5-37
. . . . . . . . . . . . . . . . . .
6
Addressing Modes
6-1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Describes the operation and use of the TMS320C2xx data-memory addressing modes.
6.1
Immediate Addressing Mode
6-2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1.1
Examples of Immediate Addressing
6-2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2
Direct Addressing Mode
6-4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.1
Using Direct Addressing Mode
6-6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.2
Examples of Direct Addressing
6-6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .