| program | 003 - Calling Assembly from C |
| architecture | x86-64 |
| assembler | nasm |
#include <stdio.h>
extern int sum (int a, int b);
int main ()
{
const int a = 2;
const int b = 3;
printf ("%d + %d = %d\n", a, b, sum (a, b));
return 0;
}
global sum
section .text
sum:
mov eax, edi
add eax, esi
ret
nasm -f elf64 -o sum.o sum.asm gcc -o main.o -c main.c gcc -o main main.o sum.o