Boucle en assembleur
Résolu
Bonjour,
svp si qlq 1 pourra m'aider comment on fait une boucle en assembleur svp aidez moi
svp si qlq 1 pourra m'aider comment on fait une boucle en assembleur svp aidez moi
Configuration: Windows XP Internet Explorer 7.0
2 réponses
-
le nasm
par exemple for(i=0,i<n;i++)
{
instructions
}
et merci bcp-
ModérateurFaut 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 -
@kilianmerci bcp, mais pour l'incrementation de i on fait comment svp?
-
Modérateur@elam2011Zut 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.
-
-
ModérateurBonjour,
Ca dépend. En quel assembleur?
Et c'est pour faire une boucle à partir d'une condition particulière? Si oui laquelle?