NMPROC: VAL "PH" < NOM DU PROCESSEUR. IDP "PH - RELEASE 01/06/1979" IDP "JOHN F. COLONNA" EOT #SIP DEF PROCESSEUR# PROG WORD LEXIC < ADRESSE DE LANCEMENT DE 'PH'. WORD 0 < POUR FAIRE $=$+1. PLEXIC: EQU $ < A NOTER : P='12 !!!!! LRP L BR -2,L < ENTREE DANS LE PROCESSEUR 'PH'. EOT #SIP DEFINITION ITEM# PAGE < < < C O N S T A N T E S D U D I C T I O N N A I R E : < < NCATG: VAL 32 < NBRE DE CATEGORIES GRAMMATICALES. LMOT: VAL 40 < NBRE DE CARACTERES MAX D'UN MOT. NCATG4: VAL NCATG+3/4 < NBRE D'OCTETS NECESSAIRES < AUX CATEGORIES GRAMMATICALES. NSEM: VAL 4 < NBRE D'OCTETS DE VALEUR < SEMANTIQUE DU MOT. PAGE < < < C O N S T A N T E S L E X I C O G R A P H I Q U E S : < < LPHR: VAL 112 < NBRE DE CARACTERES MAX < D'1NE PHRASE. < (=LBUFESC DANS DCTESC...) < < F O R M A T D ' U N D E S C R I P T E U R < D E M O T : < DESCI: VAL 0 < INDEX DU 1ER CARACTERE DU MOT. < DESCI=-1 EN FIN DE PHRASE ... DESCL: VAL 1 < LONGUEUR EN OCTETS DU MOT. DESCD: VAL 2 < NOM DU DICTUIONNAIRE D'APPARTE- < NANCE : < 0 : LE MOT EST INCONNU , < ' ' : MOT USUEL CONNU , < <K1><K2> : MOT NON USUEL CONNU. DESCS: VAL 3 < SEPARATEUR PRECEDENT LE MOT < COURANT CODE A L'AIDE DE 'SEPX'. DESCF: VAL 4 < CATEGORIE GRAMMATICALE REELLE < DU MOT DANS SON CONTEXTE. DESCV: VAL 5 < VALEUR SEMANTIQUE DU MOT. DESCC: VAL NSEM+1/2+DESCV < CATEGORIES GRAMMATICALES DU MOT. < RES POUR MEMORISER LE LDESC: VAL NCATG4+3/4+DESCC < NBRE DE MOTS MACHINES NECESSAI- < DESCRIPTEUR D'UN MOT FRANCAIS. < < C A T E G O R I E S L E X I C A L E S : < SEP1: VAL 4 < SEPARATEUR DU TYPE 'SPACE'. SEP2: VAL 3 < SEPARATEURS DU TYPE ',',';',... SEP3: VAL 2 < SEPARATEUR DU TYPE APOSTROPHE. SEP4: VAL 1 < SEPARATEURS DU TYPE 'PARENTHESE'. FINF: VAL 0 < SEPARATEUR DE FIN DE PHRASE , < 'EOT' ET R/C. CAR: VAL 8 < LIMITE ENTRE LES CARACTERES < DE TYPE 'SEPARATEUR' ET LES < CARACTERES DE TYPE 'LETTRES'. LETR: VAL 8 < CARACTERES DU TYPE LETTRES , < DE 'A' A 'Z'. CHIF: VAL 9 < CARACTERES DU TYPE 'CHIFFRE' , < DE '0' A '9'. CARS: VAL 'A < CARACTERES SPECIAUX ASSIMILES < A DES LETTRES : '-','+','*',... IGNOR: VAL 'B < CARACTERES NON RECONNUS ET < REMPLACES PAR '#' (ASSIMILE < A DES LETTRES) , PAR EXEMPLE < 'GS' , 'DC1' ,... PAGE < < < C A T E G O R I E S G R A M M A T I C A L E S : < < NOM: VAL 1 < NOM. VERBE: VAL 2 < VERBE. ADJECT: VAL 3 < ADJECTIF. ADVERB: VAL 4 < ADVERBE. PROPER: VAL 5 < PRONOM PERSONNEL. PRODEM: VAL 6 < PRONOM DEMONSTRATIF. INTERJ: VAL 7 < INTERJECTION , 'OUI' , 'NON' ,.... PREPOS: VAL 8 < PREPOSITION. CONJ: VAL 9 < CONJONCTION. ARTICL: VAL 10 < ARTICLE. PROREL: VAL 11 < PRONOM RELATIF. PAGE < < < V A L E U R S L E X I C A L E S < D E S C A R A C T E R E S : < < VALK: EQU $ BYTE IGNOR;IGNOR < NUL SOH 00 01 BYTE IGNOR;IGNOR < STX ETX 02 03 BYTE FINF;IGNOR < EOT ENQ 04 05 BYTE IGNOR;IGNOR < ACK BEL 06 07 BYTE IGNOR;IGNOR < BS HT 08 09 BYTE IGNOR;IGNOR < LF VT 0A 0B BYTE IGNOR;FINF < FF CR 0C 0D BYTE IGNOR;IGNOR < SO SI 0E 0F BYTE IGNOR;IGNOR < DLE DC1 10 11 BYTE IGNOR;IGNOR < DC2 DC3 12 13 BYTE IGNOR;IGNOR < DC4 NAK 14 15 BYTE IGNOR;IGNOR < SYN ETB 16 17 BYTE IGNOR;IGNOR < CAN EM 18 19 BYTE IGNOR;IGNOR < SUB ESC 1A 1B BYTE IGNOR;IGNOR < FS GS 1C 1D BYTE IGNOR;IGNOR < RS US 1E 1F BYTE SEP1;SEP2 < SPACE ! 20 21 BYTE CARS;CARS < " # 22 23 BYTE CARS;CARS < $ % 24 25 BYTE CARS;SEP3 < & ' 26 27 BYTE SEP4;SEP4 < ( ) 28 29 BYTE CARS;CARS < * + 2A 2B BYTE SEP2;CARS < , - 2C 2D BYTE FINF;CARS < . / 2E 2F BYTE CHIF;CHIF < 0 1 30 31 BYTE CHIF;CHIF < 2 3 32 33 BYTE CHIF;CHIF < 4 5 34 35 BYTE CHIF;CHIF < 6 7 36 37 BYTE CHIF;CHIF < 8 9 38 39 BYTE SEP2;SEP2 < : ; 3A 3B BYTE CARS;CARS < < = 3C 3D BYTE CARS;SEP2 < > ? 3E 3F BYTE CARS;LETR < @ A 40 41 BYTE LETR;LETR < B C 42 43 BYTE LETR;LETR < D E 44 45 BYTE LETR;LETR < F G 46 47 BYTE LETR;LETR < H I 48 49 BYTE LETR;LETR < J K 4A 4B BYTE LETR;LETR < L M 4C 4D BYTE LETR;LETR < N O 4E 4F BYTE LETR;LETR < P Q 50 51 BYTE LETR;LETR < R S 52 53 BYTE LETR;LETR < T U 54 55 BYTE LETR;LETR < V W 56 57 BYTE LETR;LETR < X Y 58 59 BYTE LETR;CARS < Z CROCHET( 5A 5B BYTE CARS;CARS < ANTI/ CROCHET) 5C 5D BYTE CARS;CARS < 5E 5F PAGE < < A C T I O N S L E X I C A L E S : < < ACTL: EQU $ WORD RIEN < FIN DE PHRASE. WORD RIEN < SEP4. WORD RIEN < SEP3. WORD RIEN < SEP2. WORD RIEN < SEP1. WORD RIEN < 5. WORD RIEN < 6. WORD RIEN < 7. WORD RIEN < LETTRES. WORD RIEN < CHIFFRES. WORD RIEN < CARACTERES SPECIAUX. WORD REPLAC < CARACTERES NON RECONNUS (IGNOR). WORD RIEN < C. WORD RIEN < D. WORD RIEN < E. WORD RIEN < F. PAGE < < < M E M O I R E L I B R E : < < FREE: VAL '1000 < ADRESSE DU 1ER MOT LIBRE < DES 2 DERNIERS K DE LA MEMOIRE. < < < L O C A L : < < LOCAL LOC: EQU $ < < M E S S A G E S : < MPHR: BYTE 8;'6D ASCI "PHRASE> " MINC: BYTE 5;'6D ASCI "??? " < < R E L A I S D E T A B L E S : < < PHRASE A ANALYSER : < PHR: VAL FREE < ZONE CONTENATNT LA PHRASE < A ANALYSER. APHR: WORD PHR+'8000 < RELAI INDEX VERS LA PHRASE < A ANALYSER. FREE: VAL LPHR/2+FREE+1 < PROGRESSION DE LA ZONE LIBRE. < (+1 A CAUSE DE L'EOT QUE L'ON < AJOUTE SYSTEMATIQUEMENT EN < BOUT DE ZONE 'PHR'). < < ZONE ARGUMENTS : < LDUM: VAL 32 < LONGUEUR DE LA ZONE ARGUMENT. DUMY: VAL FREE < ZONE ARGUMENT (SYNTAXE--> < SEMANTIQUE). FREE: VAL FREE+LDUM < < ZONE DES DESCRIPTEURS ET DES PROPOSITIONS : < DPHR: VAL FREE < ZONE DES DESCRIPTEURS DES MOTS < DE LA PHRASE. FREE: VAL LDESC*LPHR/2+FREE < PROGRESSION DE LA ZONE LIBRE < DANS UN GACHIS SUPERBE..... < (/2 PARCEQUE L'ON A AU MAXIMUM < LPHR/2 MOTS DANS UNE PHRASE < DE LPHR CARACTERES MAX !!!). ADPHR: WORD DPHR < ADRESSE DU 1ER DESCRIPTEUR < LEXICOGRAPHIQUE. AI1: WORD ZERO+PILE-LTNI+LTN,X < RELAI VERS L'ITEM1. AI2H: WORD ZERO+PILE-LTNI-LTNI < @DE L'EN-TETE DE L'ITEM2. AI2: WORD ZERO+PILE-LTNI-LTNI+LTN,X < RELAI INDEX VERS LE CORPS DE < DE L'ITEM2. AVALK: WORD VALK,X < RELAI VERS LA TABLE DES < VALEURS LEXICOGRAPHIQUES DES < CARACTERES. AACTL: WORD ACTL,X < RELAI VERS LA TABLE DES ACTIONS < LEXICOGRAPHIQUES. < < D E M A N D E S A C M S 4 : < DEMOUT: WORD '0202 < SORTIE MESSAGE. WORD 0 < @OCTET DU MESSAGE. WORD 0 < LONGUEUR DU MESSAGE. DEMIT: WORD '0602 < CAHARGEMENT DES PAGES DE < DICTIONNAIRE DANS L'ITEM2. WORD PILE-LTNI-LTNI*2 WORD 2*LTNI WORD -1 DEMSGN: WORD '0402 < DEMANDE DE CHARGEMENT DES < OVERLAYS INITIALISES EN MODE < GENERATION. WORD BRANCH-ZERO*2 WORD ZERO-BRANCH+PILE-LTNI-LTNI*2 WORD -1 DEMIN: WORD '0101 < DEMANDE D'ENTREE D'UNE PHRASE < AVEC ECHO. WORD PHR*2 WORD LPHR DEMCCI: WORD '0001 < APPEL DU CCI. DEMMEM: WORD '0004 < DEMANDE D'ALLOCATION MEMOIRE. WORD 0 WORD '3000 < DEMANDE DE 6K MOTS. < < P I L E D E ' P H ' : < APILES: WORD PILE-1 < PILE DE SODOME , UTILISEE < DANS LE CAS OU UN RETOUR < A 'GE' EST FAIT POUR PHRASE VIDE. PILE: VAL FREE+1 APILE: WORD PILE-1 < POUR INITIALISER LE REGISTRE < K DANS LA ZONE LIBRE. < < A D R E S S E S D E S R O U T I N E S : < APRINT: WORD PRINT < ROUTINE D'EMESSION DE MESSAGE. AOVL: WORD OVL < CHARGEMENT DES OVERLAYS. AGTK: WORD 0 < CONTIENT SOIT @GTK1 , SOIT @GTK2. AGTK1: WORD GTK1 < TRANSFERT DE LA PHRASE DE < L'ITEM2 VERS 'PHR' , ET RECU- < PERATION DU TYPE DES CARACTERES. < (APPEL PAR 'SE'). AGTK2: WORD GTK2 < ACCES AU TYPE D'UN < CARACTERE DE RANG DONNE. < (APPEL PAR 'GE') ALOADI: WORD LOADI < CHARGEMENT D'1NE PAGE DE < DICTIONNAIRE. AGT1: WORD GT1 < ACCES A UN CARACTERE QUELCONQUE < D'UNE PAGE DE DICTIONNAIRE. AGT2: WORD GT2 < ACCES A UN CARACTERE DECIMAL < D'UNE PAGE DE DICTIONNAIRE. ATEST: WORD TEST < TEST DE LA PRESENCE D'UN MOT < DANS UNE PAGE DU DICTIONNAIRE. AGETCG: WORD GETCG < RECUPERATION DES CATEGORIES < GRAMMATICALES DANS UNE PAGE < DU DICTIONNAIRE. AGETV: WORD GETV < RECUPERATION DE LA VALEUR < SEMANTIQUE DU MOT. < < C O N S T A N T E S : < DIX: WORD 10 < POUR CONVERSION DECIMALE. NBC: WORD NBCAR*NBLIG < NBRE DE CARACTERES D'UN ITEM. NSYNT: ASCI " X" < NOM DE LA BRANCHE D'ANALYSE < SYNTAXIQUE. NGE: ASCI "GE" < NOM DE L'OVERLAY 'GE'. NDIC: ASCI ": 3" < NOM DE LA PAGE DES MOTS USUELS BYTE '40;"0" < DU DICTIONNAIRE. BYTE '04;"T" NOMDIC: ASCI " " < NOM DE LA PAGE COURANTE DU < DICTIONNAIRE. < (A ':' PRES ....). X2: WORD 0 < INDEX COURANT DE L'ITEM2. PAGE < < < E M I S S I O N D ' U N M E S S A G E : < < < ARGUMENT : < A=@MOT DU MESSAGE DONT LE 1ER < OCTET EN CONTIENT LA LONGUEUR. < < PROG PRINT: EQU $ PSR C < PAR PRUDENCE. LR A,C < C=@MOT DU MESSAGE. ADR A,A ADRI 1,A < A=@OCTET DU MESSAGE. STA DEMOUT+1 < QUE L'ON MET DANS DEMOUT. LBY 0,C < A=LONGUEUR DU MESSAGE. STA DEMOUT+2 < QUE L'ON MET DANS DEMOUT. LAD DEMOUT SVC 0 < EMISSION DU MESSAGE. PLR C < PAR PRUDENCE. RSR PAGE < < < T Y P E L E X I C O G R A P H I Q U E < D ' U N C A R A C T E R E : < < < FONCTION : < -GTK1 : TRANSFERT LA PHRASE DE L'ITEM2 < VERS PHR PAR CARACTERE , PUIS RECUPERE < LE TYPE DES CARACTERES (CAS DES APPELS < PAR 'SE') , < -GTK2 : RECUPERE LE TYPE LEXICOGRA- < PHIQUE D'UN CARACTERE DE RANG < DONNE (CAS DES APPELS PAR 'GE'). < < < ARGUMENT : < X=INDEX DU CARACTERE PRECEDENT DANS LA PHRASE. < < < RESULTAT : < X<--(X)+1 AVANT LA RECUPERATION DU TYPE , < A=TYPE LEXICOGRAPHIQUE DU CARACTERE D'INDEX (X). < < GTK1: EQU $ < PHRASE DANS L'ITEM2. PSR X < SAVE L'INDEX DE PHR. LA X2 < A=INDEX COURANT DE L'ITEM2. LR A,X < ET X=INDEX COURANT DE L'ITEM2. CPI LPHR < VALIDATION DE LA LONGUEUR. LAI "." < PHRASE TROP LONGUE A PRIORI. JGE E102 < EFFECTIVEMENT , ON FAIT COMME < SI UN '.' AVAIT ETE RECUPERE. LBY &AI2 < A=CARACTERE COURANT DE L'ITEM2. IC X2 < PROGRESSION INDEX ITEM2. E102: EQU $ < CAS PHRASE OVERFLOW. PLR X < RESTAURE X=INDEX PHR. ADRI 1,X < PROGRESSION DE L'INDEX DE PHR. STBY &APHR < ET TRANSFERT DE L'ITEM2 < VERS PHR PAR CARACTERE. JMP GTK3 < VERS LA RECUPERATION DU TYPE < LEXICO DU CARACTERE. GTK2: EQU $ < PHRASE DANS 'PHR'. ADRI 1,X < PASSAGE AU CARACTERE SUIVANT. LBY &APHR < A=CARACTERE D'INDEX (X). GTK3: EQU $ PSR X < SAVE L'INDEX DU CARACTERE. LR A,X < X=CARACTERE ASCI. LBY &AVALK < A=TYPE LEXICOGRAPHIQUE DU < CARACTERE COURANT DE LA PHRASE. PLR X < RESTAURE L'INDEX CARACTERE DE < LA PHRASE. RSR PAGE < < < A C C E S A U X C A R A C T E R E S D ' U N E P A G E < D E D I C T I O N N A I R E : < < < ARGUMENT : < X=INDEX DU CARACTERE A RECUPERER. < < < RESULTAT : < A>0 : OK : A=CARACTERE (EVENTUELLENT CONVERTI < EN BINAIRE POUR GT2). < A<0 : ERREUR : SOIT DEBORDEMENT DE L'INDEX < HORS L'ITEM2 , SOIT LE CARACTERE DECIMAL < ATTENDU N'EST PAS DECIMAL. < X<--(X)+1 EN GENERAL. < < < C A R A C T E R E Q U E L C O N Q U E : < < GT1: EQU $ LBY &AI2 < ACCES AU CARACTERE SANS < CONVERSION. JMP GT11 < VERS LA PROGRESSION DE X. < < < C A R A C T E R E D E C I M A L : < < GT2: EQU $ LBY &AI2 < ACCES AU CARACTERE PRESUME < DECIMAL. ADRI -'30,A < CONVERSION DECIMALE-->BINAIRE. JAL GT14 < ERREUR : A<0 (!!!). CPI 9 < VALIDATION DECIMALE. JG GT13 < SORTIE EN ERREUR. < < PROGRESSION DE L'INDEX X : < GT11: EQU $ ADRI 1,X XR A,X < A=INDEX POUR VALIDATION. CP NBC < INDEX DANS L'ITEM ??? XR A,X < RESTAURE X. JL GT14 < OK , LE NOUVEL X EST DANS < L'ITEM2. < < RETOURS EN ERREUR : < GT13: EQU $ LAI -1 < ON RENVOIE A=-1<0. < < RETOUR AVEC (A) : < GT14: EQU $ RSR PAGE < < < R E C U P E R A T I O N D E S C A T E G O R I E S < G R A M M A T I C A L E S : < < < FONCTION : < CETTE ROUTINE RECUPERE SI CELA < EST POSSIBLE , LES CATEGORIES < GRAMMATICALES D'UN MOT DONNE LORSQUE < CELUI-CI A ETE RECONNU DANS LA < PAGE COURANTE DU DICTIONNAIRE. < LA RECUPERATION SE FAIT 16 BITS PAR 16 BITS .... < < < RESULTAT : < A>0 : B=16 BITS DE CATEGORIES GRAMMATICALES , < X<--(X)+4 , < A<0 : ERREUR DE RECUPERATION (OVER-ITEM2,...). < < GETCG: EQU $ LYI 4 < DECOMPTEUR DU NBRE DE CARACTERES < DE CATEGORIES A RECUPERER. < < BOUCLE DE RECUPERATION : < GETCG1: EQU $ BSR AGT1 < RECUPERATION DU CARACTERE < COURANT DU DICTIONNAIRE. JAL GETCG2 < A<0 : ERREUR DE RECUPERATION. ANDI 'F < A>0 : OK , ON RECUPERE LES 4 < DERNIERS BITS DU CARACTERE. SCRS 4 < CADRAGE A GAUCHE DANS A. SCLD 4 < ET CUMUL DANS B. ADRI -1,Y < DECOMPTE DES RECUPERATIONS. CPZR Y < EST-CE FINI ??? JNE GETCG1 < NON , ON CONTINUE. < < FIN DE RECUPERATION : A NOTER QUE SI < LE RETOUR SE FAIT AVEC Y=0 , ON A : A>0 .... < GETCG2: EQU $ RSR PAGE < < < R E C U P E R A T I O N D E L A V A L E U R < S E M A N T I Q U E D ' U N M O T : < < < RESULTAT : < A>0 : B=2 OCTETS DE VALEUR SEMANTIQUE , < A<0 : ERREUR. < < GETV: EQU $ BSR AGT1 < RECUPERATION DU CARACTERE COURANT < DU DICTIONNAIRE. JAL GETV1 < ERREUR DE RECUPERATION. SWBR A,B < OK , ON SAUVEGARDE DANS < L'OCTET0 DE B. BSR AGT1 < RECUPERATION DU CARACTERE < COURANT SUIVANT. JAL GETV1 < ERREUR DE RECUPERATION. ORR A,B < OK , ON CONCATENE LE 2EME < OCTET AVEC LE 1ER , LE TOUT < SE TROUVANT DANS B , ET A>0. < < FIN DE RECUPERATION : < GETV1: EQU $ RSR PAGE < < < C H A R G E M E N T D ' U N E P A G E < D E D I C T I O N N A I R E : < < < FONCTION : < CETTE ROUTINE ESSAYE DE CHARGER < LA PAGE DU DICTIONNAIRE DONT LE < NOM EST EN EN-TETE DE L'ITEM2 ; < SI CE CHARGEMENT REUSSI , ELLE < VERIFIE QUE L'ITEM CHARGE A BIEN < LE TYPE TEXTE , ON NE SAIT JAMAIS... < < < RESULTAT : < X=0 : OK , CHARGEMENT CORRECT ET L'ITEM2 < EST DE TYPE 'TEXTE' , < X#0 : ERREUR : SOIT LA PAGE DEMANDEE < N'EXISTE PAS , SOIT ELLE N'A PAS < LE TYPE 'TEXTE'. < LES INDICATEURS SONT POSITIONNES PAR 'CPZR X'. < < < LOADI: EQU $ LAD DEMIT SVC 0 < TENTATIVE DE CHARGEMENT. JNE E30 < ERREUR : LA PAGE DEMANDEE < N'EXISTE PAS , ON A : X#0 ... < < TEST DE L'ITEM QUE L'ON VIENT DE CHARGER : < LXI IINDIC-LTN*2 LBY &AI2 < ACCES AU TYPE DE L'ITEM. CPI "T" < EST LE TYPE 'TEXTE' ???? JNE E30 < NON , ERREUR : A NOTER X#0 .... < < CAS D'UN RETOUR OK : < LXI 0 < ON RENVOIE X=0. < < SORTIE DE LA ROUTINE : < E30: EQU $ CPZR X < POUR UN TEST EN RETOUR. RSR PAGE < < < T E S T E X I S T E N C E M O T D A N S L E < D I C T I O N N A I R E C O U R A N T : < < < FONCTION : < CETTE ROUTINE TESTE SI LE MOT < COURANT EXISTE OU PAS DANS LA < PAGE COURANTE DU DICTIONNAIRE. < SI CELUI EXISTE , L'ENTREE 'DESCD' < DE SON DESCRIPTEUR RECOIT LE < NOM DE LA PAGE DU DICTIONNAIRE. < SINON , LE MOT RESTE INCONNU. < < < ARGUMENT : < C=@DESCRIPTEUR COURANT. < ITEM2 : PAGE COURANTE DU DICTIONNAIRE , < NOMDIC : NOM DE LA PAGE COURANTE. < < < RESULTAT : < A=0 : LE NOM EXISTE , < A=-1<0 : LE NOM N'EXISTE PAS. < < TEST: EQU $ < < INITIALISATION DU TEST : < LXI 0 < X=INDEX DE L'ITEM2. < < BOUCLE DE PARCOURS DE LA PAGE COURANTE DU DICTIONNAIRE : < TEST1: EQU $ < < CALCUL DE LA LONGUEUR DU MOT COURANT DE < LA PAGE COURANTE DU DICTIONNAIRE : < BSR AGT2 < A=<L1>. JAL TESTN < ERREUR : LE MOT ARGUMENT < N'EXISTE PAS DANS CETTE PAGE ... MP DIX < SINON , B=10*<L1>. BSR AGT2 < A=<L2>. JAL TESTN < ERREUR : LE MOT ARGUMENT < N'EXISTE PAS DANS CETTE PAGE. ADR B,A < A=10*<L1>+<L2>=LONGUEUR DU < MOT COURANT DU DICTIONNAIRE. CP DESCL,C < COMPARAISON AVEC LA LONGUEUR DU < MOT ARGUMENT. JL TEST2 < ON N'EST SUREMENT PAS EN < PRESENCE DU MOT ARGUMENT. < < CAS OU LE MOT COURANT DU DICTIONNAIRE < A UNE LONGUEUR SUPERIEURE OU EGALE A < CELLE DU MOT ARGUMENT : < LR A,B < B=LONGUEUR DU MOT COURANT. LY DESCI,C < Y=INDEX DU 1ER CARACTERE DU < MOT ARGUMENT. < < BOUCLE DE COMPARAISON CARACTERE PAR < CARACTERE DU MOT COURANT ET DU MOT < ARGUMENT : < TEST3: EQU $ < ON A ICI : < X=INDEX DU MOT COURANT DU DICTIONNAIRE , < Y=INDEX COURANT DU MOT ARGUMENT , < B=LONGUEUR RESIDUELLE DE TEST. ADRI -1,B < DECOMPTE IMMEDIAT DES TESTS < RESTANT A FAIRE. BSR AGT1 < A=CARACTERE COURANT DU < DICTIONNAIRE. JAL TESTN < ERREUR : LE MOT ARGUMENT < N'EXISTE PAS. CPI "#" < EST-CE UN CARACTERE INDIFFERENT???? JE TEST7 < OUI , ON NE COMPARE DONC PAS .... CPI "." < EST-CE LA FIN DU MOT DANS < LE DICTIONNAIRE ???? JE TEST9 < OUI , CELA DOIT ETRE AUSSI < LA FIN DU MOT QUE L'ON RECHERCHE. CPI ":" < EST-CE LA FIN DE LA RACINE DU < MOT COURANT ??? JE TEST10 < OUI , ARRET DE LA COMPARAISON. XR X,Y < X=INDEX DU MOT ARGFUMENT. CPBY &APHR < COMPARAISON DU CARACTERE COURANT < DU DICTIONNAIRE AVEC LE CARACTERE < COURANT DU MOT ARGUMENT. XR X,Y < RESTAURE LES INDEX. JE TEST7 < OK , 2 CARACTERES IDENTIQUES. < < TEST DES CARACTERES FACULTATIFS : < TBT 8 < EST-CE UN CARACTERE FACULTATIF < (CARACTERE EN EXPOSANT) ???? JNC TEST5 < NON , LES 2 MOTS DIFFERENT DONC. ANDI '7F < DANS LE CAS D'UN CARACTERE < FACULTATIF , RECUPERONS SA < VALEUR (BITS9-15). XR X,Y < X=INDEX DU MOT ARGUMENT. CPBY &APHR < NOUVELLE COMPARAISON DU MOT XR X,Y < RESTAURE LES INDEX. JNE TEST8 < DANS LE CAS OU LES 2 CARACTERES < DIFFERENT , < ON SAUTE LE CARACTERE FACULTATIF < EN L'IGNORANT ... < < CAS OU 2 CARACTERES SONT IDENTIQUES : < TEST7: EQU $ ADRI 1,Y < PROGRESSION DE L'INDEX DU MOT < ARGUMENT ; LA PROGRESSION DE X EST < ASSUREE PAR 'AGT1'. TEST8: EQU $ CPZR B < EST-ON AU BOUT DE LA COMPARAISON? JNE TEST3 < NON , ON COONTINUE. < < EST-ON ARRIVE AU BOUT DU MOT ARGUMENT ???? < TEST9: EQU $ LR Y,A < A=INDEX FINAL DE PARCOURS < DU MOT ARGUMENT. SB DESCI,C < A=LONGUEUR PARCOURUE DANS LE < MOT ARGUMENT. CP DESCL,C < EST-CE AUSSI LA LONGUEUR DU < MOT ARGUMENT ???? JNE TEST5 < NON , ON ADMET QUE LES 2 MOTS < DIFFERENT .... < < CAS OU ON TROUVE LA COINCIDENCE : < TEST10: EQU $ ADR B,X < X=INDEX PRESUME DE ',' SI LE < DICTIONNAIRE EST BIEN FORMATE ; < CETTE OPERATION EST DU AU < CARACTERE '.' DE FIN DE MOT. BSR AGT1 < ACCES PRESUME A ',' SUIVANT < LE MOT RECONNU DANS LA PAGE. JAL TESTN < ERREUR D'ACCES A LA PAGE. CPI "," < A>0 : OK , EST-CE BIEN ',' ???? JNE TESTN < NON , RETOUR EN ERREUR .... < < R E C U P E R A T I O N D E S G A T E G O R I E S < G R A M M A T I CA L E S : < BSR AGETCG < RECUPERATION DES 16 PREMIERS < BITS DE CATEGORIES GRAMMATICALES. JAL TESTN < RECUPERATION EN ERREUR. STB DESCC,C < A>0 : OK RANGEMENT DES 16 < PREMIERS BITS DE CATEGORIES. IF NCATG4-4,X100,X100, BSR AGETCG < RECUPERATION DES 16 BITS < SUIVANTS DE CATEGORIES. JAL TESTN < RECUPERATION EN ERREUR .... STB DESCC+1,C < A>0 : OK RANGEMENT DES 16 BITS < SUIVANTS DES CATEGORIES. X100: VAL 0 < < R E C U P E R A T I O N D E L A V A L E U R < S E M A N T I Q U E : < BSR AGETV < RECUPERATION DES 2 OCTETS DE < VALEUR SEMANTIQUE. JAL TESTN < RECUPERATION EN ERREUR. STB DESCV,C < A>0 : 3K ON SAUVEGARDE LES 2 < PREMIERS OCTETS DANS LE < DESCRIPTEUR DU MOT. IF NSEM+1/2-2,X100,, BSR AGETV < RECUPERATION DES 2 OCTETS < SUIVANTS. JAL TESTN < ERREUR DE RECUPERATION. STB DESCV+1,C < A>0 : OK , ON SAUVEGARDE LES < 2 OCTETS SUIVANTS .... X100: VAL 0 < < VALIDATION DE LA FIN DU MOT COURANT DU DICTIONNAIRE : < BSR AGT1 < ACCES PRESUME A ';'. JAL TESTN < A<0 : ACCES EN ERREUR ... CPI ";" < A>0 : EST-CE BIEN ';' ???? JNE TESTN < NON RETOUR EN ERREUR ... < < R E C U P E R A T I O N D U N O M D E L A P A G E < C O U R A N T E D U D I C T I O N N A I R E : < LA NOMDIC < RECUPERATION DU NOM DE LA < PAGE COURANTE DU DICTIONNAIRE. STA DESCD,C < ET MEMORISATION AVEC QUE LE < MOT ARGUMENT EST CONNU. < < SORTIE POUR LA QUELLE LE NOM ARGUMENT EXISTE : < TESTP: EQU $ LAI 0 < RETOUR AVEC A=0 (OK). < < SORTIE DE LA ROUTINE DE TEST : < TEST4: EQU $ RSR < < SORTIE POUR LA QUELLE LE MOT ARGUMENT EST INCONNU : < TESTN: EQU TEST4 < L'AMBIGUITE GRAMMATICALE < MAX SERA MISE A LA FIN DE TOUS L < LES TESTS D'EXISTENCE. < < PASSAGE AU MOT SUIVANT DE LA < PAGE COURANTE DU DICTIONNAIRE : < TEST2: EQU $ < ON A ICI : < A=LONGUEUR DU MOT COURANT DU DICTIONNAIRE. ADR A,X < PASSAGE SUR LA ',' SUIVANT < LE MOT COURANT. JMP TEST6 < VERS LE CALCUL FINAL DE X. TEST5: EQU $ < ON A ICI : < B=NBRE DE TESTS RESTANT A FAIRE-1. ADR B,X < PASSAGE DE X SUR LA ',' SUIVANT < LE MOT COURANT. TEST6: EQU $ ADRI NCATG4+2+NSEM,X < X=INDEX DE <L1> DU MOT SUIVANT < DANS LA PAGE DU DICTIONNAIRE. JMP TEST1 < VERS L'ACCES UA MOT SUIVANT < DANS LA PAGE COURANTE. PAGE < < < A C T I O N S L E X I C O G R A P H I Q U E S : < < < R E M P L A C E M E N T : < < < FONCTION : < CETTE ROUTINE EST APPELEE QUAND < LE TYPE 'IGNOR' EST RECONNU. < ELLE REMPLACE LE CARACTERE COURANT < PAR LE CARACTERE '#'. < < < ARGUMENT : < A=INDEX DU CARACTERE COURANT. < X=TYPE LEXICOGRAPHIQUE. < < REPLAC: EQU $ LR A,X < X=INDEX DU CARACTERE COURANT < DE LA PHRASE. LAI "#" < A=CARACTERE DE REMPLACEMENT. STBY &APHR < QUE L'ON MET DANS LA PHRASE EN < CARACTERE COURANT. < < < A C T I O N V I D E : < < RIEN: EQU $ RSR < RETOUR SANS RIEN FAIRE. PAGE < < < A N A L Y S E U R L E X I C O G R A P H I Q U E : < < < FONCTION : < L'ANALYSEUR LEXICOGRAPHIQUE A A < SA CHARGE DE RECUPERER UNE PHRASE , < D'ISOLER LES MOTS , ET DE GENERER < UNE LISTE LINEAIRE DESCRIPTIVE < DES MOTS QUI LA COMPOSE. < LE FORMAT DE LA LISTE DESCRIPTIVE < EST FOURNIE EN TETE DU LISTING. < LES LIMITEURS LEXICOGRAPHIQUES < UTILISES SONT LE 'SPACE' EST LES < CARACTERES DE PONCTUATION ; IL EST < A NOTER QUE LES MOTS COMPOSES < S'ECRIRONT OBLIGATOIREMENT AVEC < UN TRAIT D'UNION '-' , AFIN DE LES < DELIMITER SUREMENT. < < < PHRASE A ANALYSER : < 1- APPEL PAR 'GE' : PHRASE LUE SUR NSPIN , < 2- APPEL PAR 'EI'/'GO' : PHRASE CONTENU DANS ITEM2, < ET DETRUITE PAR LES PAGES < DE DICTIONNAIRE !!!! < 3- APPEL PAR 'SE' : PHRASE LUE SUR NSPIN. < < < E N T R Y ' P H ' : < < WORD LOC+'80 < VALEUR INITIALE DE LA BASE L. WORD BRANCH < VALEUR INITIALE DE LA BASE W. LEXIC: EQU $ LRP K ADRI -1,K PLR L,W < INITIALISATION DES BASES L & W. < < DEMANDE D'ALLOCATION MEMOIRE : < LAD DEMMEM QUIT < DEMANDE D'ALLOCATION DE 6K MOTS < SANS UTILISER LA PILE K QUI < N'EST PAS DANS LES 4K COURANTS. LA APILE LR A,K < INITIALISATION DU REGSITRE K. < < INITIALISATION DE L'ANALYSEUR : < LAI 6 STBY DEMSGN < DEMSGN EST MISE EN MODE 'LOAD < SOUS ':SYS'. LB AGTK1 < PHRASE DANS L'ITEM2 A PRIORI. LA MODCAL,W < A=NATURE DE L'APPEL. CPI 2 < EST-CE UN APPEL PAR 'SE' ??? JE E100 < OUI , LA PHRASE EST BIEN DANS < L'ITEM2. < < CAS D'UNE PHRASE A LIRE : < LB AGTK2 < AUTRES CAS : IL FAUT LIRE < LA PHRASE DANS PHR. LXI LPHR LAI '04 STBY &APHR < UN 'EOT' EST MIS A PRIORI EN < BOUT DE PHRASE AU CAS OU < LA PHRASE A ANALYSER AURAIT < LA LONGUEUR MAXIMALE. < < ENTREE DE LA PHRASE : < LAD MPHR BSR APRINT < ENVOI D'UN MESSAGE D'INVITATION. LAD DEMIN SVC 0 < ENTREE DE LA PHRASE. < < TEST D'UNE PHRASE VIDE : < LXI 0 LBY &APHR < A=1ER CARACTERE DE LA PHRASE. CPI '04 < EST-CE 'EOT' ??? JE PHVID < OUI , LA PHRASE EST VIDE. CPI '0D < EST-CE 'R/C' ??? JE PHVID < OUI , LA PHRASE EST VIDE. < < CAS D'UNE PHRASE LUE NON VIDE , < OU D'UNE PHRASE ENTREE PAR L'ITEM2 : < E100: EQU $ STB AGTK < GENERATION DU RELAI VERS LA < ROUTINE DES TYPES LEXICOS. < < < G E N E R A T I O N D E L A L I S T E < D E S C R I P T I V E : < < LXI -1 < X=INDEX DU 1ER CARACTERE < PRECEDANT LA PHRASE. LYI SEP1+1 < Y=SEPARATEUR INITIAL MAX. LBI 0 < B=NBRE INITIAL DE MOTS ISOLES. LA ADPHR LR A,C < C=@DU 1ER DESCRIPTEUR LEXICAL. < < BOUCLE D'ANALYSE : < UTILISATION DES REGISTRES : < X=INDEX CARACTERE COURANT DE LA PHRASE , < Y=SEPARATEUR MAXIMUM COURANT , < B=NBRE DE MOTS ISOLES. < E10: EQU $ BSR AGTK < RENVOIE : A=TYPE DU CARACTERE < COURANT. CPI CAR < DISCRIMINATION ENTRE LES < DELIMITEURS ET LES CARACTERES < QUI N'EN SONT PAS. JL E20 < CAS DES SEPARATEURS. < < CAS DES LETTRES/CHIFFRES/... : ON < EST EN PRESENCE DU DEBUT D'UN NOUVEAU < MOT : < ADRI 1,B < COMPTE LE NBRE DE MOTS ISOLES. STY DESCS,C < RANGEMENT DU SEPARATEUR PRECEDENT < LE NOUVEAU MOT. STX DESCI,C < RANGEMENT DE L'INDEX DU 1ER < CARACTERE DU NOUVEAU MOT. STZ DESCD,C < LE MOT EST A PRIORI INCONNU. STZ DESCF,C < LA CATEGORIE GRAMMATICALE DU < MOT DANS SON CONTEXTE EST STZ DESCV,C < RAZ VALEUR SEMANTIQUE. < INCONNUE A PRIORI. IF NSEM+1/2-2,X100,, STZ DESCV+1,C < RAZ VALEUR SEMANTIQUE. X100: VAL 0 < < ACTION LEXICOGRAPHIQUE : < E13: EQU $ PSR X < SAVE L'INDEX COURANT CARACTERE. XR A,X < A=INDEX CARACTERE ; X=TYPE < LEXICOGRAPHIQUE. BSR &AACTL < APPEL D'UNE ROUTINE LEXICOGRA- < PHIQUE SPECIFIQUE. PLR X < RESTAURE L'2NDEX CARACTERE. < < ACCES AU CARACTERE SUIVANT : < E11: EQU $ BSR AGTK < RENVOIE A=TYPE DU CARACTERE < COURANT (X). CPI CAR < EST-CE UN DELIMITEUR ??? JGE E13 < NON ALLONS VERS L'ACTION < LEXICOGRAPHIQUE. < < RECONNAISSANCE D'UNE FIN DE MOT : < (X CONTIENT L'INDEX DU 1ER CARACTERE < NON RECONNU) < E12: EQU $ < ON A ICI : < X=INDEX DU DELIMITEUR , < A=TYPE DU DELIMITEUR. LR A,Y < Y=NOUVEAU DELIMITEUR. LR X,A < A=INDEX DU DELIMITEUR DE FIN < DE MOT. SB DESCI,C < A=LONGUEUR DU MOT QUE L'ON < VIENT D'ISOLER , STA DESCL,C < ET SAVE DANS LE DESCRIPTEUR. ADRI LDESC,C < PASSAGE SUR LE DESCRIPTEUR SUIVANT. LR Y,A < RESTAURE A=TYPE DU SEPARATEUR < SUR LEQUEL ONB EST ARRETE. JMP E21 < VERS LE TEST DE FIN DE PHRASE. < < CAS DES SEPARATEURS : < E20: EQU $ CPR A,Y < RECHERCHE DU SEPARATEUR LE PLUS < IMPORTANT DEPUIS LA FIN DU < MOT PRECEDENT (PAR EXEMPLE L' < APOSTROPHE EST PLUS IMPORTANTE < QUE LE 'SPACE'). JLE E21 < Y<=A , ON CONSERVE LE SEPARATEUR < COURANT (Y). LR A,Y < SINON , LE NOUVEAU SEPARATEUR < DEVIENT LE SEPARATEUR COURANT. < < TEST DE FIN DE PHRASE : < E21: EQU $ CPI FINF < EST-CE UN SEPARATEUR DE FIN < PHRASE ???? JNE E10 < NON , ON CONTINUE .... < < F I N D E P H R A S E : < LAI -1 STA DESCI,C < LE MOT 'DESCI' DU DESCRIPTEUR < COURANT EST MIS A -1 POUR < MEMORISER LA FIN DE PHRASE. STB DESCL,C < LE NBRE DE MOTS ISOLES EST < MIS DANS LE MOT 'DESCL' DU < DESCRIPTEUR COURANT. < < < C H A R G E M E N T D U D I C T I O N N A I R E < D E S M O T S U S U EL S : < < E50: EQU $ < < MISE EN PLACE DU NOM DE LA PAGE DES MOTS USUELS : < LAD NDIC < A=EMETTEUR D'INITIALISATION. LB AI2H < B=RECEPTEUR=@EN-TETE(ITEM2). LXI 4 < X=4 MOTS A DEPLACER. MOVE < PAGE DES NOMS USUELS. < < CHARGEMENT DE LA PGAE DES MOTS USUELS : < BSR ALOADI JNE E42 < LA PAGE DES MOTS USUELS < N'EXISTE PAS , ESSAYONS LES < AUTRES PAGES ... < < P A R C O U R S D E S M O T S U S U E L S : < LA ADPHR LR A,C < C=@1ER DESCRIPTEUR DE LA PHRASE < A ANALYSER. < < BOUCLE DE RECHERCHE DES MOTS USUELS : < E41: EQU $ CPZ DESCI,C < EST-ON EN BOUT DE PHRASE ??? JL E42 < OUI , PASSONS AUX MOTS NON USUELS BSR ATEST < SINON , TEST DU MOT COURANT < EN TANT QUE MOT USUEL. ADRI LDESC,C < PASSAGE AU DESCRIPTEUR SUIVANT. JMP E41 < VERS LE TEST DU MOT SUIVANT. < < C A S D E S M O T S N O N U S U E L S : < E42: EQU $ LA ADPHR LR A,C < C=@1ER DESCRIPTEUR DE LA < PHRASE COURANTE. < < BOUCLE DE PARCOURS DES PAGES NON USUELLES : < E43: EQU $ LA DESCI,C < EST-ON EN BOUT DE PHRASE ??? JAL E44 < OUI , C'EST FINI .... CPZ DESCD,C < LE MOT COURANT EST-IL DEJA < RECONNU COMME MOT USUEL ??? JNE E46 < OUI , RIEN A FAIRE. < < CAS DES MOTS NON ENCORE RECONNUS : < LR A,X < X=INDEX DU 1ER CARACTEREE DU MOT < COURANT DE LA PHRASE. LBY &APHR < A=<K1> DU MOT COURANT. LR A,B < B=<K1>. LA DESCL,C < ACCES A LA LONGUEUR DU MOT < COURANT. CPI 1 < ESTUN MOT DE 1 LETTRE ???? LAI " " < OUI A PRIORI ; ON FAIT ALORS < <K2>='SPACE'. JE E45 < OUI , C'EST UN MOT D'1NE LETTRE. ADRI 1,X < SINON , PASSAGE SUR <K2>. LBY &APHR < A=<K2> DU MOT COURANT. E45: EQU $ < ON A ICI : < A=<K2> OU 'SPACE' , < B=<K1>. LXI -2*LTN+2 < X=INDEX DU 3EME CARACTERE DU < DU NOM DE L'ITEM2. STBY &AI2 < RANGEMENT DE <K2>/'SPACE' < DANS L'EN-TETE DE L'ITEM2. ADRI -1,X < PASSAGE SUR LE 2EME CARACTERE. XR A,B < A=<K1> ; B=<K2>. STBY &AI2 < RANGEMENT DE <K1> DANS L'EN-TETE < DE L'ITEM2. SWBR A,A < OCTET0(A)=<K1>. ORR B,A < OCTET1(A)=<K2>. CP NOMDIC < LE NOM DE LA PAGE NECESSAIRE < POUR LE MOT COURANT SERAIT-ELLE < LA PAGE COURANTE ??? JE E48 < OUI , PAS DE CHARGEMENT A FAIRE ... < < CHARGEMENT D'UNE PAGE NON USUELLE : < STA NOMDIC < SAVE LE NOM DE LA PAGE COURANTE < POUR LA ROUITNE 'TEST'. BSR ALOADI < TENTATIVE DE CHARGEMENT DE < LA PAGE. JNE E47 < CETTE PAGE N'EXISTE PAS , LE < MOT COURANT NON PLUS (ET CECI < D'UNE MANIERE DEFINITIVE!!!). < < PARCOURS DE LA PAGE COURANTE : < E48: EQU $ BSR ATEST < RECHERCHE DU MOT COURANT < DANS LA PAGE COURANTE. JAE E46 < OK , ON A TROUVE LE MOT COURANT. < < C A S D E S M O T S I N C O N N U S : < E47: EQU $ LAD MINC BSR APRINT < ENVOI D'UN INDICATIF. LA DESCI,C < A=INDEX DU 1ER CARACTERE DU < MOT INCONNU. SBT 2 < TRANSLATION DE 8K OCTETS. STA DEMOUT+1 < GENERATION DE L'ADRESSE OCTET < DU MOT INCONNU. LA DESCL,C < ACCES A LA LONGUEUR DU MOT < INCONNU , STA DEMOUT+2 < QUE L'ON MET DANS DEMOUT. < < MISE EN PLACE DE L'AMBIGUITE < GRAMMATICALE MAXIMALE : < CPI 5 < ET TEST DE POSITION PAR RAPPORT < A LA LONGUEUR DE 5 LETTRES. < (MERDE ALORS !!!). LAI -1 IF NCATG4-4,X100,X100, LBI -1 X100: VAL 0 JLE TEST20 < CAS DES MOTS DE 5 LETTRES < OU MOINS ... < < CAS DES MOTS INCONNUS DE PLUS DE 5 LETTRES : < ON ADMET QU'ILS NE PEUVENT ETRE NI ARTICLE , < NI PRONOM RELATIF , NI CONJONCTION , NI < PRONOM PERSONNEL. < RBT ARTICL RBT PROREL RBT CONJ RBT PROPER TEST20: EQU $ STA DESCC,C < UN MOT INCONNU RECOIT DES < CATEGORIES D'AMBIGUITE MAX. IF NCATG4-4,X100,X100, STB DESCC+1,C < AMBIGUITE GRAMMATICALE MAX. X100: VAL 0 < < AFFICHAGE DU MOT INCONNU : < LAD DEMOUT SVC 0 < AFFICHAGE DU MOT INCONNU. < < PASSAGE AU MOT SUIVANT DE LA PHRASE : < E46: EQU $ ADRI LDESC,C < PROGRESSION DU POINTEUR DES < DESCRIPTEURS. JMP E43 < VERS LE MOT NON USUEL SUIVANT. < < F I N D E P H R A S E : < E44: EQU $ LA NSYNT < A=NOM DE L'OVERLAY D'ANALYSE < SYNTAXIQUE. < < C H A R G E M E N T D E L ' O V E R L A Y < S U I V A N T : < E52: EQU $ STA 0,W < MISE EN PLACE DU NOM DE LA < BRANCHE SUIVANTE. LAD DEMSGN < A=@DEMSGN. BSR AOVL < TENTATIVE DE CHARGEMENT. LAD DEMCCI < CAS DES ERREURS DE CHARGEMENT. SVC 0 < ON PASSE LA MAIN AU CCI. E200: EQU $ < ENTRY 'PHRASE VIDE'. LA NGE < A=NOM DE L'OVERLAY 'GE'. JMP E52 < DANS LE CAS D'UN !GO , ON < TENTE DE CHARGER 'GE'. < < < P H R A S E L U E V I D E : < < < FONCTION : < CE MODULE APPELE LORSQU'UNE < PHRASE A ETE LUE VIDE , PROVOQUE < UN RETOUR DE L'ESPACE MEMOIRE < A 4K , ET UN RETOUR A 'GE'. < < PHVID: EQU $ LAI 0 SBT 2 < A='2000 OCTETS=4K MOTS. STA DEMMEM+2 < MISE A JOUR DE DEMMEM. LAD DEMMEM QUIT < L'ESPACE MEMOIRE PASSE A 4K MOTS. LA APILES LR A,K < RETOUR SUR LA PILE DE SODOME. STZ MODCAL,W < MODCAL<--0 , STZ CDRET,W < CDRET<--0. JMP E200 < VERS LE RETOUR A 'GE'. PAGE < < < V A L I D A T I O N D E L ' I M P L A N T A T I O N : < < PILE: VAL 'FF0-6 < PILE DE SODOME. X12: EQU ZERO+PILE-LTNI-LTNI X10: VAL X12-$ ZEROV: EQU ZERO+X10 < ERREUR D'ASSEMBLAGE SI MAUVAISE < IMPLANTATION. DZS X10+1 < PAR PURE PROPRETE .... EOT #SIP GEN PROCESSEUR#