装配说明未知

时间:2014-03-12 09:43:32

标签: assembly

希望你能帮助我。我有一些asm代码与一个不熟悉的指令,我已经搜索但无法找到这种语法的示例。继承人的指示

ld 16,r3,r5

ld -1,*+ar5,r2    ; PRE-GAIN: -1 to reverse SD doubling

现在我知道它将r3加载到r5中,因为r5用于块的其余部分,但第一个参数是什么? 我认为它可能是一个乘法,但我有另一个其他指令,其中第一个参数是0。

我必须指出,该架构是一个专有的32位定点音频dsp ,它是非常古老的代码,所以我再也无法联系制造该芯片的公司。

请帮忙。

更多代码

calc:  
  ld 16,r3,r5
  ldi #coef_update_2,paer
  rptb #Son_F_Loop
    ld 0,*+ar4,r2
    ld 0,*+ar5,r4
    sub r4,r2
    mpy r5,r2,r0
coef_update_2:
    add r0,r4
    st 0,r4,*+ar6
  jmp #STEPING_volume,u,0

2 个答案:

答案 0 :(得分:1)

我以前遇到过类似的事情。不确定架构是否相同,但我会猜到:

"LD sft, Rx, Ry"其中(Rx << sft) -> Rysft的负数会将转换更改为>>

答案 1 :(得分:0)

如果您有源代码,那么很容易找到。通过谷歌搜索,我发现了很多相关的结果。虽然我不知道ld和ldi属于什么架构,但它可能属于TMS320芯片线。我查看了手册,但找不到ldi,虽然我可以看到许多其他寄存器和指令

在AR4上面的代码中,AR5是低部分或XAR4,XAR5和mpy是一个乘法指令,相当奇怪的命名。 RPTB是“无条件地重复指令”

http://lina.faculty.asu.edu/realdsp/Manuals/C55xInstructionSet.pdf

http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/TMS320C3x_002fC4x-Options.html

http://www.elec.canterbury.ac.nz/c4x/doc/c4x-tools.html

http://ptolemy.eecs.berkeley.edu/~johnr/papers/pdf/c30course.pdf

关于谷歌的一些关于此的书:

Real-Time Digital Signal Processing - Implementations, Applications and Experiments With the TMS320C55X

Real-Time Digital Signal Processing: Fundamentals, Implementations and Applications

有关TI文档http://www.ti.com.cn/cn/lit/ug/sprueo2a/sprueo2a.pdf

的更多细节

编辑:

我发现了许多ldi示例,但它们都有2个操作数。唯一存在3的情况是其中一个在括号()

ldi @_y,ar0
ldi 0,ar2
ldi 4,ir0
ldi ar2,ir1
ldi *+ar0(ir1),r7
ldi *ar2++(ir0)b,r6

http://www.innovative-dsp.com/support/appnotes/dnp3.pdf