DSP实验教案介绍.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言程序设计实验 实验一 程序的控制与转移 一、实验目的 1、掌握条件算符的使用。 2、掌握循环操作指令(BNAZ) 二、实验设备 计算机、DSP实验箱、ccs5000软件。 三、实验内容: 编写程序,实现计算的值。 四、实验步骤 1、用仿真器将计算机与DSP实验箱连接好,并依次打开实验箱电源、仿真器电源,然后运行CCS 软件。 2、新建一个项目:点击Project-New,将项目命名为example2,并将项目保存在自己定义的文件夹下,注意文件夹一定要用英文名,不要将文件夹取名为中文名,因为CCS 软件不能识别以中文命名的文件夹。 3、新建一个源文件:点击File-New-Source File可以打开一个文本编辑窗口,点击保存按键,保存在和项目相同的一个文件夹下面(example2),保存类型选择*.ASM(如果源文件是C 语言编写的,保存类型选择*.C,本实验中的例程是使用汇编语言编写的,所以选择*.ASM 为保存类型),我们在这里将保存名字命名为example2.asm 。 4、在项目中添加源文件:在新建了一个源文件以后,要想使用CCS 编译器对该源文件进行编译还需要将源文件添加到项目中去。添加方法是在工程管理器中右键单击example2.pjt,在弹出的菜单中选择Add Files,然后将刚才建立的example2.asm 文件添加到该项目中去。 5、编写源程序: 在工程管理器中双击example2.asm ,将出现文本编辑窗口,在该文本编辑窗口中输入如下内容: .title example2.asm .mmregs STACK .usect STACK,10H ;堆栈的设置 .bss x,5 ;为变量分配6 个字的存储空间 .bss y,1 .def _c_int00;start .data table: .word 10,20,3,4,5 ;x1,x2,x3,x4,x5 .text ;start: STM #0,SWWSR ;插入0 个等待状态 _c_int00: STM #0,SWWSR STM #STACK+10H,sp ;设置堆栈指针 STM #x,AR1 ;AR1指向x RPT #4 ;下一条被重复执行5 遍 MVPD table,*AR1+ ;把程序存储器中的数据传送到数据存储器 LD #0,A ;A清零 CALL SUM ;调用求和函数 end: B end SUM: STM #x,AR3 ;AR3指向x STM #4,AR2 ;AR2=4 loop: ADD *AR3+,A ;*AR3+A--A,然后AR3+ BANZ loop,*AR2- ;如果AR2 的值不为0,则跳到loop 处; ;否则执行下一条指令 STL A,*(y) ;把A 的低16 位赋给变量y RET .end 提示: (1)源代码的书写有一定的格式,初学者往往容易忽视。每一行代码分为三个区:标号区、指令区和注释区。标号区必须顶格写,主要是定义变量、常量、程序标识时的名称。指令区在标号区之后,以空格或TAB 格开。如果没有标号,也必须在指令前面加上空格或TAB,不能顶格。注释区在标号区、程序区之后,以分号开始。注释区前面可以没有标号区或程序区。另外还有专门的注释行,以*打头,必须顶格开始。 (2)一般区分大小写,除非加编译参数忽略大小写。 (3)标点符号有时不注意会打成中文全角版本号导致错误。 6、编写链接配置文件: 只有汇编源程序是不够的,一个完整的DSP 程序至少包含三个部分:主程序、中断向量表、链接配置文件(*.cmd)。这里先介绍一下链接配置文件。 链接配置文件有很多功能,这里先介绍最常用的也是必须的两条:1.存贮器的分配 2.标明程序入口。 由于每个程序都需要一个链接配置文件,每个程序的链接配置文件根据实际情况的需要都略有不同,下面就为本实验的程序编写一个链接配置文件,其它实验的链接配置文件都可以参考与本书配套的相应例程来完成: /*example2.cmd */ vectors.obj /*中断向量的目标文件*/ example2.obj /*产生目标文件*/ -o example2.out /*产生可执行下载文件,文件名可以根据不同项目而定*/ -m example2.map /*产生存储器映射文件,文件名可以根据不同项目而定 */ MEMORY { PAGE 0: /*定义程序存贮区*/ EPROG: origin = 0x4000, len = 0x3f80 VECT: origin = 0x7f80, len = 0x80 PAGE 1: /*定义数据存贮区*/ SYSREGS: origin = 0x00,

文档评论(0)

***** + 关注
实名认证
内容提供者

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档