begin process at 2012 05 25 06:27:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Assembleur

 > 

Divers

 > 

Débutant(e)

 > 

conversion en syntaxe intel


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

conversion en syntaxe intel

mercredi 13 octobre 2010 à 13:46:02 | conversion en syntaxe intel

marooh

bonjour,
j'ai un code écrit en syntaxe at&t et je veux le rendre en syntaxe intel.si vous pouvez bien m'aider...
voici le code
Project title : m
Project path : C:\Documents and Settings\Administrateur.STANDARD\Mes documents\m\

Frame function: main (C:/Documents and Settings/Administrateur.STANDARD/Mes documents/m/main.c:15)
Frame address : 0022FF80
--------------------------------------------------------------------------------
004012F0 push %ebp
004012F1 mov %esp,%ebp
004012F3 sub $0x48,%esp
004012F6 and $0xfffffff0,%esp
004012F9 mov $0x0,%eax
004012FE add $0xf,%eax
00401301 add $0xf,%eax
00401304 shr $0x4,%eax
00401307 shl $0x4,%eax
0040130A mov %eax,-0x24(%ebp)
0040130D mov -0x24(%ebp),%eax
00401310 call 0x4019e0 <_alloca>
00401315 call 0x401560 <__main>
0040131A movl $0x0,-0x4(%ebp)
00401321 movl $0x0,-0x10(%ebp)
00401328 movl $0x0,-0xc(%ebp)
0040132F movl $0x14,-0x18(%ebp)
00401336 movl $0x403000,(%esp)
0040133D call 0x401a58 <printf>
00401342 mov -0x18(%ebp),%eax
00401345 shl $0x2,%eax
00401348 mov %eax,(%esp)
0040134B call 0x401a50 <malloc>
00401350 mov %eax,-0x4(%ebp)
00401353 movl $0x0,-0x1c(%ebp)
0040135A mov -0x1c(%ebp),%eax
0040135D cmp -0x18(%ebp),%eax
00401360 jge 0x4013b5 <main+197>
00401362 mov -0x1c(%ebp),%eax
00401365 inc %eax
00401366 mov %eax,0x4(%esp)
0040136A movl $0x40303b,(%esp)
00401371 call 0x401a58 <printf>
00401376 mov -0x1c(%ebp),%eax
00401379 shl $0x2,%eax
0040137C add -0x4(%ebp),%eax
0040137F mov %eax,0x4(%esp)
00401383 movl $0x403055,(%esp)
0040138A call 0x401a48 <scanf>
0040138F mov -0x1c(%ebp),%eax
00401392 lea 0x0(,%eax,4),%edx
00401399 mov -0x4(%ebp),%eax
0040139C flds (%edx,%eax,1)
0040139F flds 0x4030b8
004013A5 fxch %st(1)
004013A7 fucompp
004013A9 fnstsw %ax
004013AB sahf
004013AC jae 0x401362 <main+114>
004013AE lea -0x1c(%ebp),%eax
004013B1 incl (%eax)
004013B3 jmp 0x40135a <main+106>
004013B5 lea -0x10(%ebp),%eax
004013B8 mov %eax,0x8(%esp)
004013BC mov -0x18(%ebp),%eax
004013BF mov %eax,0x4(%esp)
004013C3 mov -0x4(%ebp),%eax
004013C6 mov %eax,(%esp)
004013C9 call 0x401405 <biggest_value>
004013CE fstps -0x14(%ebp)
004013D1 flds -0x14(%ebp)
004013D4 fstpl 0x14(%esp)
004013D8 flds -0xc(%ebp)
004013DB fstpl 0xc(%esp)
004013DF flds -0x10(%ebp)
004013E2 fstpl 0x4(%esp)
004013E6 movl $0x403058,(%esp)
004013ED call 0x401a58 <printf>
004013F2 movl $0x4030b1,(%esp)
004013F9 call 0x401a40 <system>
004013FE mov $0x0,%eax
00401403 leave
00401404 ret
mercredi 13 octobre 2010 à 16:01:01 | Re : conversion en syntaxe intel

ghuysmans99

Membre Club
Désassemble ton code avec un autre programme, ça sera probablement plus facile ...

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
mercredi 13 octobre 2010 à 17:40:51 | Re : conversion en syntaxe intel

marooh

j'ai essayé avec IDA mais ça donne la méme chose
mercredi 13 octobre 2010 à 21:47:18 | Re : conversion en syntaxe intel

ghuysmans99

Membre Club
Bizarre, IDA sort chez moi du code en syntaxe Intel. Un p'tit screen peut-être ?

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
mercredi 13 octobre 2010 à 21:49:18 | Re : conversion en syntaxe intel

BruNews

Administrateur CodeS-SourceS
1) Enlever tous les '%'.
2) Intrsuctions à 2 params, les inverser:
mov %esp,%ebp
devient
mov ebp, esp
3) beaucoup d'intructions ont un suffixe.
incl (%eax)
est INC Intel qui devient
inc dword ptr[eax]

Après tout ce nettoyage, tu seras deja avancé.

A noter que ce code a été obtenu avec un compilo C de MERDE !!!
Exemples:
shr $0x4,%eax
shl $0x4,%ea
Un seul AND faisait cela en 1 cycle.

mov $0x0,%eax
serait: xor eax, eax

etc, etc. Il conviendrait de virer cette daube et de le réécrire convenablement.

ciao...
BruNews, MVP VC++
mercredi 13 octobre 2010 à 22:03:19 | Re : conversion en syntaxe intel

marooh

et eax,ebp,esp etc ça représente quoi??
mercredi 13 octobre 2010 à 22:33:50 | Re : conversion en syntaxe intel

ghuysmans99

Membre Club
@BruNews : Je dirais plutôt que le compilo n'a pas optimisé le code original qui a apparemment été fait par un gros porc . Par contre le xor eax, eax je suis entièrement d'accord avec toi, et on peut pas dire que ça soit compliqué ni très récent comme façon d'optimiser.

@marooh : Des registres

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
mercredi 13 octobre 2010 à 23:03:00 | Re : conversion en syntaxe intel

ghuysmans99

Membre Club
Code :
mov $0x0,%eax
add $0xf,%eax
add $0xf,%eax
shr $0x4,%eax
shl $0x4,%eax
mov %eax,-0x24(%ebp) 
mov -0x24(%ebp),%eax ;inutile !
;23 octets qu'on peut rassembler en une instruction de 7
movl $0x10, -0x24(%ebp)

Ensuite faudra qu'on m'explique pourquoi on relit la valeur stockée en mémoire ...


VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
jeudi 14 octobre 2010 à 00:02:57 | Re : conversion en syntaxe intel

marooh

le programme écrit est en fait à propos de la création d'un tableau de 20 cases et de les remplir ensuite de trouver le min,le max et la moyenne.Mais que je l'ai desassemblé,j'ai rien compris
jeudi 14 octobre 2010 à 08:34:55 | Re : conversion en syntaxe intel

BruNews

Administrateur CodeS-SourceS
CMOVxxx

ciao...
BruNews, MVP VC++


Cette discussion est classée dans : mov, ebp, eax, esp, 0x4


Répondre à ce message

Sujets en rapport avec ce message

Assembleur et tableau + linux + bof [ par flocic ] Bonjour, J'ai un petit pb de comprehension, j'ai un programme qui deborde au bout 44 octet  à cause d'un depassement d ela taille du tableau. Mais ce FPU et puissance d'un nombre [ par AlexMAN ] Bonjour, Voila, j'ai 'codé' 2 fonctions permettant de calculer un nombre n a une puissance exp (la fonction est bourrin, cad pas de decoupages de la f Quels sont les parametres (nombre, taille...) [ par Renfield ] Bonjour,on peut appeler RunDll32 pour executer des fonctions contenues dans des dll...j'aimerais m'affranchir de cette étape, mais j'ai pour cela beso Resultat de la vitesse des : Registre, instruction, calcul, et mémoire ! ! ! [ par rebixav ] Voici la liste que j'ai créé : asm : ( inc ) = 0.065 asm : ( and ) = 0.08 asm : ( or ) = 0.08 asm : ( xor ) = 0.08 asm : ( not ) Problemme avec mes character... XD [ par belette321 ] J'esseil d'ajouter une commande administrateur a dans un des mes jeux en-ligne, /admin_popup (Fait apparaitre un MSG dans une boite dans le lobby). Un Comment utiliser une variable ?! lorsque l'on utilise déjà ESI et EDI dans la PROC. [ par rebixav ] Voilà mon problème, je débute en assembleur et je l'utilise essentiellement pour créer des procédure pour visual basic ou C voici une de mes procédure multiplication plus RAPIDE avec SHL, mais BUG ?!!! [ par rebixav ] voilà j'ai remarquer il y a peut de temps l'utilité des fonction de décalage de bits - SHL(left) et - SHR(right) et que l'on peut muliplier eax par un énorme travail de votre part [ par mana ] bonjour, voici un programme écrit en c++ (il permet de passer d'une image en couleur 24bits(ARGB) a une image en 256 niveaux de gris(toujours sur 24bi conversion minuscule [ par safwensafwen ] C'est unprogramme qui fair la conversion en minuscule en utilisant la pile je n'arriv Petit problème pour comparer (cmp) [ par smok1360 ] Bonjour à tous,Pour commencer, j'espère de ne pas avoir choisis le mauvais lieu pour poster, j'ai un petit peu hésité Donc, j'ai décidé d'apprendre l'


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,889 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales