Penso che si dovrebbe compilare il file assembly come libreria sharata, e poi compilare il file .c includendo quella libreria e richiamare normalmente la funziona.

Non l'ho mai fatto con file assembler però penso che così funzioni:

gcc -g -c file.S
ld -shared -o libfile.so file.o
gcc file.c -L. -lfile