<< Chapter < Page Chapter >> Page >
This module has details of assembly programming on the TI C6000 family of processors.


This module contains details on how to program the TI C6000 family of processors in assembly. The C6000 family of processors has many variants. Therefore, it would not be possible to describe how to program all the processors here. However, the basic architecture and instructions are similar from one processor to another. They differ by the number of registers, the size of the registers, peripherals on the device, etc. This module will assume a device that has 32 general-purpose 32-bit registers and eight functional units, like the C6713 processor.


  • SPRU198: TMS320C6000 Programmer's Guide
  • SPRU186: TMS320C6000 Assembly Language Tools User's Guide 
  • SPRU733: TMS320C67x/C67x+ DSP CPU and Instruction Set Reference Guide

Overview of c6000 architecture

The C6000 consists of internal memory, peripherals (serial port, external memory interface, etc), and most importantly, the CPU that has the registers and the functional units for execution of instructions. Although you don't need to care about the internal architecture of the CPU for compiling and running programs, it is necessary to understand how the CPU fetches and executes the assembly instructions to write a highly optimized assembly program.

Core dsp operation

In many DSP algorithms, the Sum of Products or Multiply-Accumulate (MAC) operations are very common. A DSP CPU is designed to handle the math-intensive calculations necessary for common DSP algorithms. For efficient implementation of the MAC operation, the C6000 CPU has two multipliers and each of them can perform a 16-bit multiplication in each clock cycle. For example, if we want to compute the dot product of two length-40 vectors a[n] and x[n], we need to compute:

y = n = 1 N a [ n ] x [ n ] size 12{y= Sum cSub { size 8{n=1} } cSup { size 8{N} } {a \[ n \] x \[ n \]} } {}

(For example, the FIR filtering algorithm is exactly the same as this dot product operation.) When an a[n] and x[n]are stored in memory, starting from n=1, we need to compute a[n]x[n]and add it to y (y is initially 0) and repeat this up to n=40. In the C6000 assembly, this MAC operation can be written as:

MPY .M a,x,prod ADD .L y,prod,y

Ignore .M and .L for now. Here, a , x , prod and y are numbers stored in memory and the instruction MPY multiplies two numbers a and x together and stores the result in prod . The ADD instruction adds two numbers y and prod together storing the result back to y .


Below is the structure of a line of assembly code.

Label: Parallel bars (||) [Condition] Instruction Unit Operands ;Comments

Labels identify a line of code or a variable and represent a memory address that contains either an instruction or data. The first character of a label must be must be in the first column and must be a letter or an underscore (_) followed by a letter. Labels can include up to 32 alphanumeric characters.

An instruction that executes in parallel with the previous instruction signifies this with parallel bars (||). This field is left blank for an instruction that does not execute in parallel with the previous instruction.

Questions & Answers

the art of managing the production, distribution and consumption.
Satangthem Reply
what is economics
Khawar Reply
marginal utility is the additional satisfaction one derives from consuming additional unit of a good or service.
It's the allocation of scarce resources.
marginal utility please?
marginal utility is the additional satisfaction one derives from consuming additional unit of a good or service.
I know the definition, but I don't understand its meaning.
what is the must definition of economic please?
demand lfs
Economics is derived from the word Oikonomia which means management of household things. Thus, Economics is a study of household things with the constrains of allocating scare resources.
what is Open Market Operation
Adu Reply
dominating middlemen men activities circumstances
Christy Reply
what Equilibrium price
Adji Reply
what is gap
who is good with the indifference curve
What is diseconomic
Alixe Reply
what are the types of goods
how can price determination be the central problem of micro economics
simon Reply
marginal cost formula
Nandu Reply
you should differentiate the total cost function in order to get marginal cost function then you can get marginal cost from it
What about total cost
how can price determination be the central problem if micro economics
formula of cross elasticity of demand
Theresia Reply
what is ceteris paribus
Priyanka Reply
what is ceteris parabus
Ceteris paribus - Literally, "other things being equal"; usually used in economics to indicate that all variables except the ones specified are assumed not to change.
What is broker
land is natural resources that is made by nature
What is broker
what is land
What is broker
land is natural resources that is made by nature
whats poppina nigga turn it up for a minute get it
amarsyaheed Reply
what is this?
am from nigeria@ pilo
am from nigeria@ pilo
what is production possibility frontier
it's a summary of opportunity cost depicted on a curve.
please help me solve this question with the aid of appropriate diagrams explain how each of the following changes will affect the market price and quantity of bread 1. A
Manuela Reply
please l need past question about economics
Prosper Reply
ok let me know some of the questions please.
ok am not wit some if den nw buh by tommorow I shall get Dem
Hi guys can I get Adam Smith's WEALTH OF NATIONS fo sale?
hello I'm Babaisa alhaji Mustapha. I'm studying Economics in the university of Maiduguri
my name is faisal Yahaya. i studied economics at Kaduna state university before proceeding to West African union university benin republic for masters
Hi guys..I am from Bangladesh..
Wat d meaning of management
igwe Reply
disaster management cycle
Gogul Reply
cooperate social responsibility
Fedric Wilson Taylor also define management as the act of knowing what to do and seeing that it is done in the best and cheapest way
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get the best Algebra and trigonometry course in your pocket!

Source:  OpenStax, Dsp lab with ti c6x dsp and c6713 dsk. OpenStax CNX. Feb 18, 2013 Download for free at http://cnx.org/content/col11264/1.6
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Dsp lab with ti c6x dsp and c6713 dsk' conversation and receive update notifications?