DSP实验报告文档格式.docx
《DSP实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《DSP实验报告文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
.title"
ex1"
.mmregs
.def_c_int00
DAT0.set60H
DAT1.set61H
DAT2.set62H
DAT3.set63H
.text
_c_int00:
Bstart
start:
LD#0000h,A
LD#004h,DP;
置数据页指针
STM#1000h,SP;
置堆栈指针
SSBXINTM;
状态寄存器置位
RSBXCPL
ST#0036h,DAT0;
把0036h放到"
DP(9位地址)+偏移地址(指令中7位地址)"
的16位地址中去
ST#0049h,DAT1
ST#1330h,DAT2
LD@DATA0,A;
三数相加操作:
DAT3=DAT0+DAT1+DAT2
ADD@DATA1,A
ADD@DATA2,A
STLA,DAT3
NOP
;
loop:
.end
五、调试程序
初始:
运行结果:
设置断点:
A=36h
A=36h+49h=7Fh
A=7Fh+1330h=13AFh
实验二
1、掌握加法、BNAZ、RPT、MVPD等DSP指令的使用。
2、掌握“宏”的概念和基本工作原理。
3、掌握“子程序”的概念和基本工作原理。
4、分析“宏”和“子程序”的异同点。
1、在“实验一”的基础上,修改程序,设计一个三数相加求和的“宏”来计算DAT0+DAT1+DAT2的值。
2、新编写一个多数求和程序,要求通过“子程序”调用来计算y=
的值,程序中用.bss指令来开辟六个字的存储空间来存放
…
和y。
1.asm文件
add2.asm"
STACK.usect"
STACK"
10H
.bssx,5
.bssy,1
.data
table:
.word1H
.word3H
.word5H
.word7H
.word9H
.text
STM#0,SWWSR
SSBXFRCT
STM#STACK+10H,SP
STM#x,AR1
RPT#4
MVPDtable,*AR1+
CALLSUM
end:
Bend
SUM:
STM#x,AR2
RPTZA,#4
ADD*AR2+,A
STLA,@y
RET
2.cmd文件
/*add2.cmd*/
-oadd2.out/*产生可执行下载文件,文件名可以根据不同项目而定*/
-madd2.map/*产生存储器映射文件,文件名可以根据不同项目而定*/
MEMORY{
PAGE0:
EPROM:
origin=0E00h,len=100h
PAGE1:
SARAM:
origin=0060h,len=0020h
DARAM:
origin=0080h,len=100h
}
SECTIONS{
.text:
>
EPROMPAGE0
.data:
.bss:
SARAMPAGE1
STACK:
DARAMPAGE1
A=1h+3h+5h+7h+9h=19h
实验三
1、掌握MVPD、MAC、MAX等一些高效率指令的使用。
2、掌握算法优化的基本原理和实现。
编写两个子程序分别实现“乘法累加”运算和“寻找乘积最大值”运算。
STM#a,AR2
STM#x,AR3
MAC*AR2+,*AR3+,A
SEARCH:
STM#a,AR1
STM#3,AR3
LD*AR1+,T
MPY*AR2+,A
loop1:
MPY*AR2+,B
MAXB
BANZloop1,*AR3-
RET
开始:
1.“乘法累加”运算
A=0
A=1*5=5h
A=5+1*4=9h
A=9h+1*3=0Ch
A=0Ch+2=0Eh
A=0Eh+10=18h
2.“寻找乘积最大值”运算
(1)A=5h
(2)B=4h
(3)B<
5h所以B=5h
(4)B=3h
(5)B<
(6)B=2h
(7).B<
(8)B=0Ah
(9).B>
A,所以B=0Ah
显示程序运行所耗机器周期数:
T=156