DSP基于CCS数据寻址方式实验.docx

上传人:scccc 文档编号:14616094 上传时间:2022-02-10 格式:DOCX 页数:17 大小:42.43KB
返回 下载 相关 举报
DSP基于CCS数据寻址方式实验.docx_第1页
第1页 / 共17页
DSP基于CCS数据寻址方式实验.docx_第2页
第2页 / 共17页
DSP基于CCS数据寻址方式实验.docx_第3页
第3页 / 共17页
DSP基于CCS数据寻址方式实验.docx_第4页
第4页 / 共17页
DSP基于CCS数据寻址方式实验.docx_第5页
第5页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《DSP基于CCS数据寻址方式实验.docx》由会员分享,可在线阅读,更多相关《DSP基于CCS数据寻址方式实验.docx(17页珍藏版)》请在三一文库上搜索。

1、实验一 CCS 的用法1、 实验目的1、 了解 TMS320C54X 汇编语言程序的基本格式,以及汇编、链接的基本过程。2、 初步熟悉 CCS 的用法。2、 实验要求1、 了解 CCS 菜单命令及产生各个显示窗口的操作2、 操作各种仿真命令 进入、退出CCS 选择当前窗口、改变窗口大小 加载程序 运行程序(包括单步执行) 检查修改CPU寄存器 检查修改存储器单元内容 用观察窗口检查变量、CPU寄存器或存储单元的内容三、实验条件1、 硬件 DSK 板及软件开发平台工具CCS。2、 源程序清单lab1.asm ,详见教材3.2 节。3、 链接命令文件 lab1.cmd ,详见教材3.2 节。四、实

2、验内容1 、双击桌面上的 CCS2( 5000) 图标,启动CCS 集成开发环境。2 、 创建一个新的工程: 在 Project 菜单中选择New 项, 并输入工程名如 lab1 ,然后单击完成按钮创建新工程。3、将文件添加入工程中:从 Project 菜单中选取Add Files to Project 命令,在弹出的对话框中选择 lab1.asm 文件并单击打开按钮; 或者在工程lab1.pjt 处单击右键,选择菜单命令Add Files to Project 。采用类似方法将lab1.cmd 文件添加入工程。4、对工程进行汇编、编译、链接:执行菜单命令 Project RebuildAll

3、 ,或者在工具栏上单击Rebuild All 图标。5、加载程序:执行菜单命令File Load Program,在弹出的对话框中选择 lab1.out 并单击打开按钮。6、 运行程序:选择Debug 中的 Run 运行程序或单击工具栏的 Run图标、 Single Step 图标运行程序。五、试验程序lab 1:* lab1.asm y= a1*x1+a2*x2+a3*x3+a4*x4*.title lab1.asm.mmregsSTACK .usect STACK,10h ;申请 16 栈区空间x,4.bss;创建4个存储单元的x和a, 一个存储单元的y.bssa,4.bssy,1.def

4、start.datatable:.word1,2,3,4;装载数据.word8,6,4,2.text;代码段start:STM#0,SWWSRSTM#STACK+10h,SP;定义堆栈段STM#table,AR1;AR1 指向 tableSTM#x,AR2;AR2 指向 xSTM#7,AR0LD#0,Aloop:LD*AR1+,A;move 8 valuesSTLA,*AR2+;将 AR2 内容赋予 ABANZloop,*AR0-;into data memoryCALLSUM;call SUM subrotineend:BendSUM:STM#a,AR3;将 a 赋予 AR3STM#x,AR

5、4;x 赋予 AR4RPTZA,#3MAC*AR3+,*AR4+,AAR3和AR4依次相加赋STL A,yRET.end六、实验结果1,启动CCS后配置CCS集成开发环境2,添加工程文件3,汇编、编译、链接、并进行加载CPU寄存器4,加载所给出的程序,并运行。观察内存单元以及的变化5,程序执行结果CbcSO-OxOOOCiDO SO D-XOOOOOOS3 OjcOOO&OS O-xOOD&OOSS O-xOOO&OOSC OjcOOO&OOST OjiOGQOM 0 Ojmood&ooo 0jc0000003 O jcO QO&OO 4 OjcC DDOOO 4 OJCDDODOD? 白工白

6、口白办。在白GmOOOOCjtOOCO0x0000MOwC 0 OO0kO 0CdxOOOO盘OmOOOOCkOOOOxOOOF40x00000x0000&XFFFF0x0 0 00OxOOOO&x.00000x0 0 00OxOOCO0x,0000Ojc.D 0 OO at r Jbnu j. . = DjcOO 01OxOOCS0x0003OkOO 04 3. DkOODSOitOOCC0x0004DjcD o de 0xOOO&O8 OjcDOaOiDO3 OjlOOOOiOO9 OjcOOOCiOOC OjcOOQODOF a-jcaoQODOTZ OmOOO&OOTS oooooos

7、 00000007B 一口口QOQLEOkOO 20e n d r end.DjeOOOODjcOOCOOxOOOODjcOODOOjcDOCO0x0000jcDODOQjcOOOOOxOOOQjkD ODOCjcD OCO0x0 000Dir O D0OkO OOOQacOODQ0x0Q OOOjcOOQOmOOOO,OjcOOOOOjcOOCQOmOCOD总OjcOOOOOjcOOQ三,日灿齐 16 Eit . | Dat 七、实验体会经过实验熟悉了 CCS软件开发平台的使用方法。对于各个文件(.asm、.cmd、.obj、.out)的作用有了一定的了解。实验二数据寻址方式一、实验目的1、

8、熟悉TMS320C54X的各种寻址方式。2、继续练习CCS软件的用法。二、实验条件本实验已准备的程序列于表2.1中表2.1数据寻址方式实验程序序号实验内容源程序名链接文件名1立即寻址Lab2a.asmLab2a.cmd2绝对寻址Lab2b.asmLab2b.cmd3累加器寻址Lab2c.asmLab2c.cmd4直接寻址Lab2d.asmLab2d.cmd5间接寻址Lab2e.asmLab2e.cmd6存储器映象寻址Lab2f.asmLab2f.cmd7堆栈寻址Lab2g.asmLab2g.cmd三、实验步骤1 、双击桌面上的CCS2(5000 )图标,启动CCS 集成开发环境。2 、在 Fi

9、le 菜单中选择Open 项,打开并阅读每一种寻址方式实验源程序和链接命令文件。3 、 创建新工程并添加文件 (包括 .asm 源文件和 .cmd 链接命令文件)4、汇编、编译、链接生成输出文件并加载程序。5、用单步方式执行程序,观察程序中各条指令的执行结果。6、在程序中添加若干条此类寻址方式的指令,并汇编、链接、执行。四、实验程序Lab 2a :; Immediate Addressing;.title lab2a.asm.def start.textstart: LD #100,A ;立即寻址LD #10h,4,ARSBX SXMLD #32769,B :将 32769 赋予 BLD #4

10、000h,16,Bhere B here.endLab 2b : *; Absolute Addressing *.title lab2b.asm.def startSAMPLE .set 0060h.bss x,10.datatable: .word 1.word2.word3.word4.word 5.textstart: LD #4AB8h,ASTL A,SAMPLESTM#0060h,AR2RPT#4MVPD table,*AR2+; 将 table 赋予 AR2 指向的地址, AR2+1RPT #4MVKD #0061h,*AR2+;将 0061h 指 向的 内 容赋予AR2 ,并依

11、次加 1LD x,BLD0061h,Ahere Bhere.endLab 2c :; Accumulator Addressing;.title lab2c.asmSTACK .usect STACK,10h.def start.bss x,10.datatable: .word 1234h,5678h,9abch,0def0h.textstart: STM #STACK+10h,SPLD #table,Atable 地址赋予 ASTM#0060h,AR2RPT#3READA *AR2+ ;读取 AR2 指向地址内容后 AR2 内容 +1LD#ADD_1,ACALA Ahere BhereAD

12、D_1: ADD #1,ARET.endLab 2d :; Direct Addressing; ;.title lab2d.asm.def start.bss x,1.bss y,1.text将 0001 赋 予 地 址start: ST #0001, *(0180h)0180hST #1000, *(01ffh)ST #500,*(0200h)LD #3,DPLD x,A; DP+x 地址的内容赋予 A;LD #4,DPADD y,Ahere B here.endLab 2e :; Indirect Addressing;.title lab2d.asm.def start.bss x,1

13、0hstart: ST #1000h,*(0060h)ST #2000h,*(0061h)ST #3000h,*(0062h)ST #4000h,*(0063h)将 4000h 赋予地址 0063hLD #1000h,ASTM #0060h,AR1MAR *AR1+STM #2,AR0LD *AR1+0,AAR1 指向地址内容赋予 Ahere BhereLD *AR1,Bhere B here.endLab 2f : *; Memory-Mapped RegisterAddressing *.title lab2f.asm .def start .mmregs .textstart: STM#

14、1234h,AR1STM#5678h,AR25678h 赋予 AR2STM#2,SWWSRLDMAR1,AMVMMAR1,AR3AR1 内容赋予 AR3STLM A,AR2.endLab 2g :; Stack Addressing *.title lab2g.asm.def startSTACK: .usect STACK,10h.bss x,10h.textstart: STM #STACK+10h,SPST #1234h,*(x)ST #5678h,*(x+1)ST #9abch,*(x+2)STM#x,AR1RPT#2PSHD *AR1+ ;将 AR1 指向地址内容压入堆栈;RPT #

15、2POPM *AR1+ ;将堆栈内容弹出堆栈五、实验结果Ja00000001009R1O0QO1b00400000002,绝对寻址DkOCOS。心口口4A0OOOOO4ABSAR10000B0000000001AR20 06A0x3 口 1r温2 。工二X。二 3:? C210x0002将AR2的值逐渐赋予X后,从地址0x0061 (0x0002 )再次对X进行赋值A0000000002AR10000B00DQ0000013,累加器寻址FFFFFFE0100000AR1在实验过程中,对于此时 A的取值即:FFFFFFE010不理解。经询问助教后得知此时A的取值为/2卬$的地址。其前6个F为无符

16、 号标志。.is =OjiSAECOjtOODC0x0000CxOCDCbasOjcDErCOkCOOO此时A指向的地址#table中的值赋予XAFFFFFFEOOE经过ADD_1后对于A进行加1操作4,直接寻址IjxOODOOL&O Iojooqi呼。口口工FF |忒兆日心8。0之E |。刘上门AOQOOO003E9DP赋3,将第三页x地址内容赋予A并加上DP+y5,间接寻址OjiOOO&DO00x1000Ox;OCODmSODOQalDOQAKUU JU AOOCOOOzOOOARI0 03B0000004000将AR1指向地址的内容赋予A和B6,存储器映像寻址以将AR1的值赋予A和B以及AR27,堆栈寻址*840W12.3 40i57SOjtSABC0x9 ABC0x57ft0x1234OmOOOQCeOOOOOKO0OOOwOOOO0x0000OxOOOQ0x00 D八。凸。30x00000x0000经过PSHD入栈,以及退栈后形成x。入栈以及退栈地址由AR1 提供。六、实验体会实验总结:通过实验,主要熟悉了数据的几种寻址方式,认识更直观, 为以后的实验搭建了基础。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1