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.

C6416 Assembly Instructions

Other Parts Discussed in Thread: TMS320C6416

Hi,

can you explain the following assembly instruction? 

[A0] STW B11,*B10[0]

  • Bugra,

    Have you read the CPU & Instruction Set Reference Guide for the C6416? You can find it from the TMS320C6416 Product Folder, Technical documents tab, User Guides. It has explanations for all the components of the assembly language syntax. There are numerous facets to the C6000 assembly syntax, so that document is the place to get this information rather than me trying to explain it by writing those words in a much poorer way and less complete.

    Specifically, I recommend looking up the individual instruction in the Instruction Set RefGuide and looking at the examples provided and descriptions about the various instruction components.

    Generally, I recommend avoiding C6000 assembly because it is very hard to master. The C language is much easier to work with and the compiler can do a great job of optimizing the code, often better than using hand assembly

    The instruction you listed stores a word-sized value from a register to a memory location whose address is in another register.

    Regards,
    RandyP
  • Hi, I am trying to figure out what "[A0]" means before STW in the following statement:
    [A0] STW B11,*B10[0]
  • Sorry for the delay.  It means a conditional instruction depends on the status of the A0 register

  • Hi Bugra,

    Ran is right.

    [A0] STW B11,*B10[0]

    Here, if the value of the register, "A0" is a nonzero, the instruction, "STW B11,*B10[0] " will get executed.
    If the value of the register, "A0" is zero, then the instruction, "STW B11,*B10[0] " will NOT get executed.

    For conditional operations, Conditional instructions are represented in code by using square brackets, [ ], surrounding the condition
    register name. Here , it is represented as "[A0]".

    For more info, please visit page no: 68 of "TMS320C64x/C64x+ DSP CPU and Instruction Set".