Bonsoir
Je voudrais intégrer l'assembleur dans un petit programme de test en langage C, et en faisant une petit recherche sur GOOGLE j'ai vu que je dois utiliser __asm...
alors je voudrais savoir comment utiliser __asm !!
et merci encore !!![]()
Bonsoir
Je voudrais intégrer l'assembleur dans un petit programme de test en langage C, et en faisant une petit recherche sur GOOGLE j'ai vu que je dois utiliser __asm...
alors je voudrais savoir comment utiliser __asm !!
et merci encore !!![]()
j'ai vite regardé dans google :
_asm c'est pour visual studio il me semble
Si tu compile avec gcc : asm("ton_code_assembleur");
Apparemment ça marche bien sous Linux, mais sous windows, il y a certaines choses qui sont bloquées (comme les intéruptions)
Sinon, pourquoi utiliser de l'assembleur?
L'assembleur ne doit être utilisé que dans le cas de problèmes spécifiques et particulier où une solution en C n'est pas possible.
j'ai vite regardé dans google :
_asm c'est pour visual studio il me semble
Si tu compile avec gcc : asm("ton_code_assembleur");
Apparemment ça marche bien sous Linux, mais sous windows, il y a certaines choses qui sont bloquées (comme les interruptions)
Sinon, pourquoi utiliser de l'assembleur?
L'assembleur ne doit être utilisé que dans le cas de problèmes spécifiques et particulier où une solution en C n'est pas possible.
j'ai vite utiliser ce vous avez dit, ça compile (ce qui n’était pas le cas avant) !!
maintenant, si je voudrais faire un CALL à une fonction déjà définie dans mon code source C, comment dois-je faire ?
Je n'ai vu que le 80251 en assembleur donc ce n'est pas forcément la même syntaxe :
void ta_fonction_en_c();
en assembleur :
CALL _ta_fonction
/!\ la norme veut que tu place les paramètres de ta fonction dans certains registres et que tu empile le reste.
Dans le cas du MCS 251, on met les paramètre dans les registres R1 à R8.
On utilise le first fit : tu place chaque élément dans le registre le plus proche de R1.
PS : désolé pour le double post.
j'ai remarqué que vous avez fait un underscore avant le nom de la fonction !
est ce que c’était voulu ou pas ?
C'est voulu.
Mais c'est pour le MCS251, pour d'autres processeurs, il est fortement probable que ce soit un autre signe.
Partager