1

J'essaye de savoir comment la compression se fait dans ziplib, mais y'a qq trucs que je trouve louche:

best.b d7,(a1)

si d7 vaut 3 et (a1) valait 0
ca fait %00000100
ou %00100000 ??

je pense que c'est la première solution, mais alors l'écriture des données compressée est tordue triso

aussi, je pense que le tri suivant se fait dans l'ordre décroissant, mais ca me parait louche pour du huffmann hum
Creation_freq:      move.w          #$FFFF,d2 ;d2=-1      clr.w          d3      clr.w          d0 Recherche_Freq:      move.w          0(a0,d0.w),d4  ;nb de freq      tst.w          d4    ;nb==0  ?      beq          Plus_petite      cmp.w          d4,d2 ;d4<=d2 ?      bls          Plus_petite      move.w          d0,d3      ;on enregistre le no de caract      move.w          d4,d2  ;on enregistre ce max Plus_petite:      addq.w          #2,d0   ;d0+=2 : au suivant      cmp.w          #$200,d0 ;512 : on a tout comparer ?      bne          Recherche_Freq ;non      tst.w          0(a0,d3.w)  ;le max est à 0 ?      beq          Fin_de_Creation_Freq ;fini      clr.b          (a1)+  ;premier byte=0      move.w          d3,d4      lsr.w          #1,d4 ;d4/=2      move.b          d4,(a1)+  ;on ecrit le no du caract                move.w          0(a0,d3.w),(a1)+  ;on ecrit sa freq      clr.w          0(a0,d3.w)    ;on l'efface      bra          Creation_freq Fin_de_Creation_Freq:

est-ce que j'interprète bien les lignes suivantes ?
move.w #$FFFF,d2 ;d2=-1

et
cmp.w d4,d2 ;d4<=d2 ?
bls Plus_petite ; oui

2

Tout faux wink

 best.b  d7,(a1)        ; (a1) = %00001000

 move.w  #$FFFF,d2      ; d2[b].w[/b] = -1

 cmp.w   d4,d2          ; compare d4 et d2
 bls     Plus_petite    ; saute à 'Plus_petite' si d2<=d4
avatar
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.

3

lol
merci.
donc c'est bien du huffmann ouf!

par contre, pour le bset (j'avais juste décalé d'un indice) c'est bien ce que je pensais : ziplib ecrit bit à bit dans un sens et octet à octet dans d'autre sens triso
pourquoi faire simple quand on peut faire compliqué?

4

Il doit y avoir une raison roll
avatar
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.

5

eh ben je vois vraiment pas quoi: en quelque sorte, si je transpose le pb à une phrase (analogie mot <=> octet):
au lieu d'écire comme ca:
ceci est une petite phrase
il écrit comme ca
icec tse enu etitep esarhp
hum

6

Alors l'auteur de ziplib s'appelle Maurad smile
avatar
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.

7

Thibaut a écrit :
Il doit y avoir une raison roll

Évidemment qu'il y en a une: c'est le plus simple (et donc ce qui coûte le moins de place et de temps) sur 68k.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

8

Ah ok !
J'ai vérifier avec KOMP de François Lieber : il écrit "à l'envers" aussi tongue
c'est donc tordu que je ne le pensais... ouf