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

Résolu
KhaledBenk Messages postés 6 Statut Membre -  
nicocorico Messages postés 846 Statut Membre -
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

  1. nicocorico Messages postés 846 Statut Membre 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