这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 请教C语言函数编译后传递参数的问题?#pragma PARAMETER 用法?

共4条 1/1 1 跳转至

请教C语言函数编译后传递参数的问题?#pragma PARAMETER 用法?

菜鸟
2009-01-13 13:39:23     打赏
例如:
void func_a(uint,uint,uchar);
#pragma PARAMETER    func_a(R1,R2,R0H)
这样的写法,函数传递参数的时候,在汇编里面,使用R1,R2,R0H;

那么如何来是传递参数时使用堆栈的,
例如:func_a(a,b)
汇编成:
push.w   b;
push.w  a;
_func_a();
ADD.B     #02H,SP;

这种样子,在C语言里面怎么才能做到呢?

感谢高手指教





关键词: 请教     语言     函数     编译     传递     参数     问题     #pra    

高工
2009-01-13 14:47:16     打赏
2楼
帮你置顶,各位高手大侠路过来回答一下吧

高工
2009-01-19 10:15:26     打赏
3楼
不是太明白问题的意思,在C语言中参数传递时不进堆栈吧,好像是先开辟一个空的单元存放,然后再释放单元

菜鸟
2009-02-02 12:49:07     打赏
4楼
 您这样做的目的是什么呢?如果你的程序全部用C来编写,那么你不必关心函数参数传递的具体过程。如果你的C程序中嵌入了汇编语言,
那么完全可以采用嵌入汇编的方式来实现你的目的。
  瑞萨的C编译器根据参数的数据类型不同,选择参数的存储位置,char和int型的第一个参数是存在寄存器中的,不支持全部参数存在堆栈中的设定。

共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]