Gcc et Nasm en 64bit
Samedi 21 décembre 2013Voici un petit exemple pour creer une fonction en assembleur avec NASM, et ensuit l’utiliser dans un programme C. Attention les convention de passage d’argument en 64bit ne sont plus les meme que pour du 32bits.
Fichier add.asm
global myfunction
section .text
myfunction:
mov eax, edi
mov ecx, esi
add eax, ecx
ret
Fichier test.c
#include
extern int myfunction(int a,int b);
int main()
{
printf("sum=%d\n", myfunction(12,3));
}
Pour compiler :
gcc -c test.c; nasm -f elf64 add.asm; gcc -o add test.o add.o
Le code source: asm