YZY0707 发表于 2013-10-18 15:57:40

C里面调汇编函数参数是怎么传递的

最近在学习PIC单片机,型号是dsPIC30F。一下是memory.s中的一个汇编函数。在main有对它的调用,不知道参数是怎么传递的。

汇编原形:
_ReadLatch: ;W0=TBLPAG,W1=Wn - data in W1:W0
        mov        W0,TBLPAG       
        tblrdl ,W0
        tblrdh ,W1
       
        return


main函数式这样调用的:
ReadLatch(SourceAddr_HW,SourceAddr_LW);//两个参数都是uint16型的。

ijlc1314 发表于 2013-10-18 15:59:37

看编译器的帮助手册,里面有的

YZY0707 发表于 2013-10-19 15:32:49

ijlc1314 发表于 2013-10-18 15:59 static/image/common/back.gif
看编译器的帮助手册,里面有的

嗯,您能简单讲讲吗?

lcofjp 发表于 2013-10-19 15:48:56

YZY0707 发表于 2013-10-19 15:32 static/image/common/back.gif
嗯,您能简单讲讲吗?

通常在MCU中,参数通常通过寄存器传递,如果参数过多,则通过栈传递。具体怎么传递,要看编译器手册。

YZY0707 发表于 2013-10-23 19:50:53

lcofjp 发表于 2013-10-19 15:48 static/image/common/back.gif
通常在MCU中,参数通常通过寄存器传递,如果参数过多,则通过栈传递。具体怎么传递,要看编译器手册。 ...

谢谢!看了下,大概明白了。
页: [1]
查看完整版本: C里面调汇编函数参数是怎么传递的