1

Quelqu'un a-t-il déjà eu des pbs de compil avec ADS ?
 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 confus

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

2

C'est probablement un bogue de ton compilateur.

D'ailleurs, ce n'est pas normal qu'il donne du code différent dans les 2 cas. GCC (du moins TIGCC, mais je pense que ça sera pareil pour le target arm, vu que la plupart des optimisations de GCC ne dépendent pas de la plateforme) donne exactement le même code dans les 2 cas, et I_x est d'ailleurs complètement éliminé vu qu'il vaut toujours 0.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

3

Je ne saurai expliquer ce qui c'est passé. J'ai tellement tout modifié que maintenant ça marche bien, mais alors de là à expliquer ce qui c'est passé tsss

4

ARMcc fait des modifications de code asm dans les fichiers C.
Si tu ne veux pas de modifs, il faut faire des fichiers assembleurs.

Le but est d'offrir plus de convivialites (Certaines instructions non existantes sont codees avec plusieurs. Le pushage des registres est transparet aussi. Cf doc).

5

As-tu regardé ses sources? C'est du C pur, pas de l'assembleur inline!
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

6

Pô grave c'est corrigé, je ne sais pas comment mais c'est corrigé et ça remarche smile
Mais c'est vrai qu'il n'y a pas d'ASM inline, c'est beurk, moi je préfère le bon fichier 100% ASM et un bon appel à des fonction externes smile