实验三:编写一个C语言和汇编混合的DSP程序
一、实验目的
1.学习在C工程中加入汇编编程混合编程的方法。
2.了解混合编程的注意事项。
3.了解混合编程的必要性和在什么情况下采用混合编程。
二、实验设备
1.PC机一台:操作系统为Windows2000或WindowsXP。
2.ICETEK-F2812-EDU实验箱一台。
三、实验原理
实验提供了一个使用C 与汇编程序混合编程的实例,是一个用汇编语言模块优化自己编制的应用程序的实例。首先用户拿到的是一个纯用C 语言开发的工程,再根据假设,需要将其中一个模块改造成用汇编语言模块优化的模块。通过实验过程,用户可充分了解混合编程可以采取的步骤和方法。
四、实验步骤
1.实验准备:设置软件仿真模式,启动CCS。
2.如实验二建立工程文件,编辑输入C源程序及连接命令文件,程序如同实验二,此处工程文件名为CASM.pjt。
3.编译源文件、下载可执行程序。
4.运行程序,观察结果:在程序z=x + y语句上加软件断点;将变量z 加入变量观察窗口(watch window);运行程序到断点,观察变量z 的结果值。
5.修改程序
(1)修改算法部分成单独子程序:我们假设在循环中进行的运算是需要用汇编语言程序模块优化的部分。首先将“z=x+y;”语句修改成“z=add(x,y);”,在程序头上,变量定义之前加上一行“int add(int a,int b);”,在程序末尾,添加如下子程序。
int add(int a,int b)
{
return(a+b);
}
如此,将算法搬移到一个C 语言的子程序模块中实现。
修改完成后,可以编译、下载、运行到断点,观察运行结果,判断是否子程序能完全与原程序一样完成算法。
(2)将子程序移入add.c:打开一个新的空的源文件窗口,将main 函数后的子程序复制到窗口中;注释main 函数后面的子程序(在子程序前一行加“/*”,在子程序结尾行后加“*/”);将新窗口中的内容保存为文件add.c。