标题: PIC33EP单片机汇编语言定义函数的入口参数默认分配给哪个寄存器? [打印本页]

作者: yermsir    时间: 2021-12-26 22:38
标题: PIC33EP单片机汇编语言定义函数的入口参数默认分配给哪个寄存器?
我看到一个PIC33EP单片机的例程程序,用汇编语言定义了一个正弦波查表程序,然后使用C语言来调用这个函数。汇编语言定义函数是带有一个形参的。程序详见附图。
疑问如下:
1)函数调用的形参值默认是传递给w0寄存器了,为什么是传递给w0寄存器,不是w1寄存器呢?
2)如果用汇编语言定义一个含有两个形参的函数,函数调用是形参会传递给哪两个寄存器?w0,w1?手册哪一部分有这个说明?

捕获2.JPG (20.6 KB, 下载次数: 114)

捕获2.JPG

捕获.JPG (34.89 KB, 下载次数: 105)

捕获.JPG

作者: 人工置顶员    时间: 2021-12-28 05:07
顶一下
作者: yermsir    时间: 2021-12-28 08:53
人工置顶员 发表于 2021-12-28 05:07
顶一下

谢谢置顶,希望有大牛帮忙解释一下。
作者: yermsir    时间: 2021-12-28 10:42
我已经找到了答案,这是因为C语言和汇编语言互相间的调用遵循ARM-Thumb Procedure Call Standard,不超过4个形参时,参数通过r0,r1,r2,r3来传递。如果超过4个形参,超过4的部分必须通过堆栈进行传递。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1