mais dans le fichier asm, je ne sais pas comment récupérer n'y rendre les arguments 
Rendre les arguments: comme je l'ai écrit, tu dois rendre l'argument dans d0 (si c'est un type entier) ou a0 (si c'est un pointeur).
Récupérer les arguments: le compilo les placera selon la convention d'appel que
tu lui demandes

Il y a trois conventions d'appel:
* (la plus lente et la plus grosse) tout passer par la pile, en déclarant la fonction __attribute__((__stkparm__)) (comme ça, ça fait une fonction __stkparm__ même si l'option de compilation -mregparm est activée). Martial en a touché deux mots en
./15: les arguments commencent à un déplacement [4 + les registres sauvegardés + l'espace temporaire] par rapport à sp;
* passer par les registres en laissant le compilo faire tout seul l'allocation: __attribute__((__regparm__(n))). Je n'aime pas ça, je préfère:
* passer par les registres en forçant le compilo à faire ce qu'on veut (registres explicites). C'est la syntaxe que j'ai postée en
./11, qui est utilisée dans ExtGraph.
(à noter que si une fonction a plus de cinq ou six de paramètres / utiliserait plus de 3 registres d'adresse et/ou plus de 4 registres de données, il est préférable d'en mettre certains sur la pile. Là aussi, ExtGraph contient de telles fonctions)
EDIT : Je précise que comme je passe direct aux fichiers asm, je vais utiliser A68k qui semble mieux 
Cet avis n'est pas universellement partagé
