jean_fabrice
Messages postés1Date d'inscriptionmardi 22 mars 2005StatutMembreDernière intervention22 mars 2005
-
22 mars 2005 à 18:14
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
2 avril 2005 à 16:07
Salut à tous
J'utilise comme compilateur C++, DevC++ 4.9.8.0. Le problème c'est que je n'arrive pas intégrer du code asm dans mes sources. Il me produit toujours des erreurs.
Par exemple le code suivant:
main.cpp: In function `int main(int, char**)':
main.cpp:10: parse error before `{' token
main.cpp: At global scope:
main.cpp:15: syntax error before `<<' token
main.cpp:16: ISO C++ forbids declaration of `system' with no type
main.cpp:16: `int system' redeclared as different kind of symbol
C:/Dev-Cpp/include/stdlib.h:373: previous declaration of `int system(const
char*)'
main.cpp:16: invalid conversion from `const char*' to `int'
main.cpp:17: parse error before `return'
Ce serait très gentil si quelqu'un pouvait m'aider. Merci beaucoup.
cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 20099 22 mars 2005 à 21:48
effectivement, le compilateur de Dev-C++ étant gcc il n'utilise pas la syntaxe INTEL pour l'assembleur, mais la syntaxe AT&T... la plupart des instruction reste les memes, mais la grande différence et que avec la syntaxe INTEL on fait (par exemple):
mov destination, source
alors que en AT&T on fait
mov source, destination
Bob...
"La chance accorde ses faveur aux esprits avertis..."
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 25 mars 2005 à 21:10
au lien que tu as donné, je note déjà une erreur au début:
AT&T: movl $0xd00d, %ebx
Intel: mov ebx, d00dh
ERREUR, syntaxe Intel est: mov ebx, 0d00dh
Pas le temps d'aller plus loin.
cs_Heider
Messages postés1Date d'inscriptionjeudi 18 novembre 2004StatutMembreDernière intervention 2 avril 2005 2 avril 2005 à 15:58
salut a tous,
j'ai le meme problème mis a part que j'utilise visual c++ et que je programme en C
je fais:
#include <stdio.h>
#include <dos.h>
int main (void)
{
asm
mov ax,13h
int 10h
}
}
par exemple, mais j'ai toujorus des erreurs, comment ca se fait? en sachant que quand je fais le meme mais en pascal sous turbo pascal 7.0 la il n'y a po de problèmes
ex:
program assembleur;