This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Why the Example 5-7. Assembly Instructions are different from the Dependency Graph

Hi,

I am trying to read and write some assembly code for C6000. On manual TMS320C6000 Programmer’s Guide (SPRU198K, or earliar versions), chapter 5, Page 151, it gives example 5-7 the following code:

LDH .D1 *A4++,A2 ; load ai from memory
LDH .D1 *A3++,A5 ; load bi from memory
MPY .M1 A2,A5,A6 ; ai * bi
ADD .L1 A6,A7,A7 ; sum += (ai * bi)
SUB .S1 A1,1,A1 ; decrement loop counter
[A1] B .S2 LOOP ; branch to loop

On page 153, the "Dependency Graph of Fixed-Point Dot Product", right side, it gives "B" function unit ".S1". This does not seems a typo because there are several similar differences in other examples. This also exists in earlier version manuals. Could you tell me why the function units are different for instruction "B" in dependency graph and in the disassembly code?

Thanks.

  • That is a typo in the graph.  Here is one guess on how that happened ... The typo was introduced when the first graph was drawn.  All subsequent graphs were drawn by starting with a copy of that first graph.  And thus the same typo re-appears.

    Thanks and regards,

    -George