freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

dsp技術與應用實驗指導書-資料下載頁

2025-06-07 08:19本頁面
  

【正文】 。圖225 探針關聯(lián)對話框點擊”確定”關閉對話框,此時已經配置好了Probe 斷點和與之關聯(lián)的事件,復制到變量Y_COS中。(4)加入圖形顯示功能。內存數據可以用圖形的方式直觀地顯示出來。① 執(zhí)行View→Graph→Time/Frequency打開Graph Property Dialog 窗口。② 修改屬性為下面的值并點擊確定:Graph Title:Y_COSSatrt Address:Y_COSAcquisition Buffer Size:16Display Data Size:16DSP Type:16bit signed integerQvalue15如下圖所示,然后在彈出的圖形窗口中單擊鼠標右鍵,選擇“Clear Display”。圖226 圖形顯示屬性對話框類似,也可以用圖形方式顯示變量Z_MIX。(5)按F10(單步執(zhí)行)執(zhí)行下面3行代碼,觀察輔助寄存器AR1~AR3的變化并記錄。 STM X_SIN,AR1 STM Y_COS,AR2 STM Z_MIX,AR3(6)按F10(單步執(zhí)行)執(zhí)行下面5行代碼,觀察CPU寄存器中BRC、RSA、REA、BRAF的變化及數據存儲器變量Z_MIX的變化并記錄。 STM 15,BRC RPTB MIX_END1 LD *AR1+,A ADD *AR2+,A STL A,1,*AR3+(7)按F10(單步執(zhí)行)執(zhí)行下面6行代碼,恢復程序初始狀態(tài)。 LD 0,A STM X_SIN,AR1 RPT 16*31 STL A,*AR1+ POPM ST1 。 出棧與壓棧順序相反 b start 。 循環(huán)至開始處8.歸納實驗結果(請同學們根據實驗步驟歸納)。六.課堂編程作業(yè)已知某FIR濾波器的濾波系數為:,。試用Q15格式將這些系數保存在程序存儲器的數據段(.data),要求系數的首地址為COFF,然后在程序中復制到數據存儲器的未初始化段(.bss),變量名為h。寫出實現該功能的匯編代碼。實驗三:定點數除法實驗預習要求說明:1.閱讀課本第四章DSP匯編指令系統(tǒng)。2.閱讀本實驗指導,了解實驗目的、設備、原理及過程。了解觀察或理解記錄的重點。3.預做好課堂作業(yè),寫好預習報告。一.實驗目的1.掌握Code Composer Studio (Simulator)配置。2.用SUBC指令實現除法運算,掌握常用匯編指令的用法。3.掌握匯編源程序的輸入和調試方法。二.實驗設備1.(軟件仿真Simulator)。三.實驗原理1.16位定點除法實現原理C54x DSP的CPU有專用的乘法/加法器及累加器,可以高速地完成乘法和加法運算,但不提供除法指令。要實現除法運算,有2種方式。若除數是已知數,則用乘法代替(乘以除數的倒數),否則需要編寫除法子程序來實現。二進制除法是乘法的逆運算,可分解為一系列的減法和移位。本實驗要求編寫一個16位的定點除法子程序。(1)十進制除法與二進制除法以10247。3=3……1運算為例,寫成二進制為1010B247。11B=11……1均用二進制表示為,列豎式計算如圖231所示。圖231 二進制除法運算從上面可以看出,二進制除法與十進制除法是類似的,可用減法和移位實現除法運算。上式運算,被除數和除數都不動,而余數逐漸后移,但在DSP實現時,為了實現方便,只是除數不動,用整個余數代替被除數,同時左移一位,并將該位的商放在余數的后面。(2)二進制除法運算的過程設累加器為8位,仍以10247。3為例,除的過程包括與除數有關的除數逐步移位,然后進行減法運算,若所得商為正,則在商中置1,否則該位商為0。4位二進制除法10247。3用二進制除法表示如下:① 除數的最低有效位對齊被除數的最高有效位,然后相減。00001010-00011000111110010若減法結果為正,說明被除數的最高有效位大于或等于除數,相當于被除數的最高有效位能整除除數,這一位相除的商為1,并用減法結果(即余數)代替原被除數,為了方便下一步計算和保存商的值,把余數左移一位,同時把商(為1)放在左移后的余數的最低位;若減法結果為負,說明被除數的最高有效位小于除數,相當于被除數的最高有效位不能被除數整除,這時商為0。為方便下一步計算,將減法結果丟棄,而將被除數左移一位(相當于把商記為0),為下一位試除做好準備。本例由于減法結果為負,丟棄減法結果,將被除數左移一位再試減。00010100-00011000111111100② 結果仍為負,丟棄減法結果,將被除數左移一位再試減。00101000-0001100000010000③ 結果為正,將減法結果左移一位后把商置1,做最后一次試減。00100001-00011000000001001④ 結果為正,將減法結果左移一位加1得最后結果00010011(二進制數),其中高4位0001是余數(即數字1),低4位0011為商(即商為3)。(3)除法運算的實現為了提高除法運算的效率,C54x DSP提供了條件減指令SUBC來完成兩個16位(二進制)的正數除法運算,其中源累加器src的低16位存放被除數,數據存儲器單元Smem存放除數,Smem左移15位()是為了除數的最低有效位對齊被除數的最高有效位。表示被除數的最高有效位與除數的最低有效位對齊并相減,表示減法結果為正時的余數(左移一位)加上商(為1),表示減法結果為負時,被除數左移一位,相當于商為0。SUBC指令的功能如下:語法:SUBC Smem, src 功能:Else使用SUBC指令作兩個16位正數除法運算,需連續(xù)重復16次運算,指令示例如下:RPT 15 ;重復下一條單指令16次(實際執(zhí)行的次數比指定的次數多1次)。SUBC *AR1, B ;0x41(即65)247。7=9……2執(zhí)行后,累加器的低16位是除法的商,高16位是余數。執(zhí)行結果如下:指令執(zhí)行前指令執(zhí)行后B00 0000 004100 0002 0009Cx1AR110001000Data Memory:1000h00070007SUBC指令僅能對正數除法進行運算,若累加器和/或數據存儲單元的內容為負,則不能直接用SUBC指令實現除法。需要先判斷商的符號,然后絕對值相除,即在程序開頭對被除數和除數做乘法,并保存到臨時變量,然后被除數和除數分別取絕對值,在除法運算完成后,根據臨時變量的符號修改商的符號。(4)兩個16位有符號整數除法運算流程:① 兩個16位的有符號數相除,先判斷商的符號。商的符號與被除數和除數相乘的符號相同。乘法指令為MAC。② 被除數和除數分別取絕對值,以符合SUBC的要求。求絕對值指令為ABS。③ 用SUBC指令和RPT(單重復)指令求兩個16位有符號整數除法,共重復16次SUBC運算。 ④ 若商為負,用BGE指令補上商的符號。⑤ 若要確定余數的符號,需進一步完善代碼。程序流圖如下:圖231兩個16位有符號整數除法子程序流程圖2.匯編程序的格式C54x匯編程序由源代碼語句組成,這些語句可以是匯編指令、匯編偽指令、宏偽指令和注釋等組成。匯編格式一般包含4部分:標號域、指令域、操作數域和注釋區(qū),如下所示。 [標號域][:] 指令域[操作數列表][;注釋區(qū)]其中方括號中的內容為可選項。標號域為可選項。若使用標號時,它的值表示一段代碼的開始地址(段程序計數器的值),必須從一行的第1列書寫,前面不能有空格;標號區(qū)分大小寫,最多32個字符,由A~Z,a~z,0~9,_和$等組成,但第一個字符不能為數字;若不使用標號,則語句的第一列必須是空格、星號或分號;標號后面的冒號為可選項,有冒號也不看作標號的一部分。指令域包括操作碼,可以是助記符匯編指令,也可以是代數匯編指令。指令域一定不能從第一列開始,否則將被視為標號。在操作數列表域中,匯編器允許指定常數、符號或表達式作為地址、立即數或間接尋址。 操作數的前綴用途為:表示其后的操作數為立即數,@表示直接尋址方式地址,*表示間接尋址方式地址。注釋域可從源程序語句的任何一列開始。如果注釋從第1列開始,第一個字符必須是;號或*號,從其它列開始必須是;號。注釋域可包括任何ASCII字符。四.源程序分析1.程序思路(1)定義全局標號、映射寄存器、數據段、未初始化變量段及堆棧段等。(2)主程序(可執(zhí)行代碼段)。① 初始化堆棧指針和壓棧保護有關變量,設置DSP有關運算狀態(tài)。② 循環(huán)調用除法子程序。(3)除法子程序① 初始化數據頁指針。因本程序變量數較少,采用直接尋址,可提高尋址速度。② 求被除數與除數的積,存放在A中。③ 分別求被除數與除數的絕對值。④ 計算兩個16位無符號整數除法,商在B的低16位,余數在B的高16位。⑤ 先存儲這兩個16位無符號整數相除的商和余數,然后判斷當被除數與除數的積為負時,改變商的符號。⑥ 若要正確求出余數,在此添加代碼。⑦ 子程序返回。(5)匯編文件結束。2.。 本程序完成完成兩個16位有符號整數除法,能正確求出它的商。 適當修改程序可正確求出余數。 本程序的子程序適當修改可移植到其它程序中 .global start .mmregs .data .bss NUM,1 。被除數 .bss DEN,1 。除數 .bss QUOT,1 。商 .bss ARIT,1 。余數 .bss DEN_ABS,1 。除數絕對值stacksize .set 10stack .usect .mystack,stacksizeTOS .usect .mystack,1 .textstart: stm stack+stacksize,SP nop nopnext: call DIV b nextDIV: ld NUM,dp 。數據單元較少,采用直接尋址 。求被除數與除數的積,存放在A中 ld NUM,T mpy DEN,A 。分別求被除數與除數的絕對值 ld DEN,B abs B stl B,DEN_ABS ld NUM,B abs B 。計算兩個16位無符號整數除法,商在B的低16位,余數在B的高16位 rpt 15 subc DEN_ABS,B 。先存儲商和余數,然后判斷當被除數與除數的積為負時,改變商的符號 bcd done,AGT 。延遲指令,先執(zhí)行下面2條一字的指令,然后條件跳轉 stl B,QUOT sth B,ARIT xor B 。B清零 sub QUOT,B stl B,QUOTdone: ld QUOT,T mpy DEN,B ld NUM,A SUB NUM,B NEG B STL B,ARIT ret 。子程序返回 .end 3.命令(cmd)文件(參見實驗二的命令文件)五.實驗步驟1.實驗準備(本實驗為軟件仿真方式,不必打開實驗箱)(1)接通計算機電源,進入Windows 操作系統(tǒng)(2)(軟件仿真)方式參見“Code Composer Studio 入門實驗”第五部分的實驗步驟3設置CCS (Simulator)方式下運行。2.新建項目文件。執(zhí)行Project→New建立新的項目,輸入Lab03Division作為項目的名稱,將程序存儲在C:\ DSP_EI \Lab03Division目錄。3.新建源文件。執(zhí)行File→New→Source File建立新的程序文件, 并保存;執(zhí)行Project→Add Files to Project, 加入項目中。執(zhí)行File→New→Source File ;執(zhí)行Project→Add Files to Project, 加入項目中。4.,見本實驗“源程序分析”。5.MEMORY{ PAGE 0: PRAM : o=100h,l=1f00h PAGE 1: DRAM : o=2000h,l=1000h }SECTI
點擊復制文檔內容
醫(yī)療健康相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1