c语言简单小数乘法,DSP实验基本汇编程序设计

实验二基本算术运算实验

一、实验目的:

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 中还可以实现更

多位数的数据,采用三个甚至四个地址空间去保存一个数据,这样表示数据的数值将更大(整数)或者更精确(小数)。

三、实验内容:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值