DEV-C++ ASM ? dev asm

Résolu
Utilisateur anonyme - 3 juil. 2006 à 16:15
Pole4 Messages postés 20 Date d'inscription mardi 11 octobre 2005 Statut Membre Dernière intervention 13 mars 2007 - 4 juil. 2006 à 10:33
Bonjour,
 je voudrais savoir comment indégrer un code asm dans dev-c++ parceque _asm n'est pas reconnu.
Alors je voudrais savoir comment avertir au compilateur qu'il y a une partie de code en asm.
MaLaDeDeDe 97one

21 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
3 juil. 2006 à 23:20
Tenez vous bien, il est possible de faire de l'assembleur avec syntaxe intel sous gcc, la preuve ce code compile:

#include <stdio.h>

int x;

int main()
{
  asm
  (
    ".intel_syntax noprefix\n"
    "mov eax, 100\n"
    "mov _x, eax\n"
    ".att_syntax noprefix\n"
  );

  printf("%d", x);
}

_____________________________________
Un éditeur de ressources gratuit pour Windows
3
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
3 juil. 2006 à 16:24
C'est de l'assembler AT&T alors oublie l'intel sous devcpp. ça fonctionne comme ceci:

asm ("mov %eax, %edx");

ce qui ce traduit en intel par

__asm mov edx, eax

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
Utilisateur anonyme
3 juil. 2006 à 16:27
Ok mais ca veut dire quoi AT&T
et  pourquoi on peut pas intégré l'assembleur sans modification comme le fait vsc++

MaLaDeDeDe 97one
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
3 juil. 2006 à 16:29
AT&T est une entreprise. Le compilateur gcc ne prend pas d'intel. C'est comme ça. Il est fait pour Linux. Il n'y a aucun moyen à ma connaissence.

___________________________________________
Les plus grands esprits trouvent toujours une solution
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
3 juil. 2006 à 16:31
pk l'asm ca marche pas sur AMD ?

MaLaDeDeDe 97one
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
3 juil. 2006 à 16:35
Aucun rapport. Ça fonctionne très bien puisque l'archithècture du processeur est le même qu'un intel à ce niveau. L'intel ne fonctionne pas sous gcc (gcc est le compilateur de DevCPP). C'est tout. Je ne sais pas pourquoi. C'est probablement le choix des dévelloppeur. Si tu veux faire de l'asm sous devcpp, il faut que tu change de méthode.

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
Utilisateur anonyme
3 juil. 2006 à 16:39
Mais je comprend pas:
qu'entends tu part intel ( les processeur intel ?)
Et si l'architecture intel et amd est la meme pk ca marche pas ?
Si j'avais un processeur AMD ca aurait fait l'asm normalement ?

MaLaDeDeDe 97one
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
3 juil. 2006 à 16:45
L'assembler Intel est une sorte d'assembler. L'assembler AT&T en est une autre. Ce n'est que la façon de l'écrire (si je peux dire) qui change. Quand une partie d'assembler AT&T est compilé avec gcc sous Windows, il sera transformé en assembler Intel car c'est l'archithècture de la majorité des processeurs actuel et c'est l'archithecture sous laquelle fonctionne Windows. Tu n'a pas à t'inquièter à savoir si l'assembler AT&T fonctionne sous intel ou amd, le compilateur s'occupe de tout.

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
Utilisateur anonyme
3 juil. 2006 à 16:50
Ah oké tous est claire merci !
Bein ma derniere  question c'est comment intégré dans le code de l'assembleur AT&T ?

MaLaDeDeDe 97one
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
3 juil. 2006 à 16:57
Ta pas d'autre choix que de changer ta méthode. Il faut faire de l'AT&T. J'ai jamais trouvé de tutorial AT&T ce qui est très decevant. J'ai fait quelque petite recherche. Je peut t'orienter sur la bonne voie mais c'est tout.

[ Manuel GNU Assembler

C'est tous ce que j'ai trouvé pour l'instant
]
___________________________________________
Les plus grands esprits trouvent toujours une solution
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
3 juil. 2006 à 16:58
Revoici le lien. L'autre ne fonctionne pas:

http://www.gnu.org/software/binutils/manual/gas-2.9.1/html_chapter/as_16.html

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
Utilisateur anonyme
3 juil. 2006 à 16:59
ok bein meci  pour tous

MaLaDeDeDe 97one
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
3 juil. 2006 à 17:07
Tien j'en ai trouvé d'autre:

http://ares.x25zine.org/ES/txt/0x4553-Asm_tutor.htm
http://heather.cs.ucdavis.edu/~matloff/50/LinuxAssembly.html

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
Utilisateur anonyme
3 juil. 2006 à 17:08
ok merci

MaLaDeDeDe 97one
0
Utilisateur anonyme
3 juil. 2006 à 23:23
ouiouiouioui!!!!!!!

MERCI

MaLaDeDeDe 97one
0
cs_eRoZion Messages postés 241 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 8 octobre 2007 1
3 juil. 2006 à 23:42
Merci vecchio, ça c'est bon à savoir !

eRoZion
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
4 juil. 2006 à 00:34
Alors la vecchio je dois m'avouer vaincus. N'empêche qu'il fallait vraiment savoir comment. Maintenant que je sais comment faire tu peux pas t'imaginer à quel point ceci va m'aider.

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
Utilisateur anonyme
4 juil. 2006 à 05:58
Demain je vais me fair un programme ou l'on met dans un fichier texte:



.intel_syntax noprefix\n
mov eax, 100\n
mov _x, eax\n
.att_syntax noprefix\n

et il en ressort:

 ".intel_syntax noprefix\n"
 "mov eax, 100\n"
 "mov _x, eax\n"
 ".att_syntax noprefix\n"

Pratique qyand le code fait 20 lignes et plus je le mettré dans une source du site:)

MaLaDeDeDe 97one 
0
Pole4 Messages postés 20 Date d'inscription mardi 11 octobre 2005 Statut Membre Dernière intervention 13 mars 2007
4 juil. 2006 à 09:10
Comment on fait pour les sauts?
Normalement, on met un :
saut :
....................
jxx saut ;(où xx remplace ne,nz,e,mp,..........)
Mais ça marche pas....

Pole.
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
4 juil. 2006 à 09:50
J'ai pas rencontré de problème avec les sauts...

#include <stdio.h>

int x;

int main()
{
  asm
  (
    ".intel_syntax noprefix\n"
    "mov eax, 200\n"
    "jmp truc\n"
    "mov eax, 100\n"
    "truc:\n"
    "mov _x, eax\n"
    ".att_syntax noprefix\n"
  );

  printf("%d", x);
}

_____________________________________
Un éditeur de ressources gratuit pour Windows
0
Rejoignez-nous