5.7.2 Program Models
5.7.3 Register Conventions
5.7.4 Status Registers
TMS320C28x Rules and Guidelines
Only large memory model is supported for the program memory. So no special program memory
requirements are needed for this processor. Just to reemphasize the point, all the program code must be
completely relocatable and must not necessarily require placement in on-chip memory.
This section describes the rules and guidelines that apply to the use of the TMS320C28x on-chip
registers. Note that any register that is not described here must not be accessed by an algorithm; e.g.,
IMR, IFR, and peripheral control and status register. The table below describes all the registers that may
be accessed by an algorithm.
Register Use Type
AL Expressions, argument passing, and returns 16-bit results from functions Scratch (local)
AH Expressions and argument passing Scratch (local)
XAR0 Pointers and expressions Scratch (local)
XAR1 Pointers and expressions Preserve (local)
XAR2 Pointers, expressions, and frame pointers Preserve (local)
XAR3 Pointers and expressions Preserve (local)
XAR4 Pointers, expressions, argument passing, and returns 16- and 22-bit Scratch (local)
pointer values from functions
XAR5 Pointers, expressions, and arguments Scratch (local)
XAR6 Pointers and expressions Scratch (local)
XAR7 Pointers, expressions, indirect calls, and branches Scratch (local)
SP Stack pointer Preserve (local)
T Multiply and shift expressions Scratch (local)
TL Multiply and shift expressions Scratch (local)
PL Multiply expressions and Temp variables Scratch (local)
PH Multiply expressions and Temp variables Scratch (local)
DP Data page pointer Scratch (local)
The TMS320C28x device contains two-status registers: ST0 and ST1. Each status register is further
divided into several distinct fields that may be accessed separately using special instructions like SETC,
CLRC, SPM, etc.
ST0 Field Name Use Type
OVC/OVCU Overflow counter Scratch (local)
PM Produce shift mode Init (local)
V Overflow flag Scratch (local)
N Negative flag Scratch (local)
Z Zero flag Scratch (local)
C Carry flag Scratch (local)
TC Test/Control flag Scratch (local)
OVM Overflow mode Scratch (local)
SXM Sign extension mode Scratch (local)
SPRU352G – June 2005 – Revised February 2007 DSP-Specific Guidelines 59
Submit Documentation Feedback