DSP实验报告2.docx
《DSP实验报告2.docx》由会员分享,可在线阅读,更多相关《DSP实验报告2.docx(11页珍藏版)》请在冰豆网上搜索。
DSP实验报告2
贵州大学实验报告
学院:
电子信息学院专业:
电子信息工程班级:
姓名
学号
实验组
实验时间
2014/4/2
指导教师
成绩
实验项目名称
汇编语言基本算术运算
实验目的
1.进一步熟悉CCS进行程序编译,调试的步骤.
2.掌握进行算术运算的常用指令,以及伪指令的作用.
3.掌握汇编语言进行整数运算,小数运算以及双操作数运算.浮点运算的方法.注意双操作数运算所允许使用的辅助寄存器.
实验要求
加减法和乘法运算
小数运算
实验仪器
计算机一台
实验步骤
1、计算z=x+y-w
.tiltle“example.asm”
.mmregs
STACK.usect“stack”,10H
.bssx,1
.bssy,1
.bssw,1
.bssz,1
.defstart
.data
table:
.word10,26,23
.text
Start:
STM#0,SWWSR
STM#STACK+10H,SP
STM#x,AR1
RPT#2
MVPDtable,*AR1+
CALLSUMB
end:
Bend
SUMB:
LD@x,A
ADD@y,A
SUB@w,A
LD#1,DP
STLA,@z
RET
.end
注意cmd文件同实验一。
2、乘加运算
.tiltle“example.asm”
.mmregs
STACK.usect“stack”,10H
.bssa,4
.bssx,4
.bssy,1
.defstart
.data
table.word1,2,3,4
.word8,6,4,2
.text
start:
STM#0,SWWSR
STM#STACK+10H,SP
STM#x,AR1
RPT#7
MVPDtable,*AR1+
CALLSUM
end:
Bend
SUM:
STM#a,AR3
STM#x,AR4
RPTZA,#3
MAC*AR3+,*AR4+,A
STLA,@Y
RET
.end
注意cmd文件同实验一。
3、小数运算
.tiltle“example.asm”
.mmregs
STACK.usect“stack”,10H
.bssa,4
.bssx,4
.bssy,1
.defstart
.data
table.word1*32768/10
.word2*32768/10
.word-3*32768/10
.word4*32768/10
.word8*32768/10
.word6*32768/10
.word-4*32768/10
.word-2*32768/10
start:
SSBXFRCT
STM#a,AR1
RPT#7
MVPDtable,*AR1+
STM#a,AR3
STM#x,AR4
RPTZA,#3
MAC*AR3+,*AR4+,A
STLA,@Y
end:
Bend
.end
注意cmd文件同实验一。
观察程序结果:
分别点击菜单Viex->Memory和Registers可以观察程序执行后存储器的变化,程序执行的结果以及寄存器值的变化情况.
实验内容
1、计算z=x+y-w
程序运算结果及存储位置
本实验出现错误:
标号前不能有空格
2、乘加运算
程序如图
程序运算结果及存储位置
本实验出现错误
1、Y前后未区分大小写
三、小数运算
程序如图
.
程序执行的结果以及寄存器
全部运行完后,未出现结果,错误为STLA,@y应改为STHA,@Y
应将高16位存入结果,才能出正确结果。
作业:
y=(a/4+b)*c-d整数运算
显示错误:
1.title拼写错误
2.start未定义,原因是没有严格区分大小写
修改后程序如下:
运行数据不能存入y中,原因是DP的值应为01H,而电脑上显示为00H,应将DP修改为01H
修改后程序如下:
运行后结果如下:
实验总结
掌握了进行算术运算的常用指令,以及伪指令的作用.掌握汇编语言进行整数运算,小数运算以及双操作数运算.浮点运算的方法.注意双操作数运算所允许使用的辅助寄存器.
指导教师意见
签名:
年月日