i_X = 0;
while(1) {
if ((i_X == 0) && (tempo == 50)) {
tempo=0;
}
else {
tempo++;
}
}
ne me donne pas le même fonctionnement que
while(1) {
i_X = 0;
if ((i_X == 0) && (tempo == 50)) {
tempo=0;
}
else {
tempo++;
}
}
J'ai donc regardé le code décompilé sous geepee32 et ce n'est pas du tout le même, ce qui au premier abord peut être normal le compilo pouvant faire des optimisations.
Ce qui me gêne c'est que dans le 1er cas, il teste si un registre correspondant à i_X a pour valeur 0 (cmp reg, #0) mais le registre testé est différent de 0

Comment ça se fait ????????????????????????