Nan mais ASM ou C ça change strictement rien ^^ (et y a déjà une passe sur le code asm pour passer en reg-relative, donc un truc de plus ou un truc de moins...)
« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)
Le code que j'ai proposé correspond à peu près à ce que pondrait un compilateur si on faisait un trampoline pour chaque fonction. Pas besoin de modifier l'offset, il est calculé à la compilation (au linking si on veut chipoter).
Est-ce que ce que tu proposes est possible en C (sans déclencher une sauvegarde de registres par le compilo) ?

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.
TI y arrive bien a faire des applications en C pour les app flash...

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.
pourquoi les relogements se feraient pas à l'installation de la flashapp?
Uther Le 03/10/2008 à 12:39 La mémoire flash n'a pas de GC?
les flashapps sont déplaçables?
en fait il suffit que ce GC soit aware des relogements.
Quand on appelle une fonction située à plus de 32 KB, TIGCC (et GTC, certainement ^^) créent une référence xxx.l relogée. Si c'est un programme ne s'exécutant pas à une adresse fixe, les données permettant la relocation restent dans l'image binaire de l'exécutable. Dans le cas d'un Flash OS, la référence est relogée à la fin du link, et l'image binaire du Flash OS ne contient pas de données permettant la relocation.
Bah, il suffit de mettre un jmp 0(%pc,%d2.l) dans le trampoline, ensuite on limite les regparm à 2 maximum et on appelle les fonctions par move.l #target-trampoline,%d2; bsr trampoline.
Ou en fait on peut se passer carrément du trampoline:
move.l #target-(.+6),%d2; jsr 0(%pc,%d2.l)
Et sinon, il y a aussi les F-Line Jumps. Pour un jsr:
.word 0xfff0; .long target-.
C'est géré par PedroM et par AMS >= 2.04.
Les F-Line jumps sont la solution la plus petite (pas de relocation), mais probablement la moins efficace (même si elle libère deux registres: le déclenchement de l'exception F-Line et le RTE ajoutent des dizaines de clocks par invocation. Même si dans les handlers, FFF0, FFF1 et FFF2 sont des chemins de code plus courts que ceux des ROM_CALLs.
Es-tu sûr que les 1-2 secondes, c'est on-calc et pas sur PC?
Dude Le 03/10/2008 à 16:29 Meme avec une calc overclockée je serait tenté de dire qu'il s'agit des temps PC là ^^
"De l'Art de faire des Posts qui ne servent a Rien." (c) Ximoon
15:13 @Ximoon - 29-11-2005
"C'est débile ce sondage, une fois de plus Dude, tu ne sers à rien #hehe#" #love# Il est collector celui là ^^
18:56 @Ximoon - 09-10-2010
"Mince Dude sert à quelque chose %) (pas taper :D )" Owii xD #trilove#
Oué bon bref, peut-être, mais en tout cas mon souvenir est que c'est largement suffisant pour du code on-calc
Thibaut, t'as encore tes comparatifs ?
A propos de comparatifs: maintenant que GTC est publiquement accessible légalement, il serait peut-être temps qu'on se mette collectivement à faire un comparatif plus représentatif que le comparatif de Thibaut, qui était un peu trop petit ?
1) Détermination des applications
2) Exécution.
Pour ça, il faudrait que les programmes compilent, ce qui n'est pas le cas pour la plupart (ASM inline, floats etc.).
Merde je pensais que le bébé Kevin avait grandi depuis le temps. ASM : c'est un non sens, puisqu'on compare les qualités de génération des compilateurs. En plus, presque aucun programmeur utilise l'inline. Float : mêmes remarques.

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.
PpHd Le 03/10/2008 à 20:19 Le code de PedroM est sous GPL, donc si quelqu'un veut l'implanter qu'il ne se gène pas.
Pour info, le plus dur ce n'est du tout le format, ni lerelocage, ni le GC, mais le transfert de la dite application.
Perso, cela ne m'interresse plus du tout (c'est en very low priority), donc si vous le voulez, faites-le.
L'ASM inline n'est pas du non-sens, on en trouve dans plein de programmes réels, surtout sur TI! Quant aux floats, on en trouve dans Gosper89 et d'autres programmes de Mathématiques ou sciences, dans certains jeux etc.
En gros, les programmes qui ont besoin de vitesse contiennent de l'ASM inline, les autres contiennent des floats.