DSP技术及其应用实验报告 CCS软件基本运算_第1页
DSP技术及其应用实验报告 CCS软件基本运算_第2页
DSP技术及其应用实验报告 CCS软件基本运算_第3页
DSP技术及其应用实验报告 CCS软件基本运算_第4页
DSP技术及其应用实验报告 CCS软件基本运算_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DSP技术及其应用实验 实验题目:CCS软件基本运算 实验人: 学号: 班级: 实验地点: 一.实验目的1 学习DSP算术指令的使用;2 学习并掌握DSP的基本寻址方式。二.实验器材1. CVTDSP实验箱、DSP仿真器。三.实验内容1编写程序,实现数据的算术运算;四.基础知识1DSP寻址方式简介在上一个实验中我们仅仅使用了一些寄存器,或者说是使用了寄存器寻址,DSP的寻址方式很多,可以分为以下几类:立即数寻址、绝对寻址、累加器寻址、直接寻址、间接寻址、存储器映射寄存器寻址、堆栈寻址,以及一些特殊的寻址比如:位倒序寻址、循环寻址。下面简单的说明一下立即数寻址和直接寻址。1)立即数寻址这种寻址方

2、式最简单,指令里包括了立即操作数。在一条指令中可对两种立即数编码。一种是短立即数(3、5、8或9bits),另一种是16bits的长立即数。立即数可包含在单字或双字指令中。3-,5-,8-或9-bit值在单字指令中,16-bit值在双字指令中。比如LD指令允许使用3、5、8、9、16比特的立即数,FRAME指令只允许使用8比特的立即数,RPT允许使用8、16比特的立即数,而象ADD、ADDM、OR、ORM等只能使用16比特的立即数。以下是一些立即数寻址的指令例子:LD #0, ARP ;ARP=2(#k3)LD #3, ASM ;ASM=3(#k5)LD #50, DP ;DP=50(#k9)

3、LD #1234, A ;A=1234(#k)STM #FFFFh,IMR ;IMR=FFFFh(#lk)2)直接寻址在直接寻址中,指令代码包含了数据存储器地址的低七位。这7-bit作为偏移地址与数据页指针(DP)或堆栈指针(SP)相结合共同形成16-bit的数据存储器实际地址。如下图所示。其中CPL=0时:与9-bit的DP相结合形成数据存储器地址。而9-bit的DP指向的是数据存储空间的512个数据页中的一页。比如下面的程序: .dataData_DP:;数据段指针var0.word3;初始化变量var1:.word 2var2:.word1result:.word 0.text ;程序区

4、CodeEntry:LD #Data_DP,DP;装载数据指针DPSUMB:LDvar0,A;A= var0当CPL=1:加上SP基地址形成数据存储器地址。示例略。注:处理器复位后CPL默认值为0。提示:实验算术指令由于不需要外部资源,可以不需要仿真器和实验箱。我们可以平时自己用软件仿真,多多实验。但是复杂的算法最好还是在线仿真,因为程序是流水线执行,软件仿真有时与实际硬件执行结果有所不同。五.实验步骤及参考程序1实验步骤1)运行CCS软件;2)输入源代码;3)编译并下载目标代码,检查执行结果;2参考程序*计算z=x+y-w。*.mmregs.def CodeEntry .dataData_D

5、P: ;据段指针var0.word3 ;初始化变量var1:.word 2var2:.word1result:.word 0.text ;程序区CodeEntry:LD #Data_DP,DP ;装载数据指针DPSUMB:LDvar0,A ;A= var0ADD var1,A ;A=A+ var1SUBvar2,A ;A=A-var2STLA, result; result =AEND:BEND.end计算结果数据存储器地址存储内容十进制var01000H0003H3var11001H0002H2var21002H0001H1result1003H0004H4提示:要检查内存中的内容可以通过菜

6、单View-memory,选择指定的存储区及地址。如下图是运行前的内存情况:DSP并没有除法指令,DSP中也是通过做多次减法的办法来做除法。下面例子是用除以10的办法来实现16进制数转成BCD码的例子:*16进制转BCD码*.mmregs.def CodeEntry.dataInput: .word1234;待转换的数字divisor: .word 10;除数Result: .word0ffh,0ffh,0ffh,0ffh,0ffh;结果区,每位BCD存一个字,.textCodeEntry:LD # Input,DP;设置DPLD Input,A;被除数STM # Result,AR1;结果区指针loop:RPT#15;执行完16次减法后,A的高16位是余数SUBCdivisor,A;低16位是商STHA,*AR1+;余数保存到ZAND #0FFFFH,A;掩盖掉高16位,保留商值BCloop,ANEQ;继续做

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论