Re: 請問有關dsPIC33F DSP Instructions
|
||||
---|---|---|---|---|
新會員
|
謝謝版主的回覆
發表於: 2009/10/15 15:02
|
|||
|
Re: 請問有關dsPIC33F DSP Instructions
|
||||
---|---|---|---|---|
版主
|
這裡有依本書叫dsPIC30F/33F Programmer’s Reference Manual (DS70157C) 在 page 5-162 的地方有詳細的 MPY 指令操作及結果,注意一下其運算方式在 DSP 模式下的指令是以 Fractional Multiply 的方式在運算,這跟我們一般的乘法所成出來的積是不一樣的。
http://ww1.microchip.com/downloads/en/DeviceDoc/70157C.pdf 同樣的在看一下MCU 的乘法指令 MUL.UU (unsigned int * unsigned int) 在同本書裡的 page 5-178 所示 FFFF * FFFF = FFFE0001 就屬於一般的乘法了。
發表於: 2009/10/15 10:32
|
|||
|
Re: 請問有關dsPIC33F DSP Instructions
|
||||
---|---|---|---|---|
新會員
|
那請問版主MPY算出來是錯的
還是和正確的值有些關係
發表於: 2009/10/14 14:23
|
|||
|
Re: 請問有關dsPIC33F DSP Instructions
|
||||
---|---|---|---|---|
版主
|
MUL 是一般 16 x 16 的乘法器,積是放在偶數對的W暫存器裡的。
MPY 是 DSP 16 x 16 的乘法器,結果是置放在ACC 或 BCC 累積器,所以會不一樣。
發表於: 2009/10/7 13:49
|
|||
|
Re: 請問有關dsPIC33F DSP Instructions
|
||||
---|---|---|---|---|
新會員
|
我是用組語寫的
在外面用一個mul的指令 但兩個值不用相同
發表於: 2009/10/6 20:12
|
|||
|
Re: 請問有關dsPIC33F DSP Instructions
|
||||
---|---|---|---|---|
版主
|
不曉得你所謂 "自己寫一個相乘的指令" 是不是用 C 來做這乘法?
MPY 的結果放在 ACC 裡,這是用 C compiler 無法做到的事,除非你在C 裡用嵌入式組語或使用 Builtin Marco 來完成。
發表於: 2009/10/5 10:36
|
|||
|
請問有關dsPIC33F DSP Instructions
|
||||
---|---|---|---|---|
新會員
|
我使用這個指令MPY W4*W5, A
然後我在外面又自己寫一個相乘的指令 結果答案不一樣 是為什麼呢??
發表於: 2009/10/2 17:32
|
|||
|