




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
電子信息學(xué)院DSP結(jié)構(gòu)原理及應(yīng)用實(shí)驗(yàn)組員:實(shí)驗(yàn)報(bào)告書寫:日期:地點(diǎn):根底教學(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〕源程序清單lab1.asm,鏈接命令文件lab1,cmd.二、實(shí)驗(yàn)步驟:1、翻開桌面CCS2〔‘5000〕圖標(biāo),啟動CCS集成開發(fā)環(huán)境。2、創(chuàng)立一個新工程;從project中選擇new項(xiàng),輸入工程名如lab1,單擊完成。將文件添加到工程中:a、從project中選擇AddFilestoproject,在彈出的對話框選擇lab1.asm文件并單擊翻開;或在工程lab.pjt處單擊右鍵,選擇菜單命令A(yù)ddFilestoproject。b、同理將lab1d文件添參加工程。對工程進(jìn)行匯編、編譯、鏈接:執(zhí)行菜單命令project->RebuildAll,或在工具欄上單擊RebuildAll圖標(biāo)。加載程序:執(zhí)行菜單命令File->LoadProgram,在彈出的對話框中選擇lab1.out并單擊翻開按鈕。運(yùn)行程序:選擇Debug中的Run運(yùn)行程序或單擊工具欄的Run圖標(biāo)、SingleStep圖標(biāo)運(yùn)行程序。三實(shí)驗(yàn)要求:了解CCS菜單命令及產(chǎn)生各個顯示窗口的操作。操作各種仿真命令·進(jìn)入、退出CCS;·選擇當(dāng)前窗口,改變窗口的大小?!ぜ虞d程序?!み\(yùn)行程序〔包括單步運(yùn)行〕?!z查修改CUP存放器?!z查修改存儲器單元內(nèi)容?!び糜^察窗口檢查變量、CPU存放器或存儲單元內(nèi)容。四、實(shí)驗(yàn)源程序:*lab1.asmy=a1*x1+a2*x2+a3*x3+a4*x4*************************************************.title"lab1.asm" ;匯編語言源文件取名 .mmregs ;定義存儲器印象存放器STACK.usect"STACK",10h;為堆棧分配10個空間.bssx,4;為變量x分配4個存儲單元.bssa,4;為系數(shù)a分配4個存儲單元.bssy,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賦值7LD#0,A ;累加器清零loop:LD*AR1+,A;將AR1的值賦給累加器A中STLA,*AR2+;將A的低16位存儲到AR2中BANZloop,*AR0-;輔助存放器CALLSUM;調(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,但對整體無影響,僅只是為堆棧分配的存儲單元增加了。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)康氖煜MS320C54X的各種尋址方式。繼續(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.asmLab2ad2絕對尋址Lab2b.asmLab2bd3累加器尋址Lab2c.asmLab2cd4直接尋址Lab2d.asmLab2dd5間接尋址Lab2e.asmLab2ed6存儲器映象尋址Lab2f.asmLab2fd7堆棧尋址Lab2g.asmLab2gd實(shí)驗(yàn)步驟雙擊桌面上的“CCS〞圖標(biāo),啟動〞CCS〞開發(fā)環(huán)境。在file菜單中選擇open項(xiàng),翻開并閱讀每一種尋址方式的源程序和鏈接命令文件。創(chuàng)立新工程并添加文件,包括〔.asm源文件和d鏈接命令文件〕。匯編、編譯、鏈接生成輸出文件并加載程序。用單步方式執(zhí)行程序,觀察程序中各條指令執(zhí)行結(jié)果。在程序中添加假設(shè)干條類似這樣的尋址方式的指令,并匯編、編譯、鏈接、執(zhí)行。實(shí)驗(yàn)源程序1 立即尋址 Lab2a.asm Lab2ad;********************************;ImmediateAddressing;******************************** .title"lab2a.asm" .def start .textstart: LD #100,A;長立即數(shù)100加到累加器A,變?yōu)锳=0x0064 LD #10h,4,A;十六進(jìn)制數(shù)10h左移4位后加載到累加器A,A=0x0100 RSBXSXM;狀態(tài)存放器復(fù)位 LD #32769,B;立即數(shù)32769轉(zhuǎn)為16進(jìn)制加載到B,B=0x8001 LD #4000h,16,B ;十六進(jìn)制數(shù)4000h左移16位后加載到B,B=0x40000000here B here.end_____________________________________________________________________2 絕對尋址 Lab2b.asm Lab2bd;********************************;AbsoluteAddressing;******************************** .title"lab2b.asm" .def startSAMPLE .set 0060h .bss x,10 .datatable: .word 1 .word 2 .word 3 .word 4 .word 5 .textstart: LD #4AB8h,A;4AB8h加載到累加器A,A=4AB8; STL A,SAMPLE STM #0060h,AR2;存放器AR2指向首地址0x0060 RPT #4;重復(fù)運(yùn)行4次 MVPD table,*AR2+;將程序存儲器標(biāo)號為table地址單元中數(shù)據(jù)傳送到存放器AR2中,AR2變?yōu)?x0065 RPT #4 MVKD #0061h,*AR2+;將地址為0061h的數(shù)據(jù)存儲器中的數(shù)據(jù)傳到AR2,AR2變?yōu)?x006A LD x,B;B=0x0001 LD 0061h,A ;A=0x0002here B here.end___________________________________________________________________3 累加器尋址 Lab2c.asm Lab2cd;********************************;AccumulatorAddressing;******************************** .title"lab2c.asm"STACK.usect "STACK",10h .def start .bss x,10 .datatable: .word 1234h,5678h,9abch,0def0h .textstart: STM #STACK+10h,SP;SP=90 LD #table,A;A=0xE010h STM #0060h,AR2;AR2指向首地址0x0060h RPT #3;重復(fù)運(yùn)行三次 READA *AR2+;立即數(shù)尋址:AR2指向的地址空間存入“word〞 LD #ADD_1,A;A=0xE00Dh CALA A;調(diào)用子程序ADD_1here B hereADD_1: ADD #1,A;A=0xE00Eh RET .end4 直接尋址 Lab2d.asm Lab2dd;********************************;DirectAddressing;******************************** .title"lab2d.asm" .def start .bss x,1 .bss y,1 .textstart:ST #0001,*(0180h);將數(shù)據(jù)0x0001存到地址為0x0180h的空間 ST #1000,*(01ffh);將數(shù)據(jù)1000b存到地址為0x01ffh的空間 ST #500,*(0200h);將數(shù)據(jù)500b存到地址為0x0200h的空間 LD #3,DP LD @x,A;A=0x03E8 ;LD #4,DP ADD @y,A;A=0x03E9here B here.end結(jié)果可發(fā)現(xiàn),程序執(zhí)行沒有到達(dá)預(yù)期的結(jié)果〔A=x+y=1500h〕其原因是x和y存放在不同頁面,執(zhí)行“ADD@y,A〞指令時,DP=3,結(jié)果變成0180h單元中的數(shù)〔0x0001〕加至累加器A,故而結(jié)果為:A=0x03E9.5 間接尋址 Lab2e.asm Lab2ed;****************************************;IndirectAddressing;**************************************** .title"lab2d.asm" .def start .bss x,10hstart: ST #1000h,*(0060h);將數(shù)據(jù)0x1000存到地址為0x0060h的空間 ST #2000h,*(0061h);將數(shù)據(jù)0x2000存到地址為0x0061h的空間 ST #3000h,*(0062h);將數(shù)據(jù)0x3000存到地址為0x0062h的空間 ST #4000h,*(0063h);將數(shù)據(jù)0x4000存到地址為0x0063h的空間 LD #1000h,A;A=0x1000h STM #0060h,AR1;AR1首地址為0x0060h MAR *AR1+;修改AR1地址,使AR1指向0x0061h,間接尋址 STM #2,AR0;AR0所在首地址存放2個地址跳變 LD *AR1+0,A;A=0x2000h LD *AR1,B;B=0x4000hhere B here.end6存儲器映象尋址Lab2f.asmLab2fd;****************************************;Memory-MappedRegisterAddressing;**************************************** .title"lab2f.asm" .def start .mmregs .textstart: STM #1234h,AR1 STM #5678h,AR2 STM #2,SWWSR LDM AR1,A;A=0x1234h MVMM AR1,AR3;AR3指向0x1234h,存儲器印象尋址 STLM A,AR2;AR2指向0x1234hhere B here.end7 堆棧尋址 Lab2g.asm Lab2gd;********************************;StackAddressing;******************************** .title"lab2g.asm" .def startSTACK: .usect "STACK",10h .bss x,10h .textstart: STM#STACK+10h,SPx的首地址為0x0060h ST #1234h,*(x)0x0060h存入1234h ST #5678h,*(x+1)0x0061h存入5678h ST #9abch,*(x+2)0x0061h存入9abch STM #x,AR1 RPT #2 PSHD *AR1+;壓棧,AR1指向0x0063h,SP=8D;********************************;堆棧尋址 RPT #2
溫馨提示
- 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上海市建筑安全員-C證考試(專職安全員)題庫及答案
- 深圳技術(shù)大學(xué)《高分子材料助劑及配方設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 河南信息統(tǒng)計(jì)職業(yè)學(xué)院《納稅籌劃與實(shí)務(wù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2024-2025學(xué)年河南省開封市五縣聯(lián)考高二上學(xué)期第二次月考(期中)歷史試卷
- 山西國際商務(wù)職業(yè)學(xué)院《給排水管道工程》2023-2024學(xué)年第二學(xué)期期末試卷
- 鶴壁能源化工職業(yè)學(xué)院《營養(yǎng)與食品衛(wèi)生學(xué)2》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025青海省建筑安全員-C證(專職安全員)考試題庫
- 2025黑龍江省安全員B證考試題庫及答案
- 福建衛(wèi)生職業(yè)技術(shù)學(xué)院《組織胚胎學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 大連財(cái)經(jīng)學(xué)院《VisualBasic程序設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 人教版(2025版)七年級下冊英語UNIT 1 Animal Friends 單元整體教學(xué)設(shè)計(jì)(6個課時)
- 項(xiàng)目管理知識手冊指南
- 2025年常熟市招聘進(jìn)村人員歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- (主城一診)重慶市2025年高2025屆高三學(xué)業(yè)質(zhì)量調(diào)研抽測 (第一次)物理試卷(含答案)
- 2025年中國電信集團(tuán)有限公司招聘筆試參考題庫含答案解析
- DB50T 393-2011 城市三維建模技術(shù)規(guī)范
- 《肺癌圍手術(shù)期護(hù)理》課件
- 《糖尿病足護(hù)理查房》課件
- 山東省臨沂市地圖矢量課件模板()
- 2024復(fù)工復(fù)產(chǎn)安全培訓(xùn)
評論
0/150
提交評論