Bonjour,
Je souhaite pouvoir indiquer à GCC de mettre les paramètres de fonction directement dans des registres afin de pouvoir utiliser du code assembleur au lieu de les mettre dans la pile.
Le contexte est d'avoir un cross compiler sur une machine Ubuntu qui produise du code "ROM" pour du Motorala 680x0.
Par exemple le code suivant indique à GCC de mettre la variable "a" dans le registre d1 directement.
Sur la version que j'ai (m68k-elf-gcc (GCC) 6.4.0), j'obtiens l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 long toto(register long a __asm("d1")) { return a; }
J'ai essayé de construire/utiliser plusieurs versions de GCC mais je n'arrive pas à trouver mon bonheur...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 error: expected ';', ',' or ')' before '__asm' long toto(register long a __asm("d1")) {
Merci
Partager