CODE ASSEMBLEUR
ndiaye_b
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
nicocorico Messages postés 846 Statut Membre -
nicocorico Messages postés 846 Statut Membre -
Bonjour,
je voudrai avoir le code assembleur du code suivant avec des explications claires:
for(i=0;i<n;i++){
tab[i]=i++;
if(i==5)
break;
}
MERCI
je voudrai avoir le code assembleur du code suivant avec des explications claires:
for(i=0;i<n;i++){
tab[i]=i++;
if(i==5)
break;
}
MERCI
1 réponse
-
Hum, il faudrait déjà avoir un code d'origine clair!
Le fait de faire un test sur la variable de contrôle de la boucle n'a pas de sens!
Au final ce code fait pas grand chose, une boucle qui rempli un tableau avec les valeurs de 1 à 6 si je comprend bien le «Tab[i]= i++»... je connais rien au C mais il me semble que cette ligne est très ambigüe! Ce serait plutôt «Tab[i]= i+1».
En assembleur c'est tout aussi simple:Xor ECX,ECX; @bcl: Inc ECX; Mov [Offset Tab + ECX-01],CL; Cmp ECX,05; Jnz @bcl;
En considérant que "Tab" est un tableau de byte.
Le chêne aussi était un gland, avant d'être un chêne