实验二 dsp汇编语言基本程序设计

实验二 dsp汇编语言基本程序设计

ID:1245367

大小:289.02 KB

页数:5页

时间:2017-11-09

实验二 dsp汇编语言基本程序设计_第1页
实验二 dsp汇编语言基本程序设计_第2页
实验二 dsp汇编语言基本程序设计_第3页
实验二 dsp汇编语言基本程序设计_第4页
实验二 dsp汇编语言基本程序设计_第5页
资源描述:

《实验二 dsp汇编语言基本程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验二DSP汇编语言基本程序设计(一)一、实验目的1.掌握基本算术运算指令及程序设计方法。2.熟悉程序的控制与转移和重复操作指令及程序设计方法。二、实验环境1.奔腾IV计算机2.CodeComposerStudio(CCS)软件三、实验内容1.加法/减法/乘法/乘法累加/乘法-减法运算(1)已知:x1=30,x2=20,求:y=x1+x2加法指令:ADDSmem,src运行结果:src=src+smem;操作数加到ACC中(书p86,表3.3.4第1行)装载命令:例:LD功能:将存储器内容或立即数赋给目的寄存器数

2、据存储命令:例:STM功能:将源操作数或立即数存入指定存储器或寄存器;源程序:ch2p1.asm.mmregsSTACK.usect"STACK",10H.bssx1,1;为x1分配1个存储单元.bssx2,1.bssy,1.defaa.datatable:.word30,20.textaa:STM#STACK+10H,SPSTM#x1,AR1;(AR1)=x1RPT#1;将下一条指令重复1次MVPDtable,*AR1+;将程序存储空间中标号为”table”的地址里的数据存入AR1所指向的数据存储空间,且地址A

3、R1加1--------属于绝对寻址CALLSU;调用子程序SUend:BendSU:LD@x1,A;(A)=(x1)ADD@x2,A;将page1中x2存储单元的内容加到累加器A中STLA,@y;(y)=(A)RET.end;链接命令文件:ch2p1.cmd-eaa-mmap.mapMEMORY{PAGE0:EPROM:org=04000Hlen=0100HPAGE1:SPRAM:org=0060Hlen=0020HDARAM:org=0080Hlen=0100H}SECTIONS{.data:>EPROMPA

4、GE0.bss:>SPRAMPAGE1STACK:>DARAMPAGE1}实验要求:[1]在空格中填入注释(可参考实验一的dp1.asm中的注释)[2]运行该程序,选View---Memory,按图1设置,并按下“OK”。图1观察数值结果:x1=30;x2=20;y=50。[3]选View----Registers---CPURegisters,观察寄存器结果:A=000000000A;AR1=0062。(2)修改程序ch2p1.asm,求:y=x1-x2减法指令:SUBSmem,src运行结果:src=src-

5、smem;从累加器中减去一个操作数提示:修改ch2p1.asm中的红色部分。[1]将该程序语句改为:SUB@x2,A[2]观察数值结果:x1=30;x2=20;y=10。(3)修改程序ch2p1.asm,求:y3=x1*x2乘法指令:MPYSmem,dst运行结果:dst=T*Smem;T寄存器与单数据存储操作数相乘提示:将ch2p1.asm中的:SU:LD@x1,AADD@x2,A改为下列语句,并在空格中填入注释。SU:LD@x1,T;(T)=(x1)MPY@x2,A;A=x1*x2观察数值结果:x1=30;x

6、2=20;y=600。(4)已知:x1=30,x2=20,x3=10,求:y=x1*x2+x3乘法--累加指令:MACSmem,src运行结果:src=src+T*Smem;Smem与T寄存器相乘,再加到ACC中[1]提示:ch2p1.asm中有四处地方要修改:1)在.bssx2,1下方添加一句:bssx3,1;2)在table:.word30,20后添加数据:10;3)将RPT#1改为:RPT#2;4)将SU:LD@x1,AADD@x2,A改为下列语句,并在空格中填入注释。SU:LD@x3,A;(A)=(x3)

7、LD@x1,T;(T)=(x1)MAC@x2,A;(A)=(A)+(T)*x2[2]观察数值结果:y=610。(4)已知:x1=30,x2=20,x3=10,求:y=x3-x1*x2乘法—减法指令:MASSmem,src运行结果:src=src-T*Smem;[1]修改程序(3)中的(一句)MAC@x2,A改为MAS@x2,A即可实现。[2]观察数值结果:y=-590。2.程序的控制与转移/重复操作/数据传送程序(1)已知:x1(n)={1,2,3},x2(n)={2,3,4},求:y(n)=x1(n)+x2(n

8、)BANZpmad,Sind;当ARx不为0时转移。程序:ch2p2.asm.mmregsSTACK.usect"STACK",10H.bssx1,3.bssx2,3.bssy,3.defaa.datatable:.word1,2,3.word2,3,4.textaa:STM#STACK+10H,SPSTM#x1,AR1RPT#5MVPDtable,*AR1+CALLSU

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。