Repository navigation
References
Every statement in this wiki is cross-checked against the original Texas Instruments documents below. These are the normative sources; where this wiki and a manual disagree, the manual is correct and the wiki should be fixed.
| TI number | Title | Year | Used for |
|---|---|---|---|
| SPRU056D | TMS320C5x User's Guide | 1998 | Architecture, CPU, registers, program control, addressing modes, the instruction set (chapter 6), pipeline, memory, peripherals. |
| SPRU018D | TMS320C1x/C2x/C2xx/C5x Assembly Language Tools User's Guide | 1995 | Assembler source syntax, directives, macro language, instruction-set summary, archiver, linker command language, hex-conversion utility, and COFF. The byte-level COFF layout (file, section, symbol and relocation structures) is in Appendix A, with the relocation types in Table A-9; this is what lib/c5xcoff/ implements. |
| TI number | Title | Year | Used for |
|---|---|---|---|
| SPRS030A | TMS320C5x / LC5x Fixed-Point DSP Data Sheet | 1996 | Electrical and timing facts, device variants, pinout-level detail. |
| SPRZ113A | TMS320C5x User's Guide Errata / Update | 1998 | Corrections applied on top of SPRU056D. |
| SPRU055B | TMS320C5x C Source Debugger User's Guide | 1998 | Debugger behaviour (context only; not required for the toolchain). |
All five are public Texas Instruments PDFs:
- SPRU056D: https://www.ti.com/lit/ug/spru056d/spru056d.pdf
- SPRU018D: https://www.ti.com/lit/ug/spru018d/spru018d.pdf
- SPRS030A: https://www.ti.com/lit/ds/sprs030a/sprs030a.pdf
- SPRZ113A: https://www.ti.com/lit/er/sprz113a/sprz113a.pdf
- SPRU055B: https://www.ti.com/lit/ug/spru055b/spru055b.pdf
Offline copies of the two primary manuals and the SPRZ113A errata are kept in
the repository under docs/.
- "The reference assembler / linker / hex utility" in the tool documentation
means the TI tools described in SPRU018D (
dspa,dsplnk,dsphex). - Register and instruction names are spelled as in SPRU056D.
- Instruction encodings are additionally checked against the toolchain's own
instruction table (
include/c5x_isa.h), which is itself derived from SPRU056D chapter 6.
MIT - (c) 2026 Grzegorz Worona grzegorz@worona.pl. See LICENSE.
Start here
The TMS320C5x processor
Writing assembly
The instruction set
A: ABS ADCB ADD ADDB ADDC ADDH ADDI ADDK ADDS ADDT ADLK ADRK AND ANDB ANDI ANDK APAC APL APLI APLK
B: B BACC BACCD BANZ BANZD BBNZ BBZ BC BCND BCNDD BD BDDD BDSD BGEZ BGZ BIOZ BIT BITT BKDK BLDD BLDP BLEZ BLKD BLKP BLPD BLZ BNC BNV BNZ BPSD BSAR BV BZ
C: CALA CALAD CALL CALLD CC CCD CLRC CMPL CMPR CNFD CNFP CONF CPL CPLI CPLK CRGT CRLT
E: EHWBS EHWBT EINT EMPSD EMRET ESTOP ESTPD ETRAP EXAR
F: FORT
L: LAC LACB LACC LACI LACK LACL LACT LALK LAMM LAR LARK LARP LDP LDPI LDPK LMMR LPH LRLK LST LST0 LST1 LT LTA LTD LTP LTS
M: MAC MACD MADD MADS MAR MPY MPYA MPYI MPYK MPYS MPYU MRKL
O: OPL OPLI OPLK OR ORB ORI ORK OUT
R: RC RET RETC RETCD RETD RETE RETI RFSM RHM ROL ROLB ROR RORB ROVM RPT RPTB RPTI RPTK RPTR RPTZ RSXM RTC RTXM RXF
S: SACB SACH SACL SAMM SAR SATH SATL SBB SBBB SBLK SBRK SC SETC SFL SFLB SFR SFRB SFSM SHM SMMR SOVM SPAC SPH SPL SPLK SPM SQRA SQRS SST SST0 SST1 SSXM STC STXM SUB SUBB SUBC SUBH SUBI SUBK SUBS SUBT SWI SXF
X: XC XOR XORB XORI XORK XPL XPLI XPLK
Building a program
The tools
Normative sources: TI SPRU056D and SPRU018D (see References).
License: MIT - (c) 2026 Grzegorz Worona.