Est ce que quelqu'un peut savoir la réponse ?

Résolu
KhaledBenk Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
nicocorico Messages postés 799 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Est ce que quelqu'un peut m'aider a savoir l'implémentation de ce code en ASSEMBLEUR ?

***********
short a[10], b[[10];
...
...
for ( i = 0; i < 10; i++ )
b[i] = a[i] * 2;
}
***********
ensuite ce code la ?

***********
void main()
{
short x[10];
for (i = 0; i<10; i++)
x[i] += 1;
}
***********

Je voudrais savoir la conversion de chaque code entre les ** vers l'assembleur .

Merci bien d'avance


1 réponse

nicocorico Messages postés 799 Date d'inscription   Statut Membre Dernière intervention   138
 
Grosso-modo ça donne ça:
Dw A[10]   
Dw B[10]   

  Mov  ECX,18  
@Bcl:   
  Mov  DX,[Offset A + ECX]  
  Add  DX,DX  
  Mov  [Offset B + ECX],DX  
  Sub  ECX,02  
  Jns  @Bcl  

et pour le second ne connaissant pas le C je ne comprend pas ce que fait «x[i] += 1»?
Je crois qu'il s'agit simplement d'incrémenter chaque valeur, c'est ça?

Dw X[10] 

  Mov  ECX,09 
@Bcl:  
  Inc  Word ptr [Offset X + ECX*2] 
  Dec  ECX 
  Jns  @Bcl


Le chêne aussi était un gland, avant d'être un chêne
0