Correction d'un code

marooh Messages postés 122 Date d'inscription vendredi 8 octobre 2010 Statut Membre Dernière intervention 16 novembre 2011 - 2 janv. 2011 à 15:26
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 - 8 févr. 2011 à 22:31
bonjour,j'ai écrit un code assembleur qui permet de comparer deux tableaux,ce code je veux l'inserer dans un code c.
si vous pouvez bien me le corriger et j'ai une question à poser: je veux en cas d'egalité ecrire un truc que je pourrais utiliser aprés dans le code c qui affirme qu'il y a egalité pour faire qqes traitements
voici le code:
mov bx, 0;


outer_loop:
                 Mov cx,taille;

inner_loop:
                 mov ax, [Aux+bx];
                Cmp ax, [itemset+bx];
                je Element_is_Equal;


Element_is_Equal:
                                    Add bx, 2;
                                    cmp bx,taille;
                                    jne inner_loop;

43 réponses

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
8 févr. 2011 à 21:57
Repars de l'algo en essayant d'utiliser des registres et pas des valeurs sur la pile. Ca ira beaucoup plus vite et tu n'auras plus qu'à sauvegarder ceux-ci pour éviter un crash.

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
marooh Messages postés 122 Date d'inscription vendredi 8 octobre 2010 Statut Membre Dernière intervention 16 novembre 2011
8 févr. 2011 à 22:05
le probléme c'est que j'ignore la façon d'utiliser les données utilisées en c dans l'asm!!! et vous m'avez montré que le truc de esp+04 etc
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
8 févr. 2011 à 22:31
Les paramètres sont mis sur la pile dans l'ordre inverse. Pas compliqué ... non ? Et puis il te suffit de désassembler ton programme, tu le vois aussi comme ça. Ne te focalise pas sur ton bout de code en ASM, repars de l'algo et remplace tes variables par des registres. Ensuite, en ASM, tu n'as qu'à les sauvegarder au début, les initialiser et les restaurer en sortant

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
Rejoignez-nous