DSP实验基本汇编程序设计.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验二 基本算术运算实验 一、实验目的: 1:通过本实验,熟悉指令系统,初步掌握汇编语言程序设计的基本方法; 2.熟悉CCS5000开发环境; 3了解DSP54XX的数据格式, 4:了解DSP的汇编语言实现算术乘除运算 5掌握TMS320C54xxDSP程序空间及数据空间的分配; 6.掌握COFF格式文件及配置文件。 二、实验原理 DSP 中数据的格式有多种,包括16 位有符号数、16 位无符号数、32 位无符号数、32 位有符号数、32 位浮点数、32 位IEEE 浮点数等各种形式。由于数据所设置的小数点位置 的不同,即使同一类型的数据也会出现不同的数值。这一点是程序设计中尤其需要注意的地 方。如果采用C 语言编写程序,CCS 会自动去管理各种数据;但如果采用汇编语言编写程 序,对于各种数据的管理将显得尤其麻烦,然而在许多DSP 的应用场合,采用纯汇编编写 程序是必须的,所以对于DSP 中数据各种格式的情况最好还是需要了解。 DSP中定点数据表示方法: DSP 表示整数时,有两种格式,有符号数和无符号数,如果作为有符号数表示时,其 最高位表示符号,最高位为0 表示其为正数,为1 表示其为负数,最低位表示1,次低位表 示2 的1 次方,次高位表示2 的14 次方。无符号数表示时,最高位仍然作为数值位计算。 例如,有符号数所能够表示的最大的正数为07FFFH,等于32767(10 进制),而0FFFFH 表示最大的负数-1;无符号数不能表示负数,其所能够表示的最大的数为0FFFFH,等于十 进制数的65535。 DSP表示小数时,其符号和上面整数的表示一样,但是必须注意如何安排小数点的位置, 原则上小数点的位置根据程序员的爱好可以安排在任何位置,为了便于数据处理一般安排在 最高位后(以下我们仅以小数点在最高位的形式进行讨论),则最高位表示符号位,这样次 高位表示0.5,然后是0.25,依次减少一半。例如:4000H表示小数0.5,1000H表示小数0.25, 而0001H表示16位定点DSP表示的最小的小数(有符号)0.000030517578125。 DSP 中表示32 位的数据时,采用使用两个内部存储器保存一个数据。这样,每个数据 需要相邻地址的两个空间,其中较低地址的空间保存数据的低16 位,较低地址永远为无符 号数;较高地址空间保存数据的高15 位和符号位(如果是无符号数,则保存高16 位)。例 如需要保存16 进制0FFFFFH 这个数据,10 进制中等于1048575,DSP 中使用连续的地址, 高地址空间为0FH(有符号数),低地址空间为0FFFFH(无符号数)。DSP 中还可以实现更 多位数的数据,采用三个甚至四个地址空间去保存一个数据,这样表示数据的数值将更大(整 数)或者更精确(小数)。 三、实验内容: 整数乘累加实验: 5y=∑aixi乘法累加的汇编语言程序,其中ai={1,2,3,4,5} xi={1,2,3,4,5} 5 I I=1 3.小数乘累加实验 y=∑aixi乘法累加的汇编语言程序 i=1 i=1 其中:ai={0.1,0.2,-0.3,0.4 } xi={0.8,0.6,-0.4,-0.2} 四: DSP 程序设计指导 1;DSP 程序设计结构指导::一个完整的DSP程序至少包含三部分:程序代码、中断向量表、链接配置文件(*.cmd)。这里介绍一个链接配置文件,对本实验影响不大的中断向量表将在后面的实验再介绍。 链接配置文件确定了程序链接成最终可执行代码时的选项,其中最常用的也是必须的有两条:一是存储器的分配;二是标明程序入口。以本实验为例,下面的简单链接配置文件就够用了。 /*TestXF.cmd*/ -eCodeStart /*程序入口,必须在程序中定义相应的标号*/ MEMORY { Page0: PRAM:org=0100h len=0F00h /*定义程序存储区,起始0100H,长度0F00H*/ } SECTIONS{ .text:PRAM page0 /*将.rext段映射到page0的param区*/ } 由于每个程序都需要一个链接配置文件,可以编写一个满足通常需要的链接配置文件。下面是一个可被许多程序使用的,通用的链接配置文件,可以满足实验用到的大部分程序的需要。在不知道如何编写.cmd文件的情况下可以使用这个通用的链接配置文件。 /*5402.cmd*/ -e CodeStart /*程序入口,必须在程序中定义相应的标号*/ -m map.map /*生成存储器映射报告文件*/ MEMORY { PAGE0: VECT: org=0080h len

文档评论(0)

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

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档