ouais quelle daube !
moi, j'ai vu un autre bug, en faisant :
dc.b 1,2,3,4,5,6,7,8,9,1,2,3,4,5,6 ...
mais pas jusqu'à dépasser les 255 caractère maxi par ligne (j'en avait pas 100), et ben le compilo m'a transformé des valeurs, j'ai mis une heure à retrouver l'origine du pb, et j'ai du faire du :
dc.b 1,2,3,4,5,6,7,8,9
dc.b 1,2,3,4,5,6 ....
c très pourri tout ça !!
trop cool de donner les sources avec !!
paxal Le 18/08/2001 à 17:33 Le bug des dc.l $456465,$546,...,$5ABE465 est réparé aussi?
je disais quelle daube pour le coup du and qui prenait 16 cycles, et non pas pour toi, Kevin !
je suis dépendant de A68k, et jamais je le critiquerai ! Seulement, j'ai constaté un pb, je pensais bien faire de le rapporter, moi ...
>HerveRV:
>je disais quelle daube pour le coup du and qui prenait 16 cycles, et non pas pour toi, Kevin !
>je suis dépendant de A68k, et jamais je le critiquerai ! Seulement, j'ai constaté un pb, je pensais bien faire de le rapporter, moi ...
OK.
Mais Pollux et moi, on a déjà augmenté la taille maximale de 127 à 256... Tu veux qu'on la mette à combien? 512? 1024? On ne fait que recaler le problème. J'essaierai de faire en sorte qu'il n'y ait pas besoin de taille maximale du tout, mais ce n'est pas pour bientôt.
>[Pollux]: andi.l prend 16 cycles, mais andi.w (et and.l dn,dn) prend seulement 8 cycles et and.w dn,dn prend 4 cycles...
Oui, mais dans ce cas, on a besoin d'un andi.l (ou swap+clr.w+swap).
tu peux le mettre vers 1024, c'est nickel !
car une liste, c chiant quand il faut la mettre en plein de lignes ! merci !
au fait si je veux me servir de ton A68k, je remplace betement le mien par le tient ou bien il faut mettre encore une ligne dans le autoexec.bat, ou une autre manip ?
>au fait si je veux me servir de ton A68k, je remplace betement le mien par le tient ou bien il faut mettre encore une ligne dans le autoexec.bat, ou une autre manip ?
Non, il suffit de remplacer A68k.exe.
alors je le reprends !
merci kevin !
autre question :
il compile encore
move.w d0,d0, ou un truc équivalent dans le genre ?
Oui.
Il est vrai que ce genre d'instructions pourrait aussi être viré (surtout pour les macros).
Si tu n'aimes pas les optimisations, utilise le switch -n (qui désactive toutes les optimisations quelles qu'elles soient).
Et tu peux aussi sélectivement désactiver certaines optimisations optionnelles avec -r. (Je vais essayer de les mettre toutes en option dans les versions futures pour permettre le choix entièrement sélectif.) Mais je compte les activer par défaut. (Il y a de nombreux exemples où l'usage de macros fait qu'il y ait des instructions de type move.l d0,d0 totalement inutiles.)
[edit]Edité par Kevin Kofler le 18-08-2001 à 00:33:19[/edit]
En ce qui concerne les optimisations, c'est très bien comme c'est, mis à part qu'il faut virer le movem->move quand il n'y a qu'un seul registre.
Et non, il ne faut pas virer les move d0,d0, surtout quand c'est produit par une macro !
Car ça modifie les indicateurs, et le code qui suit peut en tenir compte. De toute façon, c'est aussi rapide qu'un tst. Alors pourquoi ne pas virer toutes les instructions tst pendant qu'on y est ?
Pen^2 Le 18/08/2001 à 17:33 oué, apres pour le debugage, c pas drole..
ça suffit des erreurs qu'on fait ;D
>JM: En ce qui concerne les optimisations, c'est très bien comme c'est, mis à part qu'il faut virer le movem->move quand il n'y a qu'un seul registre.
Mets le switch -rm quand tu assembles tes programmes.
Pour les indicateurs, j'y ai pensé dans les minutes qui sont passées, et en effet, je vais désactiver la suppression des instructions inutiles par défaut si je la mets. Je compte quand-même mettre l'optimisation, mais seulement avec un switch particulier et avec des avertissements dans toutes les documentations qui mentionneront ce switch.
[edit]Edité par Kevin Kofler le 18-08-2001 à 01:05:30[/edit]
comment on se sert de ces "switch" ?
car j'ai déjà remarqué une liste importante de ceux-ci, mais je n'ai jamais réussi à les controler !
(c peut être parce que je passe par doors.bat ?!?)
zewoo Le 18/08/2001 à 17:33 c'est un parametre supplémentaire: dans ton batch tu as par exemple:
d:doorsosa68k.exe main.asm -g -t -id:doorsos
les -g -t ... sont des switch; Je pense que tu as compris la suite!
La programmation est un art... Ne prétendons pas en être des virtuoses mais tout au plus des adeptes...
ASM Rulez!!
>JM: franchement, j'ai rien pigé
Ce que j'ai compris est que Thibaut dit avoir trouvé une solution au bogue du changement des piles. Mais c'est à peu près tout ce que j'ai compris dans ce topic-là.
>HerveRV: comment on se sert de ces "switch" ?
>car j'ai déjà remarqué une liste importante de ceux-ci, mais je n'ai jamais réussi à les controler !
>(c peut être parce que je passe par doors.bat ?!?)
Oui.
Soit tu appelles A68k directement (suivi d'un linker comme link.exe), soit tu utilises TIGCC IDE et tu configures les switches de A68k sous "Project/Options.../Assembler Switches".