tu copie 20 octet (10 * 2 .w)
tu saute 10
et tu revient au debut
c quoi le pb

moveq #99,d7 ; 100 lignes
loop:
move.l (a1)+,(a2)+ ; 4 octets
move.l (a1)+,(a2)+ ; 8 octets
move.l (a1)+,(a2)+ ; 12 octets
move.l (a1)+,(a2)+ ; 16 octets
move.l (a1)+,(a2) ; 20 octets
lea 14(a2),a2 ; a2 a été incrémenté de 16, il manque 14 pour faire 30
dbf d7,loop
Orion_
a écrit : c t avec koi sa ? extgraph ?
en fait je voudrais plutôt savoir comment
afficher une image en gray compréssé avec shrnklib
[...]
shrnklib parceque d'aprés PpHd et gugus, c la lib qui compresse le mieux et qui décompresse le plus vite les imgs
Kevin Kofler a écrit :
Quand est-ce que PpHd deviendra-t-il enfin objectif??? ttpack compresse mieux que shrnklib!!!
Kevin Kofler a écrit :
Quand est-ce que PpHd deviendra-t-il enfin objectif??? ttpack compresse mieux que shrnklib!!!
En particulier, voici les résultats sur une image, le keymap de XtraKeys converti en 89i, puis en binaire avec ttstrip:
non compressé: 1547 octets
compressé avec shrnklib: 1008 octets
compressé avec pk92lib: 992 octets
compressé avec ttpack: 888 octets
ttpack donne de loin le meilleur résultat!
Orion_ a écrit :
m'enfin, perso, je prefere (pour l'asm) pk92lib
c bien mieux que shrnklib, déja pk92lib gére le freemem
direct, alors que c sa qui me plantait tout sous shrnklib
et aussi pour extraire c mieux, pk92lib > 1 fonction shrnklib> 3 fonction
PpHd a écrit :
Ben mets le
arcdata equ gfxlib@0000 tout en haut deja. Ensuite neleve le PC, ce n'ést pas PC relatif, mais absolu comme adresse.
Kevin Kofler
a écrit : ... ce qui est un des désavantages des librairies dynamiques. Pour les librairies statiques, si le programme fait moins de 32 KO en tout, on peut utiliser de l'adressage PC-relatif (en assembleur seulement, GCC ne l'utilise pas parce qu'il ne sait pas si le programme fait moins de 32 KO).
Kevin Kofler a écrit :
C'est vrai. D'ailleurs, c'est vraiment idiot de mettre ses données dans une librairie dynamique. Les fichiers de type personnalisé sont faits pour ça. Tu n'aurais jamais dû mettre ce flag _readonly (ou _flag_3 comme il s'appelle chez nous - avec un equate pour la compatibilité dans les nouveaux headers sur lesquels je travaille encore).
;place l'adresse de la 3ème entrée sur la pile move.l 8(a0),d0 pea.l 0(a0,d0.l)