Les Allergies
Alimentaires
Posez votre question Signaler

Boucle en assembleur [Résolu]

elam2011 10Messages postés 12 février 2008Date d'inscription - Dernière réponse le 7 juin 2008 à 02:03
Bonjour,
svp si qlq 1 pourra m'aider comment on fait une boucle en assembleur svp aidez moi
Lire la suite 

Boucle en assembleur »

Suggestions
5 réponses
Réponse
+4
moins plus
le nasm
par exemple for(i=0,i<n;i++)
{
instructions

}
et merci bcp
kilian- 7 juin 2008 à 01:48
Faut utiliser les instructions cmp et jxx
xx étant la condition, ça peut être jb pour "si plus petit" avec des entiers non signés, ja pour "si plus grand".
Pour ton exemple si i est dans ecx et n dans eax:
mov ecx, 0
boucle:
    cmp ecx, eax   ;comparaison ecx, et eax
    jnb finBoucle   ;si ecx >= eax alors on saute vers finBoucle

    ;instructions

    jmp boucle ;on boucle (saut inconditionnel

finBoucle:
   ;........

Ici tu as une référence des sauts conditionnels:
http://www.unixwiz.net/techtips/x86-jumps.html
elam2011- 7 juin 2008 à 01:54
merci bcp, mais pour l'incrementation de i on fait comment svp?
kilian- 7 juin 2008 à 02:03
Zut j'ai oublié d'incrémenter i.
Si j'étais un bon prof, j'aurais dit que c'était pour savoir si tu suivais O_o

Il faut que tu fasses
inc ecx

inc => incrémenter.
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

Ca dépend. En quel assembleur?
Et c'est pour faire une boucle à partir d'une condition particulière? Si oui laquelle?
Ajouter un commentaire
Ce document intitulé « boucle en assembleur » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?