Ben , exit ça pourrait pas suffire ?
Non, car il faudrait libérer la mémoire pour être propre...
Il faut passer en mode utilisateur avant de faire ton longjmp! Un asm("move.w #0,%sr"); devrait règler ton problème.
Merci Kevin, je me doutais qu'il y avait une connerie du style, car les interruptions sont executées en mode superviseur je crois... enfin je ne sais pas ce que je barratine; je n'y connais absolument rien!
Merci encore, je vais tester.
Link Le 16/11/2003 à 18:13 Moi, je serai pour sauver la valeur du SP au début du prog, et la recharger ensuite... comme ça on est sur que ça libère la pile superviseur...

Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.
Non, setjmp/longjmp le fait déjà et ça ne sert à rien, parce qu'ici, on parle de %ssp, pas de %usp.
Il faut dépiler tout ce qui a été empilé par le compilateur.
Un lea x(a7),a7 n'est pas plus rapide que adda ?

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.
C'est pas ça les timings exacts ?
(format : cycles calcul (cycles lecture / cycles écriture) )
lea x(a7),a7 => 16 (4/0)
addq #x,a7 => 8 (1/0)
adda #x,a7 => 16 (3/0)
En revanche, lea présente l'avantage de ne pas modifier le CCR.
ça doit faire 4 cycles en plus avec un adda.l (du genre adda.w -> 12 cycles, adda.l -> 16 cycles, mais j'ai pas de doc sous la main)
« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)
lea x(an),an -> 4 octets, 8 cycles
adda.w #x,an -> 4 octets, 12 cycles
Donc en effet, lea est meilleur.
Mais aucune des deux ne touche aux flags du CCR, et addq sur un registre d'adresses non plus.
moué ... a voir si pt de vue proc, y'a pas une partie mise a 0 pis le word completé ....
Mes 2 tables de timings disent que c'est 8 cycles pour addq.w ...,%an comme pour addq.l ...,%an.
D'ailleurs, ces instructions reviennent exactement au même.
Link Le 22/11/2003 à 21:43 spectras-> les temps que tu nous donnes sont surement ceux des registres de données, qui eux ne sont pas modifiés entièrement par un addq.w...

Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.
Sais pas, je vous ai donné le lien et le numéro de la page, jetez-y un oeil vous même.
Sinon, je me serais pas fatigué à retourner sur le site de motorola pour récupérer l'url, vu que je l'ai sur mon dur la doc.
Pff, j'ai même pas envie de cliquer. Ca saute aux yeux que pour les An, c'est : .w/.l -> 8 cycles
« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)
Sur le principe, je suis d'accord. Mais la doc Motorola a l'air de dire le contraire. J'aimerais éclaircir ça quand même.