****** Algorithme de compression ******

nbbitplanes	equ	4	; Nbbits par pixel.
nbbits_rept	equ	8	; Nbbits pour compter les repts.
length		equ	320	; Longueur de l'image.
heigth		equ	200	; Hauteur de l'image.

main_proggy:
  remplir la BSS avec des 0
boucle1:
  prendre 1 bit dans codage et le mettre dans header
  si header=0
    prendre 4 bits dans codage et les mettre dans color
    pixel_vu:
    si pixels_tab(x;y)=1
      x==x+1
      si x=length
        x==0
        y==y+1
        si y=200 => jmp fin_boucle1
      finsi
      jmp pixel_vu
    finsi
    image(x;y)==color
    pixels_tab(x;y)==1
    (x2;y2)==(x;y)
    jmp boucle1
  finsi
  si header=1
    prendre 3 bits dans codage et les mettre dans dir
    prendre nbbits_rept bits dans codage et les mettre dans nbrept
    nbrept==nbrept-1
    boucle2:
      (x2;y2)==(x2;y2)+directions(dir)
      si pixels_tab(x2;y2)=1 => jmp boucle2
      image(x2;y2)==color
      pixels_tab(x2;y2)==1
    dbra nbrept,boucle2
    jmp boucle1
fin_boucle1:

** section BSS **
  pixels_tab	length*heigth bits	; Pour savoir si un pixel est traite.
  color		longword		; Devinette.
  header	longword		; Idem.
  dir		longword		; Sert avec le tableau directions.
  nbrept	longword		; Pour stocker le nb de repetitions.
  maxdir	longword		; Dir qui offre maxnbrept.
  x,y,x2,y2,	longwords		; Encore ...
  image		length*heigth*nbbitplanes bits

** section DATA **
  codage	???			; Le fichier packe.
  directions	(1;0)~(0;1)~(-1;0)~(0;-1)
  		(1;1)~(-1;1)~(-1;-1)~(1;-1)
