【2018年最新整理】DSP实验报告汇编语言基本算术运算.docx
文本预览下载声明
贵州大学实验报告学院: 电子信息学院 专业: 电子信息工程 班级:姓名学号实验组实验时间2014/4/2指导教师成绩实验项目名称汇编语言基本算术运算实验目的1.进一步熟悉CCS进行程序编译,调试的步骤. 2.掌握进行算术运算的常用指令,以及伪指令的作用.3.掌握汇编语言进行整数运算,小数运算以及双操作数运算.浮点运算的方法.注意双操作数运算所允许使用的辅助寄存器.实验要求加减法和乘法运算小数运算实验仪器计算机一台实验步骤1、计算 z=x+y-w .tiltle “example.asm” .mmregsSTACK .usect “stack”,10H .bss x,1 .bss y,1 .bss w,1 .bss z,1 .def start .datatable: .word 10,26,23 .textStart: STM #0,SWWSR STM #STACK+10H,SP STM #x,AR1 RPT #2 MVPD table,*AR1+ CALL SUMBend: B endSUMB: LD @x,A ADD @y,A SUB @w,ALD #1,DP STL A,@z RET.end注意cmd文件同实验一。2、乘加运算 .tiltle “example.asm” .mmregsSTACK .usect “stack”,10H .bss a,4 .bss x,4 .bss y,1 .def start .datatable .word 1,2,3,4 .word 8,6,4,2 .textstart: STM #0,SWWSR STM #STACK+10H,SP STM #x,AR1 RPT #7 MVPD table,*AR1+ CALL SUMend: B endSUM: STM #a,AR3 STM #x,AR4 RPTZ A,#3 MAC *AR3+,*AR4+,A STL A,@YRET .end注意cmd文件同实验一。小数运算 .tiltle “example.asm”.mmregs STACK .usect “stack”,10H .bss a,4 .bss x,4 .bss y,1 .def start .data table .word 1*32768/10 .word 2*32768/10.word -3*32768/10 .word 4*32768/10 .word 8*32768/10.word 6*32768/10 .word -4*32768/10 .word -2*32768/10start: SSBX FRCT STM #a,AR1 RPT #7 MVPD table,*AR1+ STM #a,AR3 STM #x,AR4 RPTZ A,#3 MAC *AR3+,*AR4+,A STL A,@Yend: B end .end注意cmd文件同实验一。观察程序结果:分别点击菜单Viex-Memory和Registers可以观察程序执行后存储器的变化,程序执行的结果以及寄存器值的变化情况.实验内容1、计算 z=x+y-w程序运算结果及存储位置本实验出现错误:标号前不能有空格2、乘加运算程序如图程序运算结果及存储位置本实验出现错误Y前后未区分大小写三、小数运算程序如图.程序执行的结果以及寄存器全部运行完后,未出现结果,错误为STL A,@y应改为 STH A,@Y应将高16位存入结果,才能出正确结果。作业:y=(a/4+b)*c-d 整数运算显示错误:title拼写错误start未定义,原因是没有严格区分大小写修改后程序如下:运行数据不能存入y中,原因是DP的值应为01H,而电脑上显示为00H,应将DP修改为01H修改后程序如下:运行后结果如下:实验总结掌握了进行算术运算的常用指令,以及伪指令的作用.掌握汇
显示全部