	include	entries.i

	con(5)	DOCOL
	con(5)	$1884d	CLRCL
	con(5)	$18ab2	CHK1

	con(5)	DOCODE
Debut	con(5)	Fin-Debut

	gosbvl	SAVPTR
	gosbvl	GARBAGECOL	on fait le vide
	gosbvl	GETPTR
	st=0	15
	INTOFF
	a=dat1	a
	d1=a
	r2=a	a
	a=dat1	a
	lchex	$02a2c	est ce une chaine dans la pile ?
	?a=c	a
	goyes	SUITE

	gosbvl	GETPTR
	lahex	$00202
	govlng	ERROR

FINI	gosbvl	GETPTR	on sort sinon ...
	a=dat0	a
	d0=d0+	5
	pc=(a)

MEM	gosbvl	GETPTR
	lahex	$00001
	govlng	ERROR

SUITE	d1=d1+	10
	lchex	$00454c52
	p=	8
	a=dat1	wp
	?a=c	wp	
	goyes	FINI
	p=	0
	d1=d1-	5
	a=dat1	a
	a=a-5	a
	lchex	$00010	<=16 octets
	?a<c	a
	goyes	FINI
	r1=a	a	sauvegarde taille chaine
	c=a	a
	a=a+a	a
	a=a+c	a
	asrb	a	3/2
	a=a+15	a
	a=a+15	a	+30q
	b=a	a
	gosbvl	FREEMEMQ	nombre de quartets dans C.A
	a=b	a
	?c<a	a	si pas assez de mem on sort
	goyes	MEM
	c=a	a
	gosbvl	RES_STR
	ad0ex
	r3=a	a	r3 contient d0 chaine memoire
	gosbvl	GETPTR
	a=r3	a	on replace l'adresse chaine mem
	d0=a
	a=r2	a	on replace l'adresse chaine pile
	d1=a
	d1=d1+	10	on se place sur le 1er caractere
	a=r1	a	recuperation de taille chaine
	lchex	$000454c52	"CODY0/0"
	p=	9
	dat0=c	wp
	d0=d0+	9
	p=	0
	dat0=a	a
	d0=d0+	5
	c=r2	a	recuperation de adresse chaine
	c=c+10	a
	c=c+a	a
	r4=c	a	r4 contient adresse fin chaine d1

TRANS	a=dat1	b
	?a=0	b
	goyes	CHANGE

LAB	d1=d1+	2
	cd1ex
	d1=c
	b=c	a
	c=r4	a
	?b=c	a
	goyes	CONT
	goto	TRANS

CHANGE	a=a+1	b
	dat1=a	b
	goto	LAB

CONT	a=r2	a
	d1=a
	d1=d1+	10
	a=dat1	b
	d1=d1+	2
	r3=a	b	r3 registre ancien caractre
	lchex	$01
	goto	BOUCLE

FINALY	c=b	b
	lahex	$03
	?c<a	b
	goyes	ONE

THREE	lchex	$00
	dat0=c	b
	d0=d0+	2	on ecrit un max !
	c=b	b
	dat0=c	b
	d0=d0+	2
	c=r3	b
	dat0=c	b
	d0=d0+	2

LEAST	gosbvl	RERESSTR
	gosbvl	GETPTR
	d1=d1+	5
	d=d+1	a
	a=r0	a	probleme de saut : que l....
	pc=(a)

ONE	a=b	b
	a=a-1	b
	c=r3	b
TWO	dat0=c	b
	d0=d0+	2
	a=a-1	b
	gonc	TWO
	goto	LEAST

FIN	goto	FINALY

BOUCLE	a=dat1	b
	d1=d1+	2
	r2=a	b	r2 registre nouveau caractre
	b=c	b
	c=r3	b
	?a#c	b	a t on un nouveau caractere different ?
	goyes	NOUVEAU
	c=b	b
	c=c+1	b
	lahex	$ff	a t on compteur = 255 ?
	?a=c	b
	goyes	ECR
LABEL	ad1ex
	d1=a
	b=c	b
	c=r4	a
	?c=a	a	est-ce la fin de la chaine ?
	goyes	FIN
	c=b	b
	goto	BOUCLE

NOUVEAU	c=b	b
	lahex	$02
	?a<c	b
	goyes	ECR
	a=b	b
	c=r3	b
	a=a-1	b
BCL	dat0=c	b	si compteur < 3 on en ecrit compteur.
	d0=d0+	2
	a=a-1	b
	gonc	BCL
	lchex	$01
	a=r2	b
	r3=a	b
	goto	LABEL

ECR	b=c	b
	lchex	$00
	dat0=c	b
	d0=d0+	2	on ecrit un max !
	c=b	b
	dat0=c	b
	d0=d0+	2
	c=r3	b
	dat0=c	b
	d0=d0+	2
	lchex	$01
	a=r2	b
	r3=a	b
	goto	LABEL
Fin
	con(5)	SEMI