Vérifie dans la doc de TIGCC que tu passes bien les paramètres qu'il faut. En tout cas, en lisant ton code, je n'ai pas vu d'erreur de code, donc ça vient probablement d'une mauvaise utilisation des ROM_CALLs.
Luigi Le 23/05/2003 à 12:57 Non je confirme,pas de bug pas d'erreur en compilation,le seulproblèmevient du titre qui ne s'affiche pas,comme je l'ai dit.Par contre, pour les parametres, il y un unknown, et seul le fichier de tigcc, que je ne peux pas regarder maintenant, me pourra renseigner sur la valeur sinon.
AS: donnons nous les moyens de programmer plus facilement
La solitude, c'est l'occasion de se poser beaucoup de questions que l'on a pas
souvent l'occasion de se poser
C'est bien 0 qu'il faut passer dans "unknown", donc le problème n'est pas là.
PpHd Le 23/05/2003 à 17:13 NOCALLBACK doit renvoyer 0, non ?
Oui, normalement NoCallBack doit renvoyer 0 (moveq #0,d0).
Luigi Le 26/05/2003 à 08:47Edité par Luigi le 26/05/2003 à 13:48 Non j'ai trouvé, justement, NOCALBACK doit renvoyer 1 (format word),ALors la surprise! Tout fonctionne comme avec TIGCC!
(TIGCC:
short NoCallBack(short x, long y)
{
return 1;
}
)
Le seul problème, c'est que je n'ai pas encore réussi à adapter les redondances en routines adaptées comme AddRequest,...
AS: donnons nous les moyens de programmer plus facilement
La solitude, c'est l'occasion de se poser beaucoup de questions que l'on a pas
souvent l'occasion de se poser
Luigi Le 26/05/2003 à 13:43 C'est un plaisir de proposer les adaptations que j'ai pu faire, ici il s'agit de la fonction atoi : convertir une chaine contenu un short en ce short lui meme (ne modifie pas la chaine). le résultat est contenu dans d3. Mais elle juste présentée sous forme de programme, et non sous forme de routine (encore une habitude que j'aurais à prendre... finir mes fonctions) . J'ai écrit cette fonction parcequ'elle sera tres utile pour la récupération de valeurs passées dans une boite de dialogue.
include "ams_c"
movem.l d0-d7/a0-a6,-(a7)
move.l #num,a3
clr.w d3
loop: ;fonction atoi
move.b (a3),d0
beq endloop
move.l #1,-(a7)
pea zero
move.l a3,-(a7)
jsr strncmp
lea 12(a7),a7
mulu #10,d0
add.w d0,d3
add.l #1,a3
bra loop
endloop:
move.w d3,-(a7)
pea format
pea chaine
jsr sprintf
lea 10(a7),a7
pea $00000001
pea chaine
pea titre
jsr DlgMessage
lea 12(a7),a7
movem.l (a7)+,d0-d7/a0-a6
rts
chaine: ds.b 20
zero: dc.b '0',0
even
num: dcb '32025',0
even
format: dc.b 'ecart: %d',0
even
titre: dc.b 'fonction',0
------------------------------------------------
*num est votre variable numérique à configurer
AS: donnons nous les moyens de programmer plus facilement
La solitude, c'est l'occasion de se poser beaucoup de questions que l'on a pas
souvent l'occasion de se poser
Luigi Le 26/05/2003 à 14:04 Enfin, je reconnais que l'ai faite un peu trop vite. Je ferais des efforts pour la pile ou le registre, et pour le nombre de caractères lus. Par contre, la fct strncmp m'avait semblée la meilleure.
AS: donnons nous les moyens de programmer plus facilement
La solitude, c'est l'occasion de se poser beaucoup de questions que l'on a pas
souvent l'occasion de se poser
Luigi Le 26/05/2003 à 14:13 J'avais déja essayé, mais j'obtenais n'importe quoi
AS: donnons nous les moyens de programmer plus facilement
La solitude, c'est l'occasion de se poser beaucoup de questions que l'on a pas
souvent l'occasion de se poser
Vraiment ? Pour 4 octets ! Et pourtant le gain doit être proche de 2 à mon avis : mulu.w #10,d0 -> 46 cycles tandis que toute ma série de move/add ne prend que 20 cycles !
... surtout que tu peux gagner encore pas mal de place (SkipSpace...) et tu peux encore gagner qqs octets avec >='0' / <='9'
« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)
Bon, mail envoyé à Sebastian et Zeljko, j'attends la réponse de Sebastian (et peut-être aussi de Zeljko).
En utilisant tes optimisations, j'arrive à 68 octets.
Mais au fait, il me smeblait que pour GTC tu avais réécrit une partie de TIGCCLIB en ASM. Quel code tu as écrit pour atoi ?