我对asm的东西有点新鲜。查看从C为TI的C28x CPU生成的asm并获得指令
MOVL *+XAR4[0],ACC
我知道它是一个长操作数移动指令,它接受累加器中的值并将其放在指向的位置....什么?
XAR4是辅助寄存器4但是'+'和'[0]'是做什么的?他们会采取额外的周期吗?
答案 0 :(得分:1)
“TMS320C28x DSP CPU和指令集的第5.6节”间接寻址模式“ 参考指南“:
*+XARn[3bit]
32bitDataAddr(31:0) = XARn + 3bit
Note: The immediate value is treated as an unsigned 3-bit value.
因此它会将ACC
存储在XAR4
指向的内存位置(XAR4+0
具体)。
当3位偏移为0时,可以将其保留:
The assembler also accepts ”*XARn” as an addressing mode.
This is the same encoding as the ”*+XARn[0]” mode