[英]merging assembly and C in mplab
我想在MPLABX的c代码中使用汇编为PIC编写的程序。 有没有办法可以做到这一点。 我在网上搜索过但找不到任何有用的信息。
如果您使用的是16位PIC,请参见“ MPLAB®C30 用户指南”中的 8.3混合汇编语言和C变量和函数 。
例8-2:在C中调用组装功能
/* ** file: call1.c */ extern int asmFunction(int, int); int x; void main(void) { x = asmFunction(0x100, 0x200); }
汇编语言函数将其两个参数相加并返回结果。
; ; file: call2.s ; .global _asmFunction _asmFunction: add w0,w1,w0 return .end
第C4.2.2节“返回值”中详细介绍了在C中传递的参数。 在前面的示例中,两个整数参数在W0和W1寄存器中传递。 整数返回结果通过寄存器W0传输。 更复杂的参数列表可能需要不同的寄存器,并且应该在手写组件中注意遵循指南。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.