DEF

   c car                       CHAR
   taille                      INTEGER
   adr adr.tmp adr.max adr.deb POINTER

ENDDEF

TEST GOSUB
IF taille 5 == THEN EXIT ENDIF
taille adr.tmp  ADD 5 ADD adr.max STO

adr.tmp 10      ADD adr.tmp STO
adr.tmp adr     STO
adr.tmp adr.deb STO

DROP

TEST GOSUB
taille     SR  taille  STO
adr.tmp 10 ADD adr.tmp STO

INTOFF
LOOP
 WHILE
   adr adr.max <
 DO
   IF taille 2 == THEN INTON EXIT ENDIF
   adr      D1STO
   c        MGETC
   2        INCD1
   adr      D1RCL
   adr.tmp  D1STO
   car      MGETI
   car c    ADD car STO
   car      MPUTC
   2        INCD1
   adr.tmp  D1RCL
   taille   DEC
 ENDWHILE
 adr.deb adr STO
ENDLOOP

TEST PROC
DEF
 ischaine INTEGER
ENDDEF
 adr.tmp  MGETI
 adr.tmp  D1STO
 ischaine MGETI
 IF ischaine 10796 != THEN 514 ERROR ENDIF
 5        INCD1
 taille   MGETI
ENDPROC