2014-03-12 111 views
0

希望你能幫助我解決這個問題。我有一些不熟悉的指令的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 
+4

哪個CPU架構是什麼? –

+0

世界上不僅有一座建築,你知道嗎? –

+0

是@LưuVĩnhPhúc。我知道,架構可能會有所不同。我向任何可能看過這樣的指示的人提出一個開放的問題。如果你不知道答案不答覆,那隻會浪費我們的時間。 – welshiebiff

回答

1

我以前碰到過類似的事情。不知道架構是否相同,但我會猜測:

"LD sft, Rx, Ry"其中(Rx << sft) -> Rysft的負數將轉換爲>>

+0

似乎合法。謝謝 – welshiebiff

0

如果您有源代碼,那麼很容易找到。通過谷歌搜索,我發現了很多相關的結果。它可能是芯片的TMS320行,儘管我不知道ld和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