Bonjour à tous ;
je souhaite remplacer ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Pile[entree_libre++] = i;
Pile[entree_libre++] = niveau++;
Pile[entree_libre++] = nbElement--;
par cela :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
__asm__
(
   "pushl %0;pushl %1;pushl %2\n\t"
   "decl %1;incl %2\n\t"
   "addl $3, _entree_libre"
   : "=m" (i), "=m" (nbElement), "=m" (niveau)
   :
   : "memory"
);
Puis, plus loin, celui-ci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
nbElement = Pile[--entree_libre];
niveau = Pile[--entree_libre];
i = Pile[--entree_libre];
par celui-là :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
__asm__
(
   "popl %2;popl %1;popl %0\n\t"
   "subl $3, _entree_libre"
   : "=m" (i), "=m" (nbElement), "=m" (niveau)
   :
   : "memory"
);
Mais le programme plante . Quelqu'un voit-il pourquoi ?