试验五、混合语言编程试验(C函数调用汇编函数).doc
-
资源ID:79333999
资源大小:43KB
全文页数:3页
- 资源格式: DOC
下载积分:15金币
快捷下载
![游客一键下载](/images/hot.gif)
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
试验五、混合语言编程试验(C函数调用汇编函数).doc
试验五、混合语言编程试验(C函数调用汇编函数)一、 试验目的1、 在了解纯C语言程序工程和汇编语言程序工程的基础上,学习在C工程中加入汇编编程的混合编程方法;2、 了解混合编程的注意事项;3、 理解混合编程的必要性和在什么情况下要采用混合编程。二、 实验设备计算机、DSP硬件仿真器、DSP教学试验箱三、 试验背景知识1、 当程序中需要操作与硬件密切相关的设备,而用C语言较难实现时。比如:在终端程序设计时需要设置中断向量表,向量表中空间有限,用C语言语句有困难,且需向量表要在内存中精确定位,这时可将设置中断向量表的部分用汇编语言代替。2、 当需要绕开C编译器的规定,进行特殊操作时。比如:C语言规定,程序不能访问程序代码区,而系统功能需要进行类似访问时可采用限制较小的汇编语言程序设计。3、 当需要提高模块的效率(包括空间商和时间上两方面的),而C语言程序无法达到要求时。在遇到以上三种情况时需要使用混合编程技术。四、 实验内容1、 DSP源文件的建立;2、 DSP程序工程文件的建立;3、 掌握C语言和汇编语言在DSP中混合的应用。五、 实验步骤首先将“D:BACKDSP 试验箱例程” 目录下 test 文件夹拷贝到D盘根目录下。1、 将DSP仿真器与计算机连接号;2、 将DSP仿真器的JTAG插头与DSP试验箱主板上DSP_JTAG相连接;3、 打开试验箱电源。观察SEED-DTK_Moard单元的+5V,+3.3V,+15V,-15V的电源知识灯以及SEED-DEC643的电源指示灯D1是否均亮;若有不亮的,请断开电源,检查电源。4、 运行,设置硬件仿真的环境。5、 运行,按照下列源文件编写test4_Complex1,下载运行例程,观察CCS显示的结果。六、 实验报告要求1、 简述采用混合语言编程的背景。2、 描述程序实现的功能和原理。3、 记录消息显示框显示的信息。/* 混合语言编程实验 c语言源文件 函数功能:得到a和b两数之和,并将其输出; 得到c和d两数之积,并将其输出;*/#include <stdio.h>extern int add2(int m,int n);main() int m; float n; short a = 10; short b = 5; float c = 4.5; float d = 5.5; m = add2(a, b); n = c * d; printf("m = %dn", m); printf("n = %fn", n); for(;);*汇编语言源文件* 函数原型:int add2(int m,int n) * 函数功能:将m和n相加,并返回m、n相加的和 *.def _add2 ; add2()函数声明,当前文件定义,外部文件可调用.mmregs_add2:; add2 函数标号FRAME -2; 堆栈指针偏移立即数值NOP STL A,*SP(0h); 累加器A的低端存放在数据存储器中LD *SP(3h),A; ADD *SP(0h),A; 函数返回值通过累加器A返回 FRAME 2RET ; 函数返回。CMD文件MEMORY PAGE 0: ISRAM: org = 0x4000, len = 0x4000PAGE 1: SDRAM: org = 0x1000, len = 0x3800SECTIONS.vector: > ISRAM PAGE 0 .text: > ISRAM PAGE 0 .switch: > SDRAM PAGE 1 .bss: > SDRAM PAGE 1 .cinit: > SDRAM PAGE 1 .const: > SDRAM PAGE 1 .far: > SDRAM PAGE 1 .stack: > SDRAM PAGE 1 .cio: > SDRAM PAGE 1 M .sysmem: > SDRAM PAGE 1