Articles taggés avec ‘64bits’

Gcc et Nasm en 64bit

Samedi 21 décembre 2013

Voici 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