30

Martial Demolins (./29) :
Kevin Kofler (./25) :
./23> Voilà pourquoi je dis de toujours partir du principe qu'une fonction détruit d0-d2/a0-a1 pas plus ni moins.

Hé, où sont partis mes signes '%'? cheeky
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é

31

Ils rendent le code illisible, ça sert à rien. (puisqu'on est dans un sujet qui parle de conventions d'écritures, on peut dire qu'il vaut mieux avoir un code lisible)
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

32

Ça sert à distinguer le label a0 (par exemple) du registre a0. Sans ça, si tu veux une variable C nommée a0, tu es mal fichu.
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é

33

34

mdr
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

35

Bah, ton navigateur bogue. grin Sous Konqueror, ça marche.
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é

36

37

38

geogeo (./26) :
./24 Ton exemple de définitions de champs vaut bien plus qu'un commentaire dans une structure. smile.gif
Je ne suis pas d'accord, il manque plein d'informations qu'on doit mettre dans les commentaires, comme les invariants de type. Un simple nom d'indique pas grand-chose.
avatar

39

Ouai bon d'accord mais c'est déjà un début. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

40

41

42

Je suis moi aussi pour les extensions explicites.
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é

43

Les invariants, c'est ce qui doit toujours être vrai dans ton programme. C'est utilisé dans la programmation par contrat.
Par exemple, les invariants de type sont l'ensemble des règles que la variable doit respecter pour le type.

Si tu fais un type fraction comme un enregistrement avec deux champs (numérateur : Entier et dénominateur : Entier non signé), tu peux avoir comme invariant :
numérateur == 0 ==> dénominateur == 1
dénominateur != 0
numérateur / dénominateur est irréductible (ou PGCD(numérateur, dénominateur) == 1)
avatar

44

45

Martial Demolins (./1) :
La question que je me pose est de savoir si il convient mieux d'établirue convention de destruction des registres (genre d0-d2/a0-a1, au hasard) pour chaque fonction, ou s'il est plus avantageux de faire sauvegarder et restaurer les registres par chaque fonction? Je suppose que ceux qui ont de l'expérience dans les programmes de taille asuront me répondre.

Ben la réponse est assez simple si c'est la performance qui t'intéresse, en fait : avoir 5 registres de données au lieu de 8 (et 5 au lieu de 7 pour les registres d'adresse) est nettement moins pénalisant que de devoir empiler et dépiler au minimum 2-3 registres au moindre appel de fonction... Et établir une convention évite de te prendre la tête pour savoir quoi restaurer, mais évidemment quand la performance est vraiment critique il vaut mieux changer de convention (le must en vitesse étant de passer l'adresse de retour dans un registre d'adresse et pas sur la pile love)

Si par contre tu cherches juste à coder de la façon la plus simple possible sans te soucier de la performance c'est sûr que c'est plus simple de tout sauvegarder et tout restaurer à la bourrin happy

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

46

Voir de coder en C !

Je sors
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

47

Pollux (./45) :
(le must en vitesse étant de passer l'adresse de retour dans un registre d'adresse et pas sur la pile love)

L'appel prend le même temps (le lea x(%pc),%an prend 8 cycles, la différence entre un jbsr et un jbra), le retour 8 cycles de moins (8 au lieu de 16), et tu as gaspillé 4 octets et surtout un registre dans la fonction appelée (ce qui va te faire perdre de la performance en général, et si tu sauvegardes/restaures un registre sur la pile pour compenser, ça te coûte plus que 8 cycles). Donc je ne suis pas convaincu que ce soit une bonne idée.
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é

48

49

C'est possible ça ?
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

50

Oué ca s'appelle rts.

51

Kevin Kofler (./47) :
Pollux (./45) :
(le must en vitesse étant de passer l'adresse de retour dans un registre d'adresse et pas sur la pile love)

L'appel prend le même temps (le lea x(%pc),%an prend 8 cycles, la différence entre un jbsr et un jbra), le retour 8 cycles de moins (8 au lieu de 16), et tu as gaspillé 4 octets et surtout un registre dans la fonction appelée (ce qui va te faire perdre de la performance en général, et si tu sauvegardes/restaures un registre sur la pile pour compenser, ça te coûte plus que 8 cycles). Donc je ne suis pas convaincu que ce soit une bonne idée.

Ah ben si dans les cas où la fonction appelée utilise peu de registres (c'est-à-dire grosso modo les cas où la fonction est rapide et où minimiser l'overhead de l'appel est le plus important, ça tombe bien tongue)

Bien sûr c'est pas le genre de convention d'appel à appliquer systématiquement sur tout un programme, le résultat serait horrible grin Je dis juste que quand il y a besoin de vitesse mais qu'on est obligé de faire un appel de fonction pour pas prendre trop de mémoire, ça peut être une solution intéressante happy

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

52

Par exemple, pour TI-NES, j'utilise pratiquement tout les registres en permanence, je n'en ai que 1 ou 2 d et 1 an de libres, et faire des backups est inimaginable grin (mois d'acces a la mémoire sont fait, mieu le soft se porte ^^)

mais bon TI-NES est vraiment un cas extreme.
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

53

54

(ce sont des variables globales grin oui ./52 etait pas forcement tres clair)
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

55

56

57

Oui, fait-le dès maintenant si ça apporte quelque chose de le faire.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

58

59

60

Code en C, c'est moins dangereux à ce niveau là smile
(chacun son tour tongue)
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.