c语言学习针对TIDSP.docVIP

  • 8
  • 0
  • 约6.6千字
  • 约 7页
  • 2017-08-30 发布于江苏
  • 举报
[推荐]DSP中C语言编程经验总结(针对的是Ti的DSP) DSP, C语言, 经验总结, 推荐 在C和汇编混合编程的时候,存在C语言和汇编语言 的变量以及函数的接口问题。 在C程序中定义的变量,编译为.asm文件后,都被 放进了.bss区,而且变量名的前面都带了一个下划 线。在C程序中定义的函数,编译后在函数名前也 带了一个下划线。例如: extern int num就会变成 .bss _num, 1 extern float nums[5]就会变成.bss _nums, 5 extern void func ( )就会变成 _func, 一 汇编和C的相互调用可以分以下几种情况: (1) 汇编程序中访问c程序中的变量和函数。 在汇编程序中,用_XX就可以访问C中的变量XX了。 访问数组时,可以用_XX+偏移量来访问,如_XX+3 访问了数组中的XX[3]。 在汇编程序调用C函数时,如果没有参数传递,直 接用_funcname 就可以了。如果有参数传递,则函 数中最左边的一个参数由寄存器A给出,其他的参 数按顺序由堆栈给出。返回值是返回到A寄存器或 者由A寄存器给出的地址。同时注意,为了能够让 汇编语言能访问到C语言中定义的变量和函数,他 们必须声明为外部变量,即加extern 前缀。 (2) c程序中访问汇编程序中的变量 如果需要在c程序中访问汇编程序中的变量,则汇

文档评论(0)

1亿VIP精品文档

相关文档