版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗(yàn)一-CCS的用法SICHUANUNIVERSITY電子信息學(xué)院DSP結(jié)構(gòu)原理及應(yīng)用實(shí)驗(yàn)組員:實(shí)驗(yàn)報(bào)告書寫:日期:地點(diǎn):基礎(chǔ)教學(xué)樓B座520實(shí)驗(yàn)室實(shí)驗(yàn)一CCS的用法一、實(shí)驗(yàn)?zāi)康模?) 了解TMS320C54X匯編語言程序?qū)Φ幕靖袷揭约皡R編、鏈接的基本過程。2) 初步熟悉CCS的用法。實(shí)驗(yàn)條件:1) 硬件DSK板及軟件開發(fā)平臺工具CCS。2) 源程序清單labl.asm,鏈接命令文件lab1,cmd.二、實(shí)驗(yàn)步驟:1、打開桌面CCS2('5000)圖標(biāo),啟動CCS集成開發(fā)環(huán)境。2、創(chuàng)建一個新工程;從project中選擇new項(xiàng),輸入工程名如lab1,單擊完成。3、將文件添加到工程中:
2、a、從project中選擇AddFilestoproject,在彈出的對話框選擇labl.asm文件并單擊打開;或在工程lab.pjt處單擊右鍵,選擇菜單命令A(yù)ddFilestoproject。b、同理將lab1.cmd文件添加入工程。4、對工程進(jìn)行匯編、編譯、鏈接:執(zhí)行菜單命令project->RebuildAll,或在工具欄上單擊RebuildAll圖標(biāo)。5、加載程序:執(zhí)行菜單命令File->LoadProgram,在彈出的對話框中選擇lab1.out并單擊打開按鈕。6、運(yùn)行程序:選擇Debug中的Run運(yùn)行程序或單擊工具欄的Run圖標(biāo)、SingleStep圖標(biāo)運(yùn)行程序。三實(shí)驗(yàn)
3、要求:1、了解CCS菜單命令及產(chǎn)生各個顯示窗口的操作。2、操作各種仿真命令進(jìn)入、退出CCS;選擇當(dāng)前窗口,改變窗口的大小。加載程序。運(yùn)行程序(包括單步運(yùn)行)。檢查修改CUP寄存器。檢查修改存儲器單元內(nèi)容。用觀察窗口檢查變量、CPU寄存器或存儲單元內(nèi)容。四、實(shí)驗(yàn)源程序:*labl.asmy=a1*x1+a2*x2+a3*x3+a4*x4*.title"labl.asm"匯編語言源文件取名.mmregs;定義存儲器印象寄存器STACK.usect"STACK",10h;為堆棧分配10個空間.bssx,4;為變量x分配4個存儲單元.bssa,4;為系數(shù)a分配4
4、個存儲單元.bss存儲單元y,1;為變量y分配1個.defstart.data;定義數(shù)據(jù)代碼段table:.word1,2,3,4;為table開始的8個存儲單元賦值.word8,6,4,2.text;定義文本代碼段start:STM#0,SWWSRSTM#STACK+10h,SP;設(shè)置堆棧指針STM#table,AR1;AR1指向table首地址STM#x,AR2;AR2指向x首地址STM#7,AR0;寄存器AR0賦值7LDloop:LD#0,A;累加器清零*AR1+,A;將AR1的值賦給累加器A中STLA,*AR2+;將A的低16位存儲到AR2中BANZloop,*AR0-;輔助寄存器CA
5、LLSUM;調(diào)用乘法累加子程序SUMend:Bend;循環(huán)等等SUM:STM#a,AR3;將系數(shù)的首地址賦給AR3STM#x,AR4;將變量x的首地址賦給AR4RPTZA,#3;將累加器清零,重復(fù)執(zhí)行下條指令4次MAC*AR3+,*AR4+,A;執(zhí)行乘法累加運(yùn)算,結(jié)果存儲在累加器A中STLA,y;將結(jié)果(A的低16位)送往變量y存儲單元RET.end五、實(shí)驗(yàn)體會:1)、出現(xiàn)一個warning:entrypointotherthan_c_int00specified,將start用_c_int00代替后warning消失,說明標(biāo)號_c_int00更精確。2)、堆棧賦值改為20時,SP值變?yōu)?00
6、,但對整體無影響,僅只是為堆棧分配的存儲單元增加3)、4次loop循環(huán)中,PC指針由F00B到F00D依次變化,說明LD*AR1+,A;STLA,*AR2+;BANZloop,*AR0-;三條語句的執(zhí)行周期均為1.實(shí)驗(yàn)二數(shù)據(jù)尋址方式一、實(shí)驗(yàn)?zāi)康?、熟悉TMS320C54X的各種尋址方式。2、繼續(xù)練習(xí)CCS軟件用法。二、實(shí)驗(yàn)條件本實(shí)驗(yàn)已準(zhǔn)備的程序于表2.1中表2.1數(shù)據(jù)尋址方式實(shí)驗(yàn)程序序號實(shí)驗(yàn)內(nèi)容源程序名鏈接文件名1立即尋址Lab2a.asmLab2a.cmd2絕對尋址Lab2b.asmLab2b.cmd3累加器尋址Lab2c.asmLab2c.cmd4直接尋址Lab2dLab2d.asmcmd
7、5間接尋址Lab2e.asmLab2e.cmd6存儲器映象尋址Lab2f.asmLab2f.cmd7堆棧尋址Lab2g.asmLab2g.cmd二、實(shí)驗(yàn)步驟1、雙擊桌面上的“CCS”圖標(biāo),啟動”CCS”開發(fā)環(huán)境。2、在file菜單中選擇open項(xiàng),打開并閱讀每一種尋址方式的源程序和鏈接命令文件。3、創(chuàng)建新工程并添加文件,包括(.asm源文件和.cmd鏈接命令文件)。4、匯編、編譯、鏈接生成輸出文件并加載程序。5、用單步方式執(zhí)行程序,觀察程序中各條指令執(zhí)行結(jié)果。6、在程序中添加若干條類似這樣的尋址方式的指令,并匯編、編譯、鏈接、執(zhí)行。三、實(shí)驗(yàn)源程序立即尋址Lab2a.asmLab2a.cmd.*
8、;ImmediateAddressing*.title"lab2a.asm".defstart.textstart:LD#100,A;長立即數(shù)100加到累加器A,變?yōu)锳=0x0064LD#10h,4,A.十六進(jìn)制數(shù)10h左移4位后加載到累加器A,A=0x0100RSBXSXM;狀態(tài)寄存器復(fù)位LD#32769,B;立即數(shù)32769轉(zhuǎn)為16進(jìn)制加載到B,B=0x8001LD#4000h,16,B.十六進(jìn)制數(shù)4000h左移16位后加載到B,B=0x40000000hereBhere.end絕對尋址Lab2b.asmLab2b.cmd.*;AbsoluteAddressing.*.
9、title"lab2b.asm".defstartSAMPLE.set0060h.bssx,10.datatable:.word1.word2.word3.word4.word5.textstart:LD#4AB8h,A加載到累加器STLSTM;4AB8hA,A=4AB8;A,SAMPLE#0060h,AR2器AR2指向首地址0x0060RPT#4復(fù)運(yùn)彳f4次MVPDtable,*AR2+程序存儲器標(biāo)號為table地址單元中數(shù)據(jù)傳送到寄存器AR2中,AR2變?yōu)?x0065RPT#4MVKD#0061h,*AR2+將地址為0061h的數(shù)據(jù)存儲器中的數(shù)據(jù)傳到;寄存;里AR2,A
10、R2變?yōu)?X006ALDx,B;B=0x0001LD0061h,A;A=0x0002hereBhere.end累加器尋址Lab2c.asmLab2c.cmd;*;AccumulatorAddressing*.title"lab2c.asm"STACK.usect"STACK”,10h.defstart.bssx,10.datatable:.word1234h,5678h,9abch,0def0h.textstart:STM#STACK+10h,SP;SP=90LD#table,A;A=0xE010hSTM#0060h,AR2;AR2指向首地址0x0060hRPT#
11、3;重復(fù)運(yùn)行三次READA*AR2+;立即數(shù)尋址:AR2指向的地址空間存入“word”LD#ADD_1,A;A=0xE00DhCALAA;調(diào)用子程序ADD_1hereBhereADD_1:ADD#1,A;A=0xE00EhRET.end直接尋址Lab2d.asmLab2d.cmd*;DirectAddressing;*;.title"lab2d.asm".defstart.bssx,1.bssy,1.textstart:ST#0001,*(0180h);將數(shù)據(jù)0x0001存到地址為0x0180h的空間ST#1000,*(01ffh);將數(shù)據(jù)1000b存到地址為0x01ffh
12、的空間ST#500,*(0200h);將數(shù)據(jù)500b存到地址為0x0200h的空間LD#3,DPLDx,A;A=0x03E8;LD#4,DPADDy,A;A=0X03E9hereBhere.end結(jié)果可發(fā)現(xiàn),程序執(zhí)行沒有達(dá)到預(yù)期的結(jié)果(A=x+y=1500h)其原因是x和y存放在不同頁面,執(zhí)行“ADDy,A"指令時,DP=3,結(jié)果變成0180h單元中的數(shù)(0x0001)加至累加器A,故而結(jié)果為:A=0x03E9.間接尋址Lab2e.asmLab2e.cmd.*;IndirectAddressing.*.title"lab2d.asm".defstart.bssx,
13、10hstart:ST#1000h,*(0060h)0x1000存到地址為0x0060h的空間ST#2000h,*(0061h)存到地址為0x0061h的空間ST#3000h,*(0062h)存到地址為0x0062h的空間;將數(shù)據(jù);將數(shù)據(jù)0x2000;將數(shù)據(jù)0x3000ST#4000h,*(0063h);將數(shù)據(jù)0x4000存到地址為0x0063h的空間LD#1000h,A;A=0x1000hSTM#0060h,AR1;AR1首地址為0x0060hMAR*AR1+;修改AR1地址使AR1指向0x0061h,間接尋址STM#2,AR0;AR0所在首地址存放2個地址跳變LD*AR1+0,A;A=0x
14、2000hLD*AR1,B;B=0x4000hhereBhere.end存儲器映象尋址Lab2f.asmLab2f.cmd*;Memory-MappedRegisterAddressing;*.title"lab2f.asm".defstart.mmregs.textstart:STM#1234h,AR1STM#5678h,AR2STM#2,SWWSRLDMAR1,A;A=0x1234hMVMMAR1,AR3指向0x1234h,存儲器印象尋址;AR3STLMA,AR2;AR2指向0x1234hhereBhere.end堆棧尋址Lab2g.asmLab2g.cmd;*;Sta
15、ckAddressing*.title"lab2g.asm".defstartSTACK:.usect"STACK”,10h.bssx,10h.textstart:STM)#STACK+10h,SPx的首地址為0x0060hST#1234h,*(x)0x0060h存入1234hST#5678h,*(x+1)0x0061h存入5678hST#9abch,*(x+2)0x0061h存入9abchSTM#x,AR1RPT#2PSHD*AR1+;壓棧,AR1指向0x0063h,SP=8D.*;重;堆棧尋址RPT#2復(fù)運(yùn)彳f2次0x0063h存入1234hPOPM*AR1+
16、"0x0064h存入5678hhereBhere0x0065h存入9abch.end四、幾種尋址方式代碼舉例:1,立即數(shù)尋址:LD#80h,A3成允H立叩救呃讓立即微16biiX即數(shù)LDFRAMELDADDORMADDMRPTANDRPTZANDMSTBITFSTMCMPMSUBLDXORMACXORMORMVDK1000h,*AR5MVPDTABLE,*AR5PORTRFIFO,*AR5LD*(BUFFER),ALD#2hDP;LDX,AADDY,ASTLA,Y2, 絕對尋址:3, 直接尋址:4,累加器尋址:DM的地:hjO2O6h5,間接尋址:MAC*AR2+tALD*AR1+,TMAC*AI<2+,ALD'"ARltTMAC*AR2(A6,存儲器印象尋址:只有8條指令能使用存儲器帙射寄存器尋址:LDAR4.AMVDM300H,BKMVMMSP,AR1LDMMMR,dstMVDMdniad,MMRMVMDMMR,dmadMVMMMMRx,MMRyPOPMMMRPSHMXIMUSTLMsrc,MMRSTM#lk,MMR7,堆棧尋址:業(yè)仃四條使用堆極尋址
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年人教新起點(diǎn)必修1地理上冊月考試卷含答案
- 2025年冀少新版七年級數(shù)學(xué)上冊階段測試試卷含答案
- 幼兒園冬季滑雪安全教育
- 2025年上教版必修3物理上冊階段測試試卷
- 商務(wù)禮儀職業(yè)形象培訓(xùn)
- 企業(yè)員工職業(yè)生涯規(guī)劃模板
- 二手房交易特別約定合同版B版
- 2024版:鋼結(jié)構(gòu)建筑施工合同3篇
- 《外科護(hù)理》第二十章第四節(jié)化膿性骨髓炎病人的護(hù)理
- 二零二五年度荒山旅游度假區(qū)承包經(jīng)營協(xié)議3篇
- 中醫(yī)基礎(chǔ)學(xué)考試題(附答案)
- 2025貴州建筑安全員B證考試題庫附答案
- 2024年杭州師范大學(xué)附屬醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點(diǎn)附帶答案
- 2024-2025學(xué)年八年級歷史上冊期末復(fù)習(xí)課件
- 2025年云南省大理州事業(yè)單位招聘339人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 《鐵路旅客運(yùn)輸規(guī)程》考試復(fù)習(xí)題及答案
- 2024初中數(shù)學(xué)競賽真題訓(xùn)練(學(xué)生版+解析版)(共6個)
- 規(guī)培結(jié)業(yè) 臨床基本技能操作考核評分表
- 2024-2025學(xué)年度第一學(xué)期三年級數(shù)學(xué)寒假作業(yè) 有答案
- 大型起重機(jī)械現(xiàn)場管理手冊
- 2023年考研(英語一)真題與答案解析
評論
0/150
提交評論