C语言调用汇编实例:
extern void strcopy(char *d, const char *s); // 使用关键词extern声明strcopy extern void strcopy(char *d,const char *s);
int casm_test1()
{
const char *srcstr = "First string - source";
char dststr[] = "Second string - destination";
Uart_Printf("Before copying: \n");
Uart_Printf("%s\n %s\n", srcstr, dststr);
strcopy(dststr, srcstr); // 将源串和目标串地址传递给strcopy
Uart_Printf("After copying:\n");
Uart_Printf(" %s\n %s\n", srcstr, dststr);
return (0);
}
在另一个汇编文件中:
AREA SCopy, CODE, READONLY
EXPORT strcopy ;使用EXPORT伪操作声明本汇编程序
strcopy ; 寄存器R0中存放第1个参数,即dststr 目标字符串