DSP实验报告—实验3  编写一个以汇编(ASM)语言为基础的DSP程序

该博客围绕TMS320C28x汇编语言实验展开,介绍了实验目的,包括学习汇编编程、了解与C语言程序区别等;说明了实验设备和原理;详细阐述了实验步骤,如创建工程、编译下载程序、观察运行结果等;最终得出汇编程序可从指定位置运行,需初始化运行环境的实验结果。

 

 

一. 实验目的

1.学习用汇编语言编制程序;了解汇编语言程序与  C    语言程序的区别和在设置上的不同。

2.了解 TMS320C28x 汇编语言程序结果和一些简单的汇编语句用法。

3.学习在 CCS 环境中调试汇编代码。

 

二. 实验设备

PC 兼容机一台,操作系统为 WindowsXP 或者以上版本,安装了 Code Composer Studio v5软件。

 

三. 实验原理

 

1. 汇编语言程序

汇编语言程序除了程序中必须使用汇编语句之外,其编译选项的设置与C语言编制的程序也稍有不同。其区别为:

(1)汇编语言程序在执行时直接从用户指定入口开始,常见的入口标号为“start”,而C语言程序在执行时,先要调用C标准库中的初始化程序(入口标号为“_c_init00”),完成设置之后,才转入用户的主程序main()运行。

(2)由于CCS 的代码链接器默认支持C语言,在编制汇编语言程序时,需要设置链接参数,选择非自动初始化,注明汇编程序的入口地址。

2.程序设计要求

程序框图:

 

 

数值运算

开设三个整

型变量 x,y,z

赋初值:

x=1,y=2

计算 x+y

输出结果到 z

循环

 

四.实验步骤

1.实验

确保已经设置过  CCS(参看:第三部分、第一章、四)。此实验为软件仿真。

2.启动 Code Composer Studio 5

3.创建工程

选择菜单“View”的“Project Explorer”项,打开工程查看界面

 

在 Project Explorer 窗口的空白地方右键选择 New->CCS Project:

在弹出的窗口中设置工程名称,以及工程的设备类型,这里我们新建工程   TASM,Device型号为TMS320F28335,点击Finish完成创建:

4.编译、下载程序。

点击图标 ,CCS会自动编译、连接和下载程序,最后会显示出Debug窗口,且主程序文件被自动打开,程序指针指向第一条汇编代码。

5.打开观察窗口

(1)选择菜单View->Disassembly。注意程序运行指针停留的位置。

(2)开启CPU寄存器观察窗口:单击菜单View->Registers 打开寄存器观察窗口,展开里面的CPU Registers。请看PC指针取值与当前程序运行地址对应。此处为 0x9000。

 (3)展开ACC里面的AL寄存器,此时应为0。如果AL寄存器的值不为0,请点击Run->Reset->Reset CPU,对28335芯片进行复位。

(4)开启内存观察窗口:

选择“View”菜单中“Memory  Browser…”项,在“Memroy  Browser”窗口中的地址项中输入0x400,单击“GO”完成设置。

6.观察程序运行结果

(1)点击Debug窗口中的图标 ,单步运行1次,在观察窗中观察到AR1寄存器被赋值0x9000。

(2)再单步运行3次,将看到内存窗口中0x402被赋值0x0A,0x401地址被赋值 0x1。

(3)再单步运行3次,可观察0x400地址中的值变为0x0B,此数据就是把0x402 和0x401地址中数据相加得到的。

7.对照观察 map 文件和 cmd 文件的内容

(1)展开工程中的Debug文件夹,找到TASM.map文件,双击打开。

(2)打开28335_RAM_lnk.cmd文件。

(3)程序的入口地址:map文件中“ENTRY POINT SYMBOL”中说明了程序入口地址(start)。

(4)内存使用情况:

map文件中“MEMORY CONFIGURATION”标明了程序占 RAM的使用情况。比较一下,这比用C编制的程序占用的要小得多。

观察map文件中的“SECTION ALLOCATION MAP”段,可以看出TASM.obj的入口 地址为9000H,这也是程序的入口地址。

8.退出 CCS

 

五.实验结果

汇编语言程序可以从指定位置开始运行,但汇编程序需要完成对运行环境的初始化工作。 实验中的程序有堆栈操作,所以初始化堆栈指针,这在编制大型应用程序中是必须要的功能。

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沄边小卖部

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值