< S I S C M S 5 8 PAGE PAGE CALL #SISP CMS5 CHECK# CALL #SISP CMS5 DOL1# < < < T R A C E D U S Y S T E M E : < < TTRACE: EQU $ X91:: VAL UTRACE*LTRACE < NBRE DE MOTS DE LA TRACE. PAGE < < < D E F I N I T I O N D E L A Z O N E < D E P A T C H : < < LPTCH:: VAL 16 < NBRE DE MOTS RESERVES AUX < PATCHES DU SYSTEME. ZPATCH: EQU TTRACE+X91 < DEBUT DE LA ZONE D'IMPLANTATION < DES PATCHES DU SYSTEME (CF. < LE MODULE DE DEBUG-RECOVERY). LPATCH: EQU ZPATCH+LPTCH-D < LIMITE SUPERIEURE DE LA < ZONE DE PATCH. PAGE < < < Z O N E D E T R A C E E T D E P A T C H : < < DZS X91 < ZONE DE TRACE DU SYSTEME CMS4. DZS LPTCH < ZONE DE PATCH DU SYSTEME CMS4. DZS 2 < PAR PRUDENCE... PAGE < < < B U F F E R P E R M A N E N T < D U S E C T E U R C O U R A N T < U T I L I S E P A R ' H D L T R I ' : < < CALL #SISP CMS5 DOL2# BSTCXX: DZS YY7 < BUFFER PERMANENT DU SECTEUR COURANT. CALL #SISP CMS5 DOL1# PAGE < < < C O M P T E U R D E S Q - S E C T E U R S H S : < < KQSHS: WORD K < < < P I L E D E S Q - S E C T E U R S H S : < < LQSHS:: VAL 96 < NOMBRE DE Q-SECTEURS QU'ELLE PEUT < STOCKER LORSQU'ILS SONT "HS"... CALL #SISP CMS5 DOL2# PQSHS: EQU $ BYTE LQSHS;K < "POINTEUR" DE PILE, DZS LQSHS < PILE PROPREMENT DITE. XQSHS:: VAL $-PQSHS < LONGUEUR TOTALE... CALL #SISP CMS5 DOL1# PAGE < < < B U F F E R D E L E C T U R E A S C I < D E H D L C R 1 : < < BUCR1: DZS LCCI/NOCMO < ON LIT 80 CARACTERES ASCI MAX < < < B U F F E R D E L E C T U R E A S C I < D E H D L C R 2 : < < BUCR2: DZS LCCI/NOCMO < < < B U F F E R L P 1 P O U R T R A N S F E R T < E V E N T U E L : < < LMBLP1:: VAL YY8+NOCMO < LONGUEUR MAX DU BUFFER LP1. < (A CAUSE DE ":SIM"...) BULP1: DZS LMBLP1/NOCMO RCLF: BYTE KCR;KLF LXRCLF:: VAL $-RCLF*NOCMO < LONGUEUR DU MESSAGE 'RC-LF'... PAGE < < < P I L E D E T H 0 : < < < ATTENTION : < CETTE PILE DOIT ETRE EN MEMOIRE BASSE < CAR EN EFFET IL EXISTE DANS 'TH0' DES < RELAIS INDEXES OU NON DESSUS !!! < < PILTH0: EQU $-DEPILE XWPILE: VAL LPILTH+2 CALL #SISP CMS5 GENPIL2# PAGE < < < C A R T E D U D I S Q U E ' F H D ' : < < NTRN IF TZSWAP/XNSPDK(K=FCREST-K,XEIF%,,XEIF% IF ATTENTION : TOUTES LES ZONES DE SWAPPING COMMENCNT IF A UNE FRONTIERE DE PISTE, DONC IL N'Y A PAS DE IF DEPHASAGES, ET LES SWAPPINGS NE SONT PAS OPTIMISES !!! XEIF%: VAL ENDIF TRN XWOR%1: VAL XNSPDK=K IF BIT>XWOR%1-XNSPDK,,XEIF%, IF ATTENTION : 'XNSPDK' DOIT ETRE UNE PUISSANCE DE 2 !!! XEIF%: VAL ENDIF NTRN IF NSDKF/XNSPDK(K=FCREST-K,,XEIF%, IF ATTENTION : 'XNSPDK' NE DIVISE PAS 'NSDKF' !!! XEIF%: VAL ENDIF TRN DSEC SECBAS ZERBAS: EQU $ < SYMBOLE REPRESENTANT LE SECTEUR 0 < D'UN DISQUE ; UN MOT DE CETTE < DSEC EN REPRESENTE ALORS UN < SECTEUR... < < < N O Y A U D E B O O T - S T R A P : < < XSBOOT:: VAL $-ZERBAS < IMPLANTATION DU NOYAU DE BOOT-STRAP < DE CMS5 SUR 'DKF'... XLBOOT:: VAL YY7 < LONGUEUR MAXIMALE PRESUMEE POUR LE < NOYAU DE BOOT-STRAP... IF XSBOOT-K,,XEIF%, IF ATTENTION : POUR DES RAISONS LIEES A LA MICRO- IF PROGRAMMATION DES BOOT-STRAPS, LE NOYAU DOIT IF IMPERATIVEMENT SE TROUVER SUR LE SECTEUR 0 !!! XEIF%: VAL ENDIF DZS XLBOOT/YY7 < < < Z O N E V I R T U A L I S E E : < < $EQU ZERBAS+XNSPDK < ON SE CADRE A UNE FRONTIERE DE PISTE... ZERBV:: VAL $-ZERBAS < DEBUT DE LA ZONE VIRTUALISEE. ZERBVP:: VAL ZERBV/XNSPDK < DEBUT DE LA ZONE VIRTUALISEE EXPRIME < EN NUMERO DE PISTE. < < < T A B L E D ' O C C U P A T I O N ' T O G B ' : < < XXGB:: VAL $-ZERBAS < IMPLANTATION DE 'TOGB'. XWOR%8: VAL 2 < AFIN DE PREVOIR LES EXTENSIONS DE LA < CAPACITE DE DISQUE ALLOUABLE... < NOTA : SI ON AUGMENTE LE NOMBRE DE < DISQUES, IL FAUT REDUIRE LA < TAILLE DE L'ARBRE DU SYSTEME, OU < ACHETER UN 'DKF' PLUS GRAND... DZS NSTO*XWOR%8 < TABLE D'OCCUPATION 'TOGB' (ET PLUS...) : < NOTA : ON TROUVE EN RECOUVREMENT < AVEC 'TOGB' LE NOYAU DES BOOT-STRAPS < DE CMS5 ; LE RECOUVREMENT A LIEU BIEN < ENTENDU SUR UN SECTEUR INUTILISE < DE 'TOGB' : CELUI QUI CORRESPOND A LA < SIMULATION DE 'DKF' SUR 'DKM'... IF XSBOOT-XXGB,XEIF%,, IF ATTENTION : CA VA MERDER !!! XEIF%: VAL ENDIF < < < T A B L E D E S P A R T I T I O N S ' S G F ' : < < NTRN DZS $-ZERBAS/XXXMOY(K=FCREST TRN < AFIN DE SE PLACER A UNE ADRESSE MULTIPLE < DE 'XXXMOY'... XXTP:: VAL $-ZERBAS < IMPLANTATION DE 'TP'. NTRN IF XXTP/XXXMOY(K=FCREST-K,,XEIF%, IF ATTENTION : 'XXTP' DOIT ETRE DIVISIBLE PAR IF 'XXXMOY' A CAUSE D'OPERATIONS DU TYPE 'ADRI' IF EFFECTUEES SUR 'XXTP' DANS LE 'SGF' !!! XEIF%: VAL ENDIF TRN DZS NSTP+XXTP1M < 'TP' : TABLE DES PARTITIONS DE CLES < < < A R B R E D U S Y S T E M E : < < XXTRI:: VAL $-ZERBAS < IMPLANTATION DE 'TREE'. NSTREE:: VAL '3F0/NBITMO*NBITMO < NOMBRE DE SECTEURS OCCUPES < PAR L'ARBRE DU SYSTEME... < NOTA : CETTE TAILLE EST MALHEUREUSEMENT < LIMITEE A CAUSE DU FORMAT DES < NUMEROS DE NOEUDS (VOIR 'MKNE'), < ET DES TESTS FAIT SUR CEUX-CI PAR < LE 'SGN'... DZS NSTREE < ARBRE DU SYSTEME < < < C A D R A G E A U N E F R O N T I E R E < D E P I S T E : < < XWOR%1: VAL $-ZERBAS NTRN XWOR%1: VAL XWOR%1+XNSPDK-E/XNSPDK*XNSPDK TRN < < < Z O N E N O N V I R T U A L I S E E A C C E D E E < P A R S E C T E U R O U P L U S : < < ZERBNV:: VAL XWOR%1 < DEBUT DE LA ZONE NON VIRTUALISEE. $EQU ZERBAS+ZERBNV < CADRAGE A UNE FRONTIERE DE PISTE. XWOR%1: VAL $-ZERBAS-ZERBV NPVDKF:: VAL XWOR%1/XNSPDK < NOMBRE DE PISTES VIRTUALISEES SUR 'DKF'. IF NPVDKF*XNSPDK-XWOR%1,,XEIF%, IF ATTENTION : LE NOMBRE DE SECTEURS VIRTUALISES N'EST IF PAS UN NOMBRE ENTIER DE PISTES !!! XEIF%: VAL ENDIF < < < C M S 5 L U I - M E M E : < < LOCSYS:: VAL '680 < ADRESSE SECTEUR DU SYSTEME CMS5 IF $-ZERBAS-LOCSYS,XEIF%,XEIF%, IF DANGER : LE SYSTEME EST RECOUVERT IF PAR CE QUI PRECEDE !!! XEIF%: VAL ENDIF $EQU ZERBAS+LOCSYS XWOR%1: VAL LK/YY7 < NOMBRE DE SECTEURS DANS 1K MOTS. XWOR%2: VAL K64*XWOR%1 < 'CMS5' FAIT 64K, SOIT (...) SECTEURS. DZS XWOR%2 < SYSTEME CMS5 $EQU ZERBAS+SECTSY < ADRESSE D'IMPLANTATION SWAPPING DZS M+NESCLA*TZSWAP < SWAPPING UTILISATEURS < < < T A I L L E D E S P R O C E S S E U R S D E B A S E : < < XXX1K:: VAL 1 < 1 K-MOTS, XXX1KO:: VAL XXX1K*LK*NOCMO < CONVERTI EN NOMBRE D'OCTETS. XXX4K:: VAL 4 < 4 K-MOTS, XXX4KO:: VAL XXX4K*LK*NOCMO < CONVERTI EN NOMBRE D'OCTETS. < < < P O I N T D ' E N T R E E D E S P R O C E S S E U R S < D E B A S E : < < PEPROC:: VAL '12 < 'P' D'ENTREE DE TOUS LES PROCESSEURS DE < BASE A L'EXCEPTION DE '!CALL'... <******************************************************************************* XWOR%F: VAL PEPROC PEPROG: @VAL '0@@@@ < POINT D'ENTREE DE TOUS LES PROGRAMMES. CALL #SISP CMS5 GEN CTE# <******************************************************************************* PECALL:: VAL '10 < 'P' D'ENTREE DE '!CALL'... < < < E D I T : < < SZEDIT:: VAL XXX4KO < TAILLE EN OCTETS NECESSAIRE < A EDIT. DKEDIT:: VAL $-ZERBAS < @SECTEUR DE !E. PEDIT:: VAL PEPROC < P DE LANCEMENT DE EDIT. < (TRANSLATABLE). DZS SZEDIT/YY8 < RESERVATION DE L'ESPACE DK DE !E. < < < C A L L : < < SZCALL:: VAL XXX1KO < TAILLE EN OCTETS NECESSAIRE < A CALL. DKCALL:: VAL $-ZERBAS < @SECTEUR DE !CALL. PCALL:: VAL PECALL < P DE LANCEMENT DE CALL. < (TRANSLATABLE). DZS SZCALL/YY8 < RESERVATION DE L'ESPACE < DK DE !CALL. < < < C H A R G E U R : < < SZLOAD:: VAL XXX4KO < TAILLE EN OCTETS NECESSAIRE < INITIALEMENT A LOAD. DKLOAD:: VAL $-ZERBAS < @SECTEUR DE !LOAD. PLOAD:: VAL PEPROC < P DE LANCEMENT DE LOAD. < (TRANSLATABLE). DZS SZLOAD/YY8 < RESERVATION DE L'ESPACE < DK DE !LOAD. < < < A S S E M B L E U R : < < SZSYMB:: VAL XXX4KO < TAILLE EN OCTETS NECESSAIRE < A L'ASSEMBLEUR. DKSYMB:: VAL $-ZERBAS < @SECTEUR DE !SYMBOL. PSYMB:: VAL PEPROC < P DE LANCEMENT DE SYMBOL. < (TRANSLATABLE). DZS SZSYMB/YY8 < RESERVATION DE L'ESPACE < DK DE !SYMBOL. < < < I D L E : < < SZIDLE:: VAL XXX1KO < LA TAILLE EN OCTETS NECESSAIRE < A IDLE EST MINIMALE ; C'EST EN < EFFET LA RAISON D'ETRE DE CE < PROCESSEUR : MINIMISER L'ESPACE < MEMOIRE DE L'UTILISATEUR. DKIDLE:: VAL $-ZERBAS < @SECTEUR DE !I. PIDLE:: VAL PEPROC < P DE LANCEMENT DE IDLE. < (TRANSLATABLE). DZS SZIDLE/YY8 < RESERVATION DE L'ESPACE DK DE !I. < < < G R A P H E D ' E N C H A I N E M E N T : < < SZGRE:: VAL XXX4KO < TAILLE EN OCTETS NECESSAIRE < AU PROCESSEUR GE. DKGRE:: VAL $-ZERBAS < @SECTEUR DE !GE. PGRE:: VAL PEPROC < P DE LANCEMENT DE GE. < (TRANSLATABLE). DZS SZGRE/YY8 < RESERVATION ESPACE DK DE !GE. < < < D E L E T E - F I L E : < < SZDELF:: VAL XXX1KO < TAILLE EN OCTETS NECESSAIRE < A DELETE-FILE. DKDELF:: VAL $-ZERBAS < @SECTEUR DE !DF. PDELF:: VAL PEPROC < P DE LANCEMENT DE DELETE-FILE. < (TRANSLATABLE). DZS SZDELF/YY8 < RESERVATION ESPACE DK DE !DF. < < < V A L I D A T I O N D E L ' I M L A N T A T I O N < D E S P R O C E S S E U R S D E B A S E : < < IF $-ZERBAS-X16-SECTSY,XEIF%,, IF E R R E U R !!! XEIF%: VAL ENDIF < < < Z O N E D E C O P Y D U S Y S T E M E : < < ASCOPY:: VAL $-ZERBAS < ADRESSE SECTEUR DE LA 1ERE ZONE DE COPY. LCOPY3:: VAL '08 < VALEUR ESTIMEE DU NOMBRE DE SECTEURS < NECESSAIRES A LA COPY DU SYSTEME ; CE < NOMBRE EST VALIDE AU NIVEAU DE LA < DEFINITION DE LA ZONE DE SAUVEGARDE. SECURC:: VAL W < DISTANCE ARBITRAIRE EXPRIMEE EN NOMBRE < DE PISTES SEPARANT LES DIVERSES ZONES < DE COPY ; ON LE SEPARE AINSI, CAR EN < GENERAL LES SECTEURS EN DEFAUT VONT PAR < PAQUET, DONC AINSI, ON A PLUS DE CHANCE < QU'AU MOINS UNE COPIE SOIT EN BON ETAT... SECURP:: VAL XNSPDK*SECURC < IDEM, EXPRIME EN NOMBRE DE SECTEURS. LCOPY5:: VAL LCOPY3+SECURP < LONGUEUR EN SECTEURS DE LA ZONE BLOQUEE < POUR UNE COPIE, ETANT DONNEE LA ZONE < DE SECURITE "INTER-COPIE"... DO NSCOPY DZS LCOPY5 < UNE ZONE DE COPIE... < < < V A L I D A T I O N D E L A C A R T E < D U D I S Q U E F I X E ' D K F ' : < < IF $-ZERBAS-NSDKF,XEIF%,, IF ATTENTION : TROP DE CHOSES SUR CE PAUVRE 'DKF' !!! XEIF%: VAL ENDIF PAGE < < < D E F I N I T I O N D E S P I S T E S < L I B R E S D E ' D K F ' , E N V U E < D ' E N F A I R E D E S P I S T E S < D E R E S E R V E : < < XWOR%1: VAL $-ZERBAS NTRN XWOR%1: VAL XWOR%1+XNSPDK-E/XNSPDK*XNSPDK TRN $EQU ZERBAS+XWOR%1 < POSITIONNEMENT A UNE FRONTIERE DE PISTE, PISTEL:: VAL $-ZERBAS < PREMIERE PISTE LIBRE, < (EXPRIMEE EN ADRESSE SECTEURS) NPISTL:: VAL NSDKF-PISTEL/XNSPDK < NOMBRE DE PISTES LIBRES... IF NPISTL-K,,,XEIF% IF MERDE ALORS, CELA NE FAIT PAS BEAUCOUP !!! XEIF%: VAL ENDIF < < < NOTA : < SI CES PISTES DE RESERVE NE SUFFISENT PAS, < ON SE SOUVIENDRA QU'ENTRE LA COPIE ET LE < SYSTEME LUI-MEME, IL Y A DE LA PLACE... < POUR LES PISTES NON VIRTUALISEES, ET DANS < LE CAS DES UTILISATEURS, IL SUFFIT D'INHIBER < DES 'IDESC'... < < PAGE < < < D E F I N I T I O N D E L A C O P Y : < < PROG < < < A T T E N T I O N : < LES DEFINITIONS EN AVANT DES ADRESSES < DE ZONES DE 'COPY' DOIVENT ETRE PLACEES < ICI, AFIN D'ETRE HORS DE LA 'DSEC' DE < FORMATTAGE DE 'DKF'. < < SCOPY: EQU ZERO+ASCOPY < ADRESSE SECTEUR DE LA ZONE DE COPY. SCOPY1: EQU SCOPY+K < PREMIERE ZONE DE 'COPY', SCOPY0: EQU SCOPY1 < A CAUSE DE L'ASSEMBLEUR... SCOPY2: EQU SCOPY+LCOPY5 < DEUXIEME ZONE DE 'COPY'. IF SCOPY2-SCOPY1/LCOPY5-NSCOPY+Z,,XEIF%, IF INCOHERENCE SUR 'NSCOPY' !!! XEIF%: VAL ENDIF PAGE < < < D E F I N I T I O N D E L A ' C D A ' : < < XWOR%3: VAL FADR < UNITE DES ADRESSES OACD ET ECDA. XWOR%4: VAL XWOR%3=K XWOR%5: VAL NBITMO-XWOR%4 DZS XWOR%3-Z < POUR SE CADRER A UNE FRONTIERE... XWOR%1: VAL -XWOR%4 XWOR%2: VAL $-ZERO>XWOR%1 IF KSIMS-K64,XEIF%,,XEIF% AOCDA: EQU ZERO+XWOR%2 < ORIGINE DE LA ZONE 'CDA'. XEIF%: VAL ENDIF XWOR%2: VAL $-ZERO XWOR%2: VAL BIT>XWOR%5-XWOR%2-XWOR%3 IF XWOR%2,,,XEIF% XWOR%2: VAL XWOR%3 < AU DELA DE '1000, ON PREND LE MINI... XEIF%: VAL ENDIF DZS XWOR%2 < ZONE 'CDA'. XWOR%2: VAL $-ZERO>XWOR%1 IF KSIMS-K64,XEIF%,,XEIF% AECDA: EQU ZERO+XWOR%2 < EXTREMITE DE LA ZONE 'CDA'. XEIF%: VAL ENDIF DZS XWOR%3 < MARGE DE SECURITE... IF KSIMS-K64,,XEIF%, XWOR%1: VAL K64>DADR*LK AOCDA: EQU ZERO+XWOR%1 < ORIGINE DE LA ZONE 'CDA'. XWOR%2: VAL KSIMS>DADR*LK-Z AECDA: EQU ZERO+XWOR%2 < EXTREMITE DE LA ZONE 'CDA'. XEIF%: VAL ENDIF AOCDA1: EQU AOCDA < A AOCDA2: EQU AOCDA < CAUSE AOCDA3: EQU AOCDA AOCDA4: EQU AOCDA AOCDA5: EQU AOCDA AECDA1: EQU AECDA < DE AECDA2: EQU AECDA < L'ASSEMBLEUR... AECDA3: EQU AECDA AECDA5: EQU AECDA PAGE < < < Z O N E D E P A T C H D U C C I : < < < NOTA : < ETANT DONNE LA NOTION D'AUTO-RELAIS < DANS LA GRAMMAIRE DU CCI, CELLE-CI < DOIT SE TROUVER AUX ADRESSES '1XXX, < ET IL EST DONC IMPOSSIBLE D'UTILISSER LA < ZONE DE PATCH DU SYSTEME, D'OU CETTE < ZONE RESERVEE POUR LES PATCHS DU CCI... < < XCIPAT:: VAL 16 < ON PEUT ESPERER QUE 16 MOTS < SUFFIRONT... CCIPAT: DZS XCIPAT < ZONE DE PATCH DU CCI... PAGE < < < G R A M M A I R E D U C C I : < < < A T T E N T I O N : < ETANT DONNE LA NOTION D'AUTO-RELAIS < DANS LA GRAMMAIRE DU CCI, CELLE-CI < DOIT SE TROUVER DANS LES ADRESSES < DU TYPE '1XXX !!!! < < < LISTE DES COMMANDES RECONNUES : < < 1- AVANT LE LOGIN : < !LOGIN <ACN><EOT>, < !L <ACN><EOT>, < !B...<EOM>, < !F...<EOM>, < 2- APRES LE LOGIN : < <EOM>, < !<EOT>, < !<R/C>, < !<GS>HHHH... < !ACTIVITE B<CHAINE HEXA-DECIMALE><EOM>, < !ACTIVITE H<EOM>, < !ACTIVITE M<CHAINE HEXA-DECIMALE><EOM>, IF OACTIV-EXIST,XEIF%8,,XEIF%8 < !ACTIVITE OFF<EOM>, < !ACTIVITE ON<EOM>, XEIF%8: VAL ENDIF < !ACTIVITE R<CHAINE HEXA-DECIMALE><EOM>, < !ACTIVITE V<CHAINE HEXA-DECIMALE><EOM>, < !ASSIGN <NVP>=<EOM>, < !ASSIGN <NVP>=<NSP>...<EOM>, < !ASSIGN <NVP>=N,<NOM-FICHIER><EOT>, < !ASSIGN <NVP>=O,<NOM-FICHIER><EOT>, < !ASSIGN <NVP>=D-<NOM-FICHIER><EOT>, < !ASSIGN <NVP>=R...<EOM>, < !ASSIGN <NVP>=S...<EOM>, < !BATCH<EOM>, < !BO<EOM>, < !BYE...<EOM>, < !C<EOM>, < !CALL<EOM>, < !CDA, < !CDAG..., < !CDAI..., < !CDAI=I..., < !CDAI=J..., < !CDAJ+<CHAINE HEXA-DECIMALE><EOM>, < !CDAP..., < !CDAX..., < !CLOSE...<EOM>, < !CM <NSP1>=<NSP2>...<EOM>, < !CM <NSP1>#<NSP2>...<EOM>, < !CM <NSP1>/...<EOM>, < !DATE...<EOM>, < !D<EOM>, < !DEBUG<EOM>, < !DEBUG<CTRL-C><EOM>, < !DF<EOM>, < !DK =<CHAINE HEXA-DECIMALE><EOM>, < !DK D <NVP><EOM>, < !DK F<EOM>, < !DK INITIALISATION <NVP>=<NUMERO DE VOLUME><EOM>, < !DK M <NVP>=<NUMERO DE VOLUME><EOM>, < !DK S<EOM>, < !DK S0 OFF<EOM>, < !DK S0 ON<EOM>, < !DKU =<CHAINE HEXA-DECIMALE><EOM>, < !DKU D <NVP><EOM>, < !DKU F<EOM>, < !DKU INITIALISATION <NVP>=<NUMERO DE VOLUME><EOM>, < !DKU M <NVP>=<NUMERO DE VOLUME><EOM>, < !DKU S<EOM>, < !DKU S0 OFF<EOM>, < !DKU S0 ON<EOM>, < !E<EOM>, < !ECHO OFF<EOM>, < !ECHO ON<EOM>, < !EDIT<EOM>, < !F<EOM>, < !GE<EOM>, < !GO...<EOM>, < !HELP...<EOM>, < !I<EOM>, < !K..., < !L<EOM>, < !L <ACN><EOT>, < !L0<EOT>, < !L1<EOT>, < !L[+<ACN><EOT>, < !L[-<ACN><EOT>, < !LO<EOM>, < !LOAD<EOM>, < !M<LIM><COM1><LIM><COM2><LIM>...<COMN><LIM><EOM>, < !N<CHAINE HEXA-DECIMALE><EOM>, < !P...<EOM>, < !Q<CHAINE HEXA-DECIMALE><EOM>, < !Q<CHAINE HEXA-DECIMALE>+0<EOM>, < !Q<CHAINE HEXA-DECIMALE>+1<EOM>, < !Q<CHAINE HEXA-DECIMALE>+2<EOM>, < !R<EOM>, < !R DANGER<CTRL-C><EOM>, < !SGN<EOM>, < !SGN C OFF<EOM>, < !SGN C ON<EOM>, < !SI<EOM>, < !SO<EOM>, < !SYMBOL<EOM>, < !T<EOM>, < !TAB...<EOM>, < !TRACE OFF<EOM>, < !TRACE ON<EOM>, < !U<EOM>, < !VI <MESSAGE><EOM>, < !VIDEO<EOM>, < !VIX<MESSAGE><EOM>, < !W...<EOM>, < !X <NVP><EOM>, < !Z<CHAINE HEXA-DECIMALE><EOM>, < < < A T T E N T I O N : < TOUTES LES COMMANDES SONT PRECEDEES DE '!', < SAUF LA COMMANDE "!GO" RAPIDE (<SPACE><EOM>)... < < PAGE < < < M E S S A G E S D U C C I : < < <******************************************************************************* MESCCI: BYTE KCR;KLF;KBEL;KPI XWOR%1: VAL '000000000@@=FCSIGN-SIGNP <******************************************************************************* LKMCCI:: VAL $-MESCCI*NOCMO+XWOR%1 MESCCJ: EQU MESCCI < A CAUSE DE L'ASSEMBLEUR... LOMCCI:: VAL LKMCCI?MKLOM IF LBUFES*NOCMO-LKMCCI,,XEIF%,XEIF% IF ATTENTION : 'LOMCCI' NE PEUT ETRE EMIS SUR IF ATTENTION LE PERIPHERIQUE 'OUT' !!! XEIF%: VAL ENDIF NTRN DO LPILID+Z-W+NOCMO-E/NOCMO BYTE KPI;KPI TRN IF LKMCCI-LMES1,,XEIF%, IF ATTENTION : LA VALEUR PRESUMEE DE LA IF LONGUEUR DE CE MESSAGE DANS LE 'CCI' IF EST MAUVAISE !!! XEIF%: VAL ENDIF XUPDAT: @ XWOR%1: VAL KOLF=FMASK+KOLTES=FVAL XWOR%1: VAL KOLC=FMASK+KDP=FVAL?XWOR%1 XWOR%2: VAL KOLTED=FMASK+KOL0=FVAL XWOR%2: VAL KOLTEF=FMASK+KOL0+KOLON=FVAL?XWOR%2 XWOR%3: VAL XWOR%2=XWOR%1-KOL0 < LONGUEUR DU SYMBOLE 'XUPDAT'... XWOR%4: VAL MSYMBI=FMASK+KOL0=FVAL XWOR%4: VAL MSYMBL=FMASK+XWOR%3=FVAL?XWOR%4 IF XWOR%4=FCSYMT-SYMBX,XEIF%,,XEIF% XUPDAT:: VAL I < SI 'XUPDAT' N'EXISTE PAS, ON LE CREE... XEIF%: VAL ENDIF XWOR%1: VAL COSBT?XXBNSP=FMASK(K?NSPUPD=FCINST XWOR%2: VAL COGETM=FMASK(K?XWOR%1=FCINST)XWOR%1 XWOR%3: VAL COGETM=FMASK(K?XWOR%2=FCINST)XWOR%2 < XWOR%3=NUMERO DU RELEASE COURANT. XWOR%4: VAL XWOR%3+XUPDAT < XWOR%4=NUMERO DU RELEASE A GENERER. XXCMS5:: VAL XWOR%4 < NUMERO DU RELEASE EN COURS D'ASSEMBLAGE. UPDATE: WORD XXCMS5 < NUMERO DU RELEASE EN COURS D'ASSEMBLAGE. XWOR%9: VAL NBITMO/NBITCX NTRN DO XWOR%9 XWOR%4: VAL XWOR%4/BASE10(K=FCREST=FCPUSH(K?XWOR%4/BASE10 TRN < XWOR%4 DOIT SORTIR NUL DE LA BOUCLE, < OU DU MOINS INFERIEUR A 10... IF XWOR%4-BASE10,XEIF%,, IF ATTENTION : TROP D'UPDATES !!! XEIF%: VAL ENDIF XWOR%4: VAL K < INITIALISATION DU CUMUL... <******************************************************************************* DO XWOR%9 XWOR%4: VAL XWOR%4*BASE16=FCPULL IDP "#@@@@ RELEASE" <******************************************************************************* XWOR%5: VAL MOCG=K < POUR ISOLER LES CHIFFRES DE GAUCHE, XWOR%5: VAL -XWOR%5 XWOR%6: VAL MOCD=K < POUR ISOLER LES CHIFFRES DE DROITE. XWOR%6: VAL -XWOR%6 XWOR%7: VAL XWOR%4(MOCG>XWOR%5 < CHIFFRES DE GAUCHE, XWOR%8: VAL XWOR%4(MOCD>XWOR%6 < CHIFFRES DE DROITE. < < MESSAGE DE 'LOGIN' : < M1: BYTE KCR;KFF BYTE KCR;KBEL;KCR;KLF ASCI "!!CMS5 IS UP" BYTE KCR;KLF XWOR%1: VAL COSBT?XXBRAC=FMASK(K=FCINST IF OFFRAC-XWOR%1,,XEIF%, ASCI "(IN RACK) " IDP "VERSION IN-RACK" XEIF%: VAL ENDIF IF OFFRAC-XWOR%1,XEIF%,,XEIF% ASCI "(OUT RACK)" IDP "VERSION OUT-RACK" XEIF%: VAL ENDIF BYTE KCR;KLF ASCI "RELEASE " WORD XWOR%7=FCBA;XWOR%8=FCBA XMPASS: @ XWOR%1: VAL KOLF=FMASK+KOLTES=FVAL XWOR%1: VAL KOLC=FMASK+KDP=FVAL?XWOR%1 XWOR%2: VAL KOLTED=FMASK+KOL0=FVAL XWOR%2: VAL KOLTEF=FMASK+KOL0+KOLON=FVAL?XWOR%2 XWOR%3: VAL XWOR%2=XWOR%1-KOL0 < LONGUEUR DU SYMBOLE 'XMPASS'... XWOR%4: VAL MSYMBI=FMASK+KOL0=FVAL XWOR%4: VAL MSYMBL=FMASK+XWOR%3=FVAL?XWOR%4 IF XWOR%4=FCSYMT-SYMBX,XEIF%,,XEIF% XMPASS:: VAL KNUL < SI 'XMPASS' N'EXISTE PAS ON LE DEFINIT < AVEC LE CARACTERE "NUL"... XEIF%: VAL ENDIF ASCI "//" NLS WORD XMPASS=FCBA < QUELLE ASTUCE, ON EDITE 'XMPASS' < JUSTEMENT DERRIERE LE NUMERO DE LA < RELEASE COURANTE DU SYSTEME... LST <******************************************************************************* BYTE KCR;KLF XWOR%1: VAL '000000000@@=FCSIGN-SIGNP <******************************************************************************* LKM1:: VAL $-M1*NOCMO+XWOR%1 LOM1:: VAL LKM1?MKLOM IF LBUFES*NOCMO-LKM1,,XEIF%,XEIF% IF ATTENTION : 'LOM1' NE PEUT ETRE EMIS SUR IF ATTENTION LE PERIPHERIQUE 'OUT' !!! XEIF%: VAL ENDIF < < MESSAGE 'WELCOME' : < M2: BYTE KCR;KLF ASCI "!WELCOME" <******************************************************************************* BYTE KCR;KLF XWOR%1: VAL '000000000@@=FCSIGN-SIGNP <******************************************************************************* LKM2:: VAL $-M2*NOCMO+XWOR%1 LOM2:: VAL LKM2?MKLOM IF LBUFES*NOCMO-LKM2,,XEIF%,XEIF% IF ATTENTION : 'LOM2' NE PEUT ETRE EMIS SUR IF ATTENTION LE PERIPHERIQUE 'OUT' !!! XEIF%: VAL ENDIF < < MESSAGE DE 'LOGOUT' : < M3: BYTE KLF;KPE ASCI "HI" <******************************************************************************* BYTE KCR;KLF XWOR%1: VAL '000000000@@=FCSIGN-SIGNP <******************************************************************************* LKM3:: VAL $-M3*NOCMO+XWOR%1 LOM3:: VAL LKM3?MKLOM IF LBUFES*NOCMO-LKM3,,XEIF%,XEIF% IF ATTENTION : 'LOM3' NE PEUT ETRE EMIS SUR IF ATTENTION LE PERIPHERIQUE 'OUT' !!! XEIF%: VAL ENDIF < < MESSAGE DE 'CCI ERROR' : < M4: BYTE KCR;KLF <******************************************************************************* ASCI "!!CCI ERROR #" XWOR%1: VAL '000000000@@=FCSIGN-SIGNP <******************************************************************************* LKM4:: VAL $-M4*NOCMO+XWOR%1 LOM4:: VAL LKM4?MKLOM IF LBUFES*NOCMO-LKM4,,XEIF%,XEIF% IF ATTENTION : 'LOM4' NE PEUT ETRE EMIS SUR IF ATTENTION LE PERIPHERIQUE 'OUT' !!! XEIF%: VAL ENDIF < < MESSAGE DE 'DEBUG ERROR' : < M40: BYTE KCR;KLF <******************************************************************************* ASCI "!!DEBUG ERROR" XWOR%1: VAL '000000000@@=FCSIGN-SIGNP <******************************************************************************* LKM40:: VAL $-M40*NOCMO+XWOR%1 LOM40:: VAL LKM40?MKLOM IF LBUFES*NOCMO-LKM40,,XEIF%,XEIF% IF ATTENTION : 'LOM40' NE PEUT ETRE EMIS SUR IF ATTENTION LE PERIPHERIQUE 'OUT' !!! XEIF%: VAL ENDIF < < MESSAGE DE 'LOGIN ERROR' : < M41: BYTE KCR;KLF <******************************************************************************* ASCI "!!LOGIN ERROR" XWOR%1: VAL '000000000@@=FCSIGN-SIGNP <******************************************************************************* LKM41:: VAL $-M41*NOCMO+XWOR%1 LOM41:: VAL LKM41?MKLOM IF LBUFES*NOCMO-LKM41,,XEIF%,XEIF% IF ATTENTION : 'LOM41' NE PEUT ETRE EMIS SUR IF ATTENTION LE PERIPHERIQUE 'OUT' !!! XEIF%: VAL ENDIF < < MESSAGE DE 'TRONCATION' : < M8: BYTE KLF;KINF <******************************************************************************* ASCI "TRONCATION>" XWOR%1: VAL '000000000@@=FCSIGN-SIGNP <******************************************************************************* LKM8:: VAL $-M8*NOCMO+XWOR%1 LOM8:: VAL LKM8?MKLOM IF LBUFES*NOCMO-LKM8,,XEIF%,XEIF% IF ATTENTION : 'LOM8' NE PEUT ETRE EMIS SUR IF ATTENTION LE PERIPHERIQUE 'OUT' !!! XEIF%: VAL ENDIF < < MESSAGE DE 'TRAPPE' : < M9: BYTE KCR;KLF <******************************************************************************* ASCI "!!TRAP" XWOR%1: VAL '000000000@@=FCSIGN-SIGNP <******************************************************************************* LKM9:: VAL $-M9*NOCMO+XWOR%1 LOM9:: VAL LKM9?MKLOM IF LBUFES*NOCMO-LKM9,,XEIF%,XEIF% IF ATTENTION : 'LOM9' NE PEUT ETRE EMIS SUR IF ATTENTION LE PERIPHERIQUE 'OUT' !!! XEIF%: VAL ENDIF < < MESSAGE DE 'HELP' : < M10: BYTE K6D;KT ASCI "APER :" BYTE K6D;KCCI ASCI "GE<EOM" BYTE KSUP;K6D ASCI "PUIS :" <******************************************************************************* BYTE K6D;KPI;KPI;K6D XWOR%1: VAL '000000000@@=FCSIGN-SIGNP <******************************************************************************* LKM10:: VAL $-M10*NOCMO+XWOR%1 LOM10:: VAL LKM10?MKLOM IF LBUFES*NOCMO-LKM10,,XEIF%,XEIF% IF ATTENTION : 'LOM10' NE PEUT ETRE EMIS SUR IF ATTENTION LE PERIPHERIQUE 'OUT' !!! XEIF%: VAL ENDIF < < MESSAGE DE 'MAIL' GENERAL : < LMAIL:: VAL LCCINT < NBRE DE CARACTERES MAX DU < MAIL AUX UTILISATEURS. IF LCCINT-XLPVI-LMAIL,XEIF%,XEIF%, IF ATTENTION : LA LONGUEUR DU BUFFER DE 'MAIL' IF EST INSUFFISANTE !!! XEIF%: VAL ENDIF CPMAIM: EQU $ <******************************************************************************* CPI LMAIL < POUR VALIDER LA LONGUEUR DU 'MAIL'... XWOR%1: VAL '0000000@@@@ < RECUPERATION DU CODE GENERE... <******************************************************************************* CPMAIL: EQU ZERO+XWOR%1 < GENERATION D'UNE INSTRUCTION EN AVANT... $EQU CPMAIM < ET ANNULATION DU CODE GENERE... IF LBUFES*NOCMO-LMAIL,,XEIF%,XEIF% IF ATTENTION : 'LMAIL' NE PEUT ETRE EMIS SUR UN LE IF PERIPHERIQUE 'OUT' !!! XEIF%: VAL ENDIF MAIL: DZS LMAIL/NOCMO < MESSAGE ENVOYE A CAHQUE < ESCLAVE SYSTEMATIQUEMENT AVANT < CHAQUE INTERROGATION CCI. < < MESSAGE DE 'DEBUG ABSOLU' : < MDABS: ASCI " ABSOLU!" <******************************************************************************* DO 8 BYTE KBEL;KBEL < CLOCHE... XWOR%1: VAL '000000000@@=FCSIGN-SIGNP <******************************************************************************* LKABS:: VAL $-MDABS*NOCMO+XWOR%1 LOABS:: VAL LKABS?MKLOM IF LBUFES*NOCMO-LKABS,,XEIF%,XEIF% IF ATTENTION : 'LKABS' NE PEUT ETRE EMIS SUR IF ATTENTION LE PERIPHERIQUE 'OUT' !!! XEIF%: VAL ENDIF < < MESSAGE DE 'MASTER MODE' : < M60: BYTE KCR;KLF <******************************************************************************* ASCI "!!RETURN TO MASTER MODE ('S' & 'P')" XWOR%1: VAL '000000000@@=FCSIGN-SIGNP <******************************************************************************* LKM60:: VAL $-M60*NOCMO+XWOR%1 LOM60:: VAL LKM60?MKLOM IF LBUFES*NOCMO-LKM60,,XEIF%,XEIF% IF ATTENTION : 'LOM60' NE PEUT ETRE EMIS SUR IF ATTENTION LE PERIPHERIQUE 'OUT' !!! XEIF%: VAL ENDIF PAGE < < < C O D E S D ' E R R E U R S D U ' C C I ' : < < < NOTA : < CES CODES D'ERREURS SONT EDITES < SUR LE TERMINAL ET MIS DANS LA 'BOX' DE < L'UTILISATEUR EN MODE NON INTERPRE- < TATIF ; EN MODE INTERPRETATIF, SEULE < LA 'BOX' EST POSITIONNEE... < < <******************************************************************************* XERMIN:: VAL K < INITIALISATION... XER001:: VAL '00@@@+I?MCCIER < MANQUE LE CARACTERE "!" EN TETE DE < LA COMMANDE, OU BIEN LE <SPACE> DE LA < COMMANDE RAPIDE EQUIVALENTE A "!GO". XER002:: VAL '00@@@+I?MCCIER < COMMANDE "!BYE" MAL ORTHOGRAPHIEE. XER003:: VAL '00@@@+I?MCCIER < COMMANDE "!BYE" REFUSEE LORSQU'IL < Y A DES ASSIGNATIONS ACTIVES. XER004:: VAL '00@@@+I?MCCIER < SEUL ":SYS" PERMET UN CHANGEMENT < DE NUMERO DE COMPTE DYNAMIQUE. XER005:: VAL '00@@@+I?MCCIER < L'<ACN> DEMANDE EST INEXISTANT. XER006:: VAL '00@@@+I?MCCIER < SEUL ":SYS" PEUT CREER OU DETRUIRE < DES <ACN>S. XER007:: VAL '00@@@+I?MCCIER < MOT DE PASSE NON RECONNU LORS DE LA < CREATION OU LA DESTRUCTION D'UN <ACN>. XER008:: VAL '00@@@+I?MCCIER < LES OPERATIONS SUR <ACN> SONT INTERDITES < PAR LE SYSTEME (CF. 'MEMV'). XER009:: VAL '00@@@+I?MCCIER < L'OPERATION DEMANDEE NE PEUT ETRE < REALISEE (DESTRUCTION, ALORS QU'IL Y A < DES NOMS DANS LE CATALOGUE DE CET <ACN>, < PAR EXEMPLE...). XER00A:: VAL '00@@@+I?MCCIER < COMMANDE "!F<EOM>" TROP LONGUE... XER00B:: VAL '00@@@+I?MCCIER < LA COMMANDE "!P" EST RESERVEE A ":SYS". XER00C:: VAL '00@@@+I?MCCIER < LA COMMANDE "!Z" EST RESERVEE A ":SYS". XER00D:: VAL '00@@@+I?MCCIER < LA COMMANDE "!Z" EST TROP LONGUE... XER00E:: VAL '00@@@+I?MCCIER < LE NOUVEAU MOT DE PASSE EST INCORRECT. XER00F:: VAL '00@@@+I?MCCIER < COMMANDE "!V..." INCONNUE. XER010:: VAL '00@@@+I?MCCIER < LA COMMANDE "!VI" EST RESERVEE A ":SYS". XER011:: VAL '00@@@+I?MCCIER < LA VISU DEMANDEE N'EXISTE PAS : SON < NUMERO EST "ALPHABETIQUE", OU BIEN LA < COMMANDE "!VI <MESSAGE><EOM>" N'EST < PAS RECONNU (ABSENCE DE <SPACE> DERRIERE < "!VI"...). XER012:: VAL '00@@@+I?MCCIER < LA COMMANDE "!VI" NE PEUT ETRE < EXECUTEE (PAS D'UTILISATEUR LOGUE < SUR LA VISU RECEPTRICE, OU BIEN SON < NUMERO "NUMERIQUE" N'EXISTE PAS,...). XER013:: VAL '00@@@+I?MCCIER < LA COMMANDE DES COMMANDES "!M" EST < INTERDITE EN BATCH. XER014:: VAL '00@@@+I?MCCIER < LES ARGUMENTS DE "!M" SONT MAUVAIS < (CARACTERE A BIT DE PARITE PAR < EXEMPLE,...). XER015:: VAL '00@@@+I?MCCIER < LA COMMANDE "!W" EST INTERDITE EN < MODE INTERPRETATIF (FONCTION 1 DES 'SVC') XER016:: VAL '00@@@+I?MCCIER < LA COMMANDE "!W" EST INTERDITE EN BATCH. XER017:: VAL '00@@@+I?MCCIER < LA COMMANDE "!U" EST RESERVEE A ":SYS", < A ":JFC" ET A ":SIM". XER018:: VAL '00@@@+I?MCCIER < LA COMMANDE "!U" EST INTERDITE EN < MODE INTERPRETATIF. XER019:: VAL '00@@@+I?MCCIER < LA COMMANDE "!U" EST INTERDITE < EN BATCH. XER01A:: VAL '00@@@+I?MCCIER < LA COMMANDE "!U" EST TROP LONGUE. XER01B:: VAL '00@@@+I?MCCIER < LA PILE D'EMPILEMENT DES UTILISATEURS < PAR "!U" EST SATUREE. XER01C:: VAL '00@@@+I?MCCIER < CARACTERE NON RECONNU DERRIERE "!QXYZT" XER01D:: VAL '00@@@+I?MCCIER < QUELQU'UN POSSEDE DEJA TOUT OU PARTIE < DES GROUPES DE CYLINDRES DEMANDES. XER01E:: VAL '00@@@+I?MCCIER < COMMANDE "!DATE" MAL ORTHOGRAPHIEE. XER01F:: VAL '00@@@+I?MCCIER < COMMANDE "!EDIT" MAL ORTHOGRAPHIEE. XER020:: VAL '00@@@+I?MCCIER < COMMANDE "!CALL" MAL ORTHOGRAPHIEE. XER021:: VAL '00@@@+I?MCCIER < COMMANDE "!GE" MAL ORTHOGRAPHIEE. XER022:: VAL '00@@@+I?MCCIER < COMMANDE "!ASSIGN" MAL ORTHOGRAPHIEE. XER023:: VAL '00@@@+I?MCCIER < MANQUE 'SPACE' DERRIERE "!ASSIGN" XER024:: VAL '00@@@+I?MCCIER < LE 'NVP' DEMANDE EST INEXISTANT. XER025:: VAL '00@@@+I?MCCIER < MANQUE "=" DERRIERE LE 'NVP'. XER026:: VAL '00@@@+I?MCCIER < COMMANDE "!ASSIGN" A UNE VISU MAL < ORTHOGRAPHIEE. XER027:: VAL '00@@@+I?MCCIER < "!ASSIGN" A UNE VISU EST RESERVEE < AU NUMERO DE COMPTE ":SYS". XER028:: VAL '00@@@+I?MCCIER < LA VISU DEMANDEE N'EXISTE PAS. XER029:: VAL '00@@@+I?MCCIER < LE PERIPHERIQUE DEMANDE N'EXISTE PAS. XER02A:: VAL '00@@@+I?MCCIER < LE 'NVP' DEMANDE EST DEJA ASSIGNE... XER02B:: VAL '00@@@+I?MCCIER < COMMANDE "!ASSIGN" AU DEROULEUR DE < BANDES MAL ORTHOGRAPHIEE. XER02C:: VAL '00@@@+I?MCCIER < LE DEROULEUR DE BANDES MAGNETIQUES < DEMANDE N'EXISTE PAS. XER02D:: VAL '00@@@+I?MCCIER < "!ASSIGN" A L'IMPRIMANTE MAL ORTHO- < GRAPHIEE. XER02E:: VAL '00@@@+I?MCCIER < L'IMPRIMANTE DEMANDEE N'EXISTE PAS. XER02F:: VAL '00@@@+I?MCCIER < SEUL ":SYS" PEUT S'ASSIGNER 'CR1'. XER030:: VAL '00@@@+I?MCCIER < LE LECTEUR DE CARTES DEMANDE < N'EXISTE PAS. XER031:: VAL '00@@@+I?MCCIER < "!ASSIGN" A UN COUPLEUR UNIVERSEL < MAL ORTHOGRAPHIEE. XER032:: VAL '00@@@+I?MCCIER < LE COUPLEUR UNIVERSEL DEMANDE < N'EXISTE PAS. XER033:: VAL '00@@@+I?MCCIER < "!ASSIGN" A 'DKU' MAL ORTHOGRAPHIEE. XER034:: VAL '00@@@+I?MCCIER < PERIPHERIQUE DEJA ASSIGNE OU 'NVP' < DEJA ASSIGNE. XER035:: VAL '00@@@+I?MCCIER < SEULS ":SYS" ET ":JFC" PEUVENT ASSIGNER < LE COUPLEUR 'CU3'. XER036:: VAL '00@@@+I?MCCIER < LE "!ASSIGN" A 'DKU' NE PEUT AVOIR < LIEU, CAR TOUT OU PARTIE DU 'DKU' A < ETE PROTEGE PAR UN OU PLUSIEURS AUTRES < UTILISATEURS. XER037:: VAL '00@@@+I?MCCIER < MANQUE LE SIGNE "-" DANS UNE COMMANDE < "!ASSIGN" DE DELETE D'UN FICHIER. XER038:: VAL '00@@@+I?MCCIER < MANQUE LA 'VIRGULE' DANS UN "!ASSIGN" < A UN FICHIER. XER039:: VAL '00@@@+I?MCCIER < LE FICHIER DEMANDE EN 'NEW' EXISTE < SUREMENT DEJA... XER03A:: VAL '00@@@+I?MCCIER < LE FICHIER DEMANDE EN 'OLD' N'EXISTE < SUREMENT PAS... XER03B:: VAL '00@@@+I?MCCIER < ??!?!??!??! XER03C:: VAL '00@@@+I?MCCIER < LA DESTRUCTION DU FICHIER DEMANDEE < NE PEUT AVOIR LIEU !!! XER03D:: VAL '00@@@+I?MCCIER < LA FERMETURE DU FICHIER EN MODE < SAVE S'EST MAL PASSEE !!! XER03E:: VAL '00@@@+I?MCCIER < "!SGN" IMPOSSIBLE ('NVP' DEJA ASSIGNES). XER03F:: VAL '00@@@+I?MCCIER < COMMANDE "!DKU" MAL ORTHOGRAPHIEE. XER040:: VAL '00@@@+I?MCCIER < MANQUE 'SPACE' DERRIERE "!DKU". XER041:: VAL '00@@@+I?MCCIER < UNE DEMANDE DE MONTAGE EST FAITE, ALORS < QU'IL Y A UN VOLUME DEJA MONTE. XER042:: VAL '00@@@+I?MCCIER < LA SYNTAXE DE "!DKU M" EST MAUVAISE. XER043:: VAL '00@@@+I?MCCIER < LE 'NVP' DEMANDE DANS "!DKU" N'EST PAS < ASSIGNE A 'DKU'. XER044:: VAL '00@@@+I?MCCIER < LA COMMANDE "!DKU M" EST TROP LONGUE. XER045:: VAL '00@@@+I?MCCIER < LE VOLUME MONTE N'EST PAS CELUI QUI < A ETE DEMANDE (DIFFRENCES D'<ACN>, VOLUME < NON FORMATTE,...). XER046:: VAL '00@@@+I?MCCIER < LA SYNTAXE DE "!DKU D" EST MAUVAISE. XER047:: VAL '00@@@+I?MCCIER < UN DEMONTAGE EST DEMANDE, ALORS QU'IL < N'Y A PAS DE VOLUME MONTE. XER048:: VAL '00@@@+I?MCCIER < LA COMMANDE "!DKU" EST TROP LONGUE. XER049:: VAL '00@@@+I?MCCIER < UNE DEMANDE D'INITIALISATION EST < FAITE, ALORS QU'IL Y A DEJA UN < VOLUME MONTE. XER04A:: VAL '00@@@+I?MCCIER < LA SYNTAXE DE "!DKU INITIALISATION" < EST MAUVAISE. XER04B:: VAL '00@@@+I?MCCIER < LA COMMANDE "!DKU INITIALISATION" < EST TROP LONGUE. XER04C:: VAL '00@@@+I?MCCIER < L'INITIALISATION NE PEUT ETRE FAITE < ('DKU' ABSENT,...). XER04D:: VAL '00@@@+I?MCCIER < LA COMMANDE "!CLOSE" EST MAL ORTHO- < GRAPHIEE. XER04E:: VAL '00@@@+I?MCCIER < LA COMMANDE "!CDA" EST MAL ORTHOGRAPHIEE. XER04F:: VAL '00@@@+I?MCCIER < LA 'CDA' DEMANDEE N'EXISTE PAS. XER050:: VAL '00@@@+I?MCCIER < L'UTILISATEUR N'A PAS DE "CDAP"... XER051:: VAL '00@@@+I?MCCIER < SEULS ":SYS" ET ":SIM" ONT DROIT A < LA "CDAG". XER052:: VAL '00@@@+I?MCCIER < LA "CDAG" EST DEJA OCCUPEE. XER053:: VAL '00@@@+I?MCCIER < LA COMMANDE "!CM" EST MAL ORTHOGRAPHIEE. XER054:: VAL '00@@@+I?MCCIER < SEUL ":SYS" A DROIT A LA COMMANDE "!CM". XER055:: VAL '00@@@+I?MCCIER < LE PERIPHERIQUE EMETTEUR (CELUI QUE < QUE L'ON ESPIONNE) N'EXISTE PAS. XER056:: VAL '00@@@+I?MCCIER < LA FONCTION DEMANDEE DANS "!CM" < N'EXISTE PAS. XER057:: VAL '00@@@+I?MCCIER < LE PERIPHERIQUE RECEPTEUR (CELUI QUI < ESPIONNE) N'EXISTE PAS. XER058:: VAL '00@@@+I?MCCIER < LA FONCTION DEMANDEE NE PEUT ETRE < EXECUTEE (PARCEQUE DEJA FAITE...). XER059:: VAL '00@@@+I?MCCIER < LA COMMANDE "!SYMBOL" EST MAL ORTHO- < GRAPHIEE. XER05A:: VAL '00@@@+I?MCCIER < "!SYMBOL" TROP LONGUE. XER05B:: VAL '00@@@+I?MCCIER < COMMANDE "!LOAD" MAL ORTHOGRAPHIEE. XER05C:: VAL '00@@@+I?MCCIER < "!LOAD" TROP LONGUE. XER05D:: VAL '00@@@+I?MCCIER < MANQUE 'SPACE' DERRIERE "!X". XER05E:: VAL '00@@@+I?MCCIER < LA COMMANDE "!X" EST RESERVEE A ":SYS". XER05F:: VAL '00@@@+I?MCCIER < LE 'NVP' DEMANDE PAR "!X" N'EST PAS < ASSIGNE. XER060:: VAL '00@@@+I?MCCIER < LA COMMANDE "!X" EST TROP LONGUE. XER061:: VAL '00@@@+I?MCCIER < LE PERIPHERIQUE ASSIGNE PAR LE 'NVP' < DE "!X" N'EST PAS UN PERIPHERIQUE < DE TYPE 'IN' ('VIS', 'CR', 'MT',...) OU < BIEN ENFIN, LE NIVEAU DE SERVICE ASSO- < CIE TEMPORAIREMENT A CE PERIPHERIQUE < A DEJA UNE 'FSERV' DE POSITIONNEE QUI < N'ATTEND QUE LA FIN DE SERVICE COURANT < POUR S'EXECUTER... XER062:: VAL '00@@@+I?MCCIER < "!TAB" MAL ORTHOGRAPHIEE. XER063:: VAL '00@@@+I?MCCIER < LA COMMANDE "!TAB" EST INTERDITE < EN BATCH. XER064:: VAL '00@@@+I?MCCIER < LA DEFINITION DE LA TABULATION EST < MAUVAISE... XER065:: VAL '00@@@+I?MCCIER < "!HELP" MAL ORTHOGRAPHIEE. XER066:: VAL '00@@@+I?MCCIER < LA COMMANDE "!I" EST TROP LONGUE. XER067:: VAL '00@@@+I?MCCIER < LA COMMANDE "!DF" EST TROP LONGUE. XER068:: VAL '00@@@+I?MCCIER < LE PREMIER CARACTERE SUIVANT "!" < N'EST PAS RECONNU. XER069:: VAL '00@@@+I?MCCIER < "!DEBUG" MAL ORTHOGRAPHIEE. XER06A:: VAL '00@@@+I?MCCIER < SEUL ":SYS" A ACCES AU DEBUG ABSOLU. XER06B:: VAL '00@@@+I?MCCIER < SEUL ":SYS" A ACCES AU DEBUG TRANS- < LATABLE EN MODE INTERPRETATIF. XER06C:: VAL '00@@@+I?MCCIER < LE DEBUG ABSOLU DOIT ETRE VALIDE PAR < LE MOT 'MEMV'... XER06D:: VAL '00@@@+I?MCCIER < LE DEBUG EST INTERDIT EN BATCH < SAUF SOUS ":SYS". XER06E:: VAL '00@@@+I?MCCIER < COMMANDE "!SGN" MAL ORTHOGRAPHIEE. XER06F:: VAL '00@@@+I?MCCIER < LA COMMANDE "!N" EST INTERDITE EN BATCH. XER070:: VAL '00@@@+I?MCCIER < LA COMMANDE "!N" EST TROP LONGUE, < DE MEME POUR LES COMMANDES D'ASSIGNATIONS < IMPLICITES ("!BO", "!LO", "!SI","!SO" ET < CE QUI SIGNIFIE EN FAIT QUE MANQUE < L'<EOM> DE FIN... XER071:: VAL '00@@@+I?MCCIER < LA COMMANDE PRE-PROGRAMMEE DEMANDEE < N'EXISTE PAS... XER072:: VAL '00@@@+I?MCCIER < MANQUE <EOM> DERRIERE "!DKU F". XER073:: VAL '00@@@+I?MCCIER < LA COMMANDE "!DKU S<EOM>" EST INCORRECTE. XER074:: VAL '00@@@+I?MCCIER < MANQUE 'SPACE' OU 'C' DANS "!SGN C O...". XER075:: VAL '00@@@+I?MCCIER < FONCTION NON RECONNUE DERRIERE "!SGN C". XER076:: VAL '00@@@+I?MCCIER < MANQUE <EOM> DERRIERE "!SGN C ON". XER077:: VAL '00@@@+I?MCCIER < MANQUE <EOM> DERRIERE "!SGN C OFF". XER078:: VAL '00@@@+I?MCCIER < "!SGN C OFF" EST RESERVEE A ":SYS"... XER079:: VAL '00@@@+I?MCCIER < "!SGN C OFF" N'EST ACTIVABLE QUE SI < 'MEMXXX' EST POSITIONNE... XER07A:: VAL '00@@@+I?MCCIER < LA COMMANDE "!R<EOM>" EST INCORRECTE. XER07B:: VAL '00@@@+I?MCCIER < COMMANDE "!BATCH" INCORRECTE. XER07C:: VAL '00@@@+I?MCCIER < COMMANDES "!SO"/"!SI" INCORRECTE. XER07D:: VAL '00@@@+I?MCCIER < COMMANDES "!BATCH", "!BO", "!LO", "!BO", < "!SI" OU "!SO" INTERDITES EN BATCH. XER07E:: VAL '00@@@+I?MCCIER < FOTTE D'HORTAUGRAFE DANS "!ECHO"... XER07F:: VAL '00@@@+I?MCCIER < FONCTION INEXISTANTE DANS "!ECHO". XER080:: VAL '00@@@+I?MCCIER < "!ECHO" EST INTERDITE EN BATCH. XER081:: VAL '00@@@+I?MCCIER < MANQUE <EOM> A LA FIN DE "!ECHO". XER082:: VAL '00@@@+I?MCCIER < ON EST PRESENTEMENT SOUS ":SYS", ET UN < POINT DE NON RETOUR EST DEMANDE. XER083:: VAL '00@@@+I?MCCIER < UN POINT DE NON RETOUR EST DEMANDE ALORS < QUE LE LOGIN INITIAL N'ETAIT PAS SOUS < ":SYS", OU BIEN QU'UN POINT DE NON < RETOUR EST DEJA FRANCHI... XER084:: VAL '00@@@+I?MCCIER < LA COMMANDE RAPIDE <SPACE><EOM> EQUIVA- < LENTE A "!GO" EST MAL ECRITE... XER085:: VAL '00@@@+I?MCCIER < FONCTION NON RECONNUE DERRIERE UNE < COMMANDE "!DK S0". XER086:: VAL '00@@@+I?MCCIER < MANQUE UN 'SPACE' DERRIERE "!DK S0". XER087:: VAL '00@@@+I?MCCIER < FONCTION NON RECONNUE DERRIERE UNE < COMMANDE "!DK S0", ALORS QU'ON CROYAIT < QU'IL S'AGIRAIT DE "!DK S0 OFF"... XER088:: VAL '00@@@+I?MCCIER < MANQUE <EOM> DERRIERE "!DK S0 ON". XER089:: VAL '00@@@+I?MCCIER < MANQUE <EOM> DERRIERE "!DK S0 OFF". XER08A:: VAL '00@@@+I?MCCIER < ERREUR DANS "!R DANGER<CTRL-C>". XER08B:: VAL '00@@@+I?MCCIER < MANQUE <EOM> DERRIERE LA COMMANDE < "!R DANGER<CTRL-C>". XER08C:: VAL '00@@@+I?MCCIER < LA COMMANDE "!R DANGER<CTRL-C>" EST < INTERDITE POUR TOUT <ACN> DIFFERENT < DE ":SYS". XER08D:: VAL '00@@@+I?MCCIER < COMMANDE "!VIDEO" NON RECONNUE. XER08E:: VAL '00@@@+I?MCCIER < COMMANDE "!DK S0..." ALORS QUE L'UTI- < LISATEUR NE S'EST PAS ASSIGNE LE < DISQUE 'DKU'... XER08F:: VAL '00@@@+I?MCCIER < LA COMMANDE MAGIQUE EST INTERDITE EN < BATCH. XER090:: VAL '00@@@+I?MCCIER < LA COMMANDE MAGIQUE EST MAUVAISE... XER091:: VAL '00@@@+I?MCCIER < LA COMMANDE MAGIQUE N'EST AUTORISEE < QU'APRES UN LOGIN INITIAL SOUS ":SYS"... XER092:: VAL '00@@@+I?MCCIER < LA COMMANDE "!DK F" N'EST AUTORISEE < QUE SI UN "ASSIGN" A PERMIS L'APPRO- < PRIATION DU 'DKU'... XER093:: VAL '00@@@+I?MCCIER < DE MEME POUR "!DK F"... XER094:: VAL '00@@@+I?MCCIER < MANQUE 'SPACE' DANS "!TRACE O...". XER095:: VAL '00@@@+I?MCCIER < FONCTION NON RECONNUE DERRIERE "!TRACE ". XER096:: VAL '00@@@+I?MCCIER < MANQUE <EOM> DERRIERE "!TRACE ON". XER097:: VAL '00@@@+I?MCCIER < MANQUE <EOM> DERRIERE "!TRACE OFF". XER098:: VAL '00@@@+I?MCCIER < "!TRACE OFF" EST RESERVEE A ":SYS"... XER099:: VAL '00@@@+I?MCCIER < "!TRACE OFF" N'EST ACTIVABLE QUE SI < 'MEMXXX' EST POSITIONNE... XER09A:: VAL '00@@@+I?MCCIER < "!TRACE" NON RECONNUE... XER09B:: VAL '00@@@+I?MCCIER < TRANSLATION INCONNUE DERRIERE "!QXYZT+".. XER09C:: VAL '00@@@+I?MCCIER < MANQUE <EOM> DERRIERE "!QXYZT+D". XER09D:: VAL '00@@@+I?MCCIER < LA COMMANDE "!CDAJ+0" IMPLICITE ("!CDAJ") < N'EST PAS TERMINEE PAR UN <EOM>... XER09E:: VAL '00@@@+I?MCCIER < MANQUE <EOM> EN BOUT DE LA COMMANDE < "!CDAJ...". XER09F:: VAL '00@@@+I?MCCIER < LA 'CDAJ' EST DEJA OCCUPEE (PAR QUEL- < QU'UN D'AUTRE), OU BIEN LE NUMERO DE < PAGE EST MAUVAIS. XER0A0:: VAL '00@@@+I?MCCIER < UNE CARTE "!ASSIGN..." CONTIENT AU MOINS < UN CARACTERE 'NULL'... XER0A1:: VAL '00@@@+I?MCCIER < IL MANQUE UN <EOM> EN BOUT DE "!DK =...". XER0A2:: VAL '00@@@+I?MCCIER < LA COMMANDE "!DK =..." A ETE EMISE ALORS < QUE L'UTILISATEUR NE S'EST PAS ASSIGNE < LE DISQUE 'DKU'... XER0A3:: VAL '00@@@+I?MCCIER < LA COMMANDE "!CDAI=" N'EST PAS SUIVI DE < L'UN DES 2 CARACTERES RECONNUS ("I"/"J"). XER0A4:: VAL '00@@@+I?MCCIER < LA COMMANDE "!CDAP" EST RESERVEE AU < NUMERO DE COMPTE ":SYS"... XER0A5:: VAL '00@@@+I?MCCIER < "ACTIVITE" NON RECONNUE... XER0A6:: VAL '00@@@+I?MCCIER < "OFF" NON RECONNU... XER0A7:: VAL '00@@@+I?MCCIER < MANQUE <EOM> DERRIERE LA COMMANDE < "!ACTIVITE OFF". XER0A8:: VAL '00@@@+I?MCCIER < "ON" OU "OFF" NON RECONNU... XER0A9:: VAL '00@@@+I?MCCIER < MANQUE <EOM> DERRIERE LA COMMANDE < "!ACTIVITE ON". XER0AA:: VAL '00@@@+I?MCCIER < LA COMMANDE "!ACTIVITE ON" EST INTER- < DITE HORS DE ":SYS"... XER0AB:: VAL '00@@@+I?MCCIER < LA COMMANDE "!ACTIVITE ON" A ETE DEMANDEE < ALORS QUE LES FONCTIONS DANGEREUSES < SONT INTERDITES, OU ALORS QUE LE 'CBMJ' < (TELEVISION MOYENNE DEFINITION) EST < INACCESSIBLE... XER0AC:: VAL '00@@@+I?MCCIER < MANQUE <EOM> DERRIERE LA COMMANDE < "!ACTIVITE H". XER0AD:: VAL '00@@@+I?MCCIER < LES COMMANDES "!ACTIVITE R/V/B/H" SONT < RESERVEES A ":SYS"... XER0AE:: VAL '00@@@+I?MCCIER < "H", "R", "V", "M" OU "B" NON RECONNUES.. XER0AF:: VAL '00@@@+I?MCCIER < MANQUE <EOM> DERRIERE LA COMMANDE < "!ACTIVITE B<CHAINE HEXA-DECIMALE". XER0B0:: VAL '00@@@+I?MCCIER < MANQUE <EOM> DERRIERE LA COMMANDE < "!ACTIVITE V<CHAINE HEXA-DECIMALE>". XER0B1:: VAL '00@@@+I?MCCIER < MANQUE <EOM> DERRIERE LA COMMANDE < "!ACTIVITE R<CHAINE HEXA-DECIMALE>. XER0B2:: VAL '00@@@+I?MCCIER < LA COMMANDE "!ACTIVITE R/V/B/H" < A ETE DEMANDEE ALORS QUE SOIT LES < FONCTIONS DANGEREUSES SONT INTERDITES < SOIT QUE LA TELEVISION NUMERIQUE < BASSE DEFINITION EST ABSENTE... XER0B3:: VAL '00@@@+I?MCCIER < LA COMMANDE "!GO" N'EST PAS SUIVIE < D'UN LIMITEUR CORRECT... XER0B4:: VAL '00@@@+I?MCCIER < LA COMMANDE "!P" N'EST PAS SUIVIE D'UN < LIMITEUR... XER0B5:: VAL '00@@@+I?MCCIER < MANQUE <EOM> DERRIERE "!ACTIVITE M...". XER0B6:: VAL '00@@@+I?MCCIER < LA COMMANDE "!ACTIVITE M..." EST REFUSEE < CAR LES FONCTIONS DANGEREUSES SONT < INTERDITES... < < CODE D'ERREUR INEXISTANT : < XERMAX:: VAL '00@@@+I < PREMIER CODE INEXISTANT... <******************************************************************************* < < INSTRUCTIONS REFERENCEES EN AVANT : < (PAR 'DISPER') < CCINSF: EQU $ <******************************************************************************* CPI XERMIN < VALIDATION INFERIEURE DU CODE-ERREUR... XWOR%1: VAL '0000000@@@@ < RECUPERATION DU CODE DE L'INSTRUCTION, <******************************************************************************* CPIMIN: EQU ZERO+XWOR%1 < ET DEFINITION EN AVANT... <******************************************************************************* CPI XERMAX < VALIDATION SUPERIEURE DU CODE-ERREUR... XWOR%1: VAL '0000000@@@@ < RECUPERATION DU CODE DE L'INSTRUCTION, <******************************************************************************* CPIMAX: EQU ZERO+XWOR%1 < ET DEFINITION EN AVANT... $EQU CCINSF < ET ANNULATION DU CODE GENERE... PAGE < < < T R A P P E : < < N440: BYTE LOM9;FCCI0 WORD M9 < MESSAGE <TRAPPE>. BYTE K;FCCI15 < GO BACK VERS LA GRAMMAIRE < INTERROMPUE ET RESTAURE LE < REGISTRE Y (CF. LE CAS DU < DEBUG ; L'APPEL DE LA SOUS- < GRAMMAIRE A ETE FAIT PAR LE < RECOVERY. PAGE < < < R A C I N E D E L A G R A M M A I R E D U C C I : < < OTOCCI: EQU $ N0: EQU $ XWOR%1: VAL N440-N0 ARTRAP: EQU ZERO+XWOR%1 < REFERENCE UTILISEE PAR 'TH0' LORS < DES TRAPPES UTILISATEUR... BYTE LOM1;FCCI0 < MESSAGE '!!UCPRS-CMS5 IS UP', < ET SAUT DE PAGE DANS LE CAS < DU BATCH (LP1). WORD M1 BYTE LODATE;FCCI0 < ENVOI DE LA DATE ET HEURE. WORD DATE N12: BYTE XEECHO;FCCI6 < 1ERE INTERROGATION. BYTE KCCI;FCCI17 WORD N268 < ERREUR. PAGE < < < I N H I B I T I O N D E C E R T A I N S < A C N > : < < XKSECE:: VAL KSP < TOUT <ACN> COMMENCANT PAR LE CARACTERE < 'XKSECE' NE PEUT ETRE UTILISE POUR < UN LOGIN DIRECT ; IL NE PEUT ETRE < ACCEDE QUE SI UN LOGIN INITIAL SOUS < ":SYS" A ETE EFFECTUE, PUIS PAR UN CHAN- < GEMENT D'<ACN> PAR "!L...". < < < L O G I N : < < BYTE KL;FCCI17 WORD N79 < TENTATIVE DE 'PETIT-BYE' ??? BYTE KO;FCCI17 WORD N73 < ESSAI DE COMMANDE ABREGEE 'L'. BYTE KG;FCCI17 WORD N268 < ERREUR. BYTE KI;FCCI17 WORD N268 < ERREUR. BYTE KN;FCCI17 WORD N268 < ERREUR. N73: BYTE KSP;FCCI17 WORD N268 < ERREUR. BYTE XKSECE;FCCI5 < EST-CE UN <ACN> INACCESSIBLE DIRECTE- < MENT (SANS PASSER PAR ":SYS") ??? WORD N268 < OUI, ON REFUSE CE LOGIN... BYTE K;FCCI1 WORD LOGOLD N80: BYTE K;FCCI1 WORD ACNON < VERIFICATION NUMERO DE COMPTE. WORD N5 < ACN RECONNU, LET'S GO ! WORD N268 < ACN NON RECONNU, TRY AGAIN !!! PAGE < < < N O Y A U D ' I N T E R R O G A T I O N D U C C I : < < N5: BYTE K;FCCI2 N550: BYTE K;FCCI1 WORD CCIXE < RAZ A PRIORI DU REGISTRE < X DE L'ESCLAVE. BYTE K;FCCI11 < TEST DU MODE INTERACTIF. WORD N412 < CCI INTERACTIF : INTERROGATION. BYTE K;FCCI1 < CAS DU CCI EN MODE INTERACTIF. WORD INIBES < INITIALISATION DE L'ANALYSE < SYNTAXIQUE DU CCI. WORD N415 < VERS L'ANALYSE SYNTAXIQUE. N412: EQU $ AMAIL: BYTE K;FCCI0 < MESSAGE DE COURRIER AUX ESCLAVES < VIDE EN GENERAL. WORD MAIL BYTE XEECHO;FCCI6 < BOUCLE D'INTERROGATION GENERALE. < < < A N A L Y S E D U C C I : < < N415: BYTE KCCI;FCCI5 WORD N331 < ON A TROUVE LE "!" QUI DOIT PRECEDER < TOUT MESSAGE AU 'CCI'... BYTE KSP;FCCI17 < NON, PAS DE "!", ALORS, NE SERAIT-CE < PAS LA COMMANDE RAPIDE "!GO"... WORD XER001 < NON, NI "!", ERREUR... BYTE K;FCCI10 < EST-ELLE COMPLETEE PAR UN <EOM> ??? WORD N85 < OUI, ON LA TRAITE COMME "!GO"... WORD XER084 < NON, ERREUR... < < < R E C O N N A I S S A N C E D I R E C T E D U < 1 E R C A R A C T E R E D E L A < C O M M A N D E : < < N331: BYTE K;FCCI18 < ACCES A 1ER CARACTERE DU < BUFESC, ET TENTATIVE DE < RECONNAISSANCE DIRECTE. WORD N860 < LE 1ER CARACTERE EST SOIT HORS < DE L'INTERVALLE 'A'-'Z', SOIT < NON RECONNU. WORD N88 < A WORD N70 < B WORD N141 < C WORD N441 < D WORD N50 < E WORD N900 < F WORD N84 < G WORD N601 < H WORD N704 < I WORD NIL < J WORD N5 < K : C O M M E N T A I R E... WORD N307 < L WORD N10010 < M WORD N41000 < N WORD NIL < O WORD N320 < P WORD N30000 < Q WORD N44000 < R WORD N135 < S WORD N424 < T WORD N20000 < U WORD N41 < V WORD N45 < W WORD N401 < X WORD NIL < Y WORD N10000 < Z PAGE < < < L O G O U T : < < N70: BYTE KY;FCCI17 WORD N45000 < PEUT-ETRE "!BO" OU "!BATCH" ??? BYTE KE;FCCI17 WORD XER002 BYTE K;FCCI11 < TEST DU MODE DU CCI. WORD N422 < OK : MODE INTERACTIF. WORD N417 < ERREUR : NON INTERACTIF. N422: BYTE K;FCCI1 WORD CHKASG < CHECK TASSGN VANT LE LOGOUT. WORD N9 WORD XER003 N9: BYTE LOM3;FCCI0 < MESSAGE. WORD M3 BYTE K;FCCI1 WORD PCDAIN < ON FAIT COMME SI "!CDA" AVAIT ETE < EMISE, AFIN D'ANNULER UNE EVENTUELLE < "!CDAG" ANTERIEURE, ET AINSI LIBERER < LA 'CDA-COMMUNE PRIVEE'... BYTE K;FCCI1 WORD P2DKU < ON SIMULE LA COMMANDE "!Q0000", BYTE NSPDKU;FCCI1 WORD P1DKU < AFIN DE LIBERER LES EVENTUELLES APPRO- < PRIATIONS DE GROUPES DE CYLINDRES... WORD N30002 < OK, LIBERES... BYTE K;FCCI1 WORD P3DKU < E R R E U R S Y S T E M E... N30002: EQU $ BYTE K;FCCI1 WORD AVWAIT < DECREMENTATION DE NUSERA, < REINITIALISATION DE L'HORLOGE, < ET DE LA PATTERN CYCLIQUE < DE SWAPPING OUT. WORD N850 < CE RELAI EST RENDU NECESSAIRE < PAR LA RESSEMBLANCE DU 1ER MOT < DU NOEUD SUIVANT AVEC UN < AUTO-RELAI... N850: EQU $ < ETIQUETTE OBLIGATOIRE (CF. CI-DESSUS...). BYTE LODATE;FCCI0 < ENVOI DE LA DATE ET DE L'HEURE. WORD DATE BYTE K;FCCI3 < LOG-OUT. PAGE < < < P O I N T D E N O N R E T O U R : < < N307A: BYTE K;FCCI10 < EST-CE "!L<EOM>" ??? WORD N307A8 < OUI, C'EST UN POINT DE NON RETOUR... WORD N307A9 < NON, PEUT-ETRE AUTRE CHOSE... N307A8: BYTE K;FCCI19 < DANS LE CAS D'UN POINT DE NON RETOUR, < EST-ON PRESENTEMENT SOUS ":SYS" ??? WORD XER082 < OUI, ON NE PEUT DONC SE BLOQUER EN NON < RETOUR SOUS UN AUTRE <ACN>... BYTE K;FCCI1 < NON, ON N'EST PLUS SOUS ":SYS", WORD PNRET < ON PEUT DONC SE BLOQUER SOUS UN AUTRE < <ACN> ET NE PLUS EN BOUGER !!! WORD N5 < OK... WORD XER083 < IMPOSSIBLE, LE LOGIN INITIAL N'ETAIT < PAS SOUS ":SYS", OU BIEN UN POINT DE < NON RETOUR ETAIT DEJA FRANCHI... < < < C H A N G E M E N T D ' < A C N > : < < N307A9: BYTE KSP;FCCI17 WORD N307A3 < PEUT-ETRE UN CHANGEMENT DE PRIORITE ??? BYTE K;FCCI1 WORD TESSYS < ETAIT-ON INITIALEMENT SOUS ":SYS" ??? WORD N307A2 < OUI, OK... WORD XER004 < NON, ERREUR... N307A2: BYTE K;FCCI1 WORD LOGOLD < PREPARATION D'UN LOGIN 'OLD'... BYTE K;FCCI1 WORD ACNON < QUE L'ON EFFECTUE... WORD N5 < OK, TOUT S'EST BIEN PASSE... WORD XER005 < NON, ERREUR <ACN> INEXISTANT... < < < C H A N G E M E N T D E P R I O R I T E : < < N307A3: BYTE KZERO;FCCI5 < EST-CE "!L0" ??? WORD N307A4 < OUI, PRIORITE NORMALE... BYTE KUN;FCCI17 < EST-CE "!L1" ??? WORD N307A7 < NON, INSERT/DELETE <ACN> ??? BYTE K;FCCI1 < OUI, PRIORITE INFERIEURE : WORD LPRIO1 < MISE DE IDESC6=1. WORD N260 < VERS LE TEST DE <EOM>... N307A4: BYTE K;FCCI1 < PRIORITE NORMALE : WORD LPRIO0 < MISE DE IDESC6=0. WORD N260 < VERS LE TEST DE <EOM>... < < < O P E R A T I O N S S U R A C N : < ( I N S E R T / D E L E T E ) < < N307A7: BYTE K;FCCI19 < EST-ON SOUS ":SYS" ??? WORD N307A5 < OK... WORD XER006 < NON, ERREUR... XWOR%1: VAL COSBT?BITPAR=FMASK(K=FCINST N307A5: BYTE KCG?XWOR%1;FCCI17 < "[" (12-8-2 EN PERFO MULTIPLES) ??? WORD XER007 < NON, PASSE NON RECONNU... BYTE K;FCCI1 WORD LOGNEW < PREPARATION INSERT/DELETE. WORD N307A6 < OK, INSERT/DELETE AUTORISE... WORD XER008 < ET NON, ERREUR... N307A6: BYTE K;FCCI1 WORD ACNON < INSERT/DELETE ACN. WORD N5 < INSERT/DELETE OK. WORD XER009 < OPERATION IMPOSSIBLE, OU < NON RECONNUE... PAGE < < < C L O S E & L O G O U T : < < N900: EQU $ BYTE K;FCCI10 < TEST DE L'<EOM> ??? WORD N950 < OUI, C'EST LA COMMANDE !F<EOM>. WORD XER00A < NON, ERREUR... N950: EQU $ BYTE K;FCCI11 < TEST DU MODE DU 'CCI' ??? WORD N830 < OK, 'CCI' INTERACTIF... WORD N417 < ERREUR : 'CCI' INTERPRETATIF !!! N830: BYTE K;FCCI1 WORD INVP2 < INITIALISATION DU NVP COURANT < SUR PHOUT LORS DE LA RECON- < NAISSANCE DE !F... < < BOUCLE DE DESASSIGNATION EN SAVE DE TASSGN : < N821: BYTE K;FCCI1 WORD NVPP1 WORD N822 < OK, LE NVP COURANT EXISTE, < ALLONS FAIRE UNE TENTATIVE DE < DESASSIGNATION EN SAVE. WORD N9 < LE NVP COURANT EST INEXISTANT, < LA DESASSIGNATION EST DONC < COMPLETE... < ALLONS FAIRE LE LOGOUT !!! N822: BYTE MCFS-CMCFSR;FCCI1 WORD CCICLF < TENTATIVE DE : < !ASSIGN <NVP>=S<EOM>. WORD N821 < QUELQUE SOIT LES CONDITIONS DE WORD N821 < RETOUR, ON PASSE AU NVP SUIVANT. PAGE < < < E R R E U R L O R S D E L ' A N A L Y S E : < < N10: BYTE K;FCCI11 < TEST DU MODE DU CCI. WORD N416 < MODE INTERACTIF : MESSAGE '??'. N417: BYTE ECES;FCCI1 < CAS DU MODE NON INTERACTIF. WORD CCIXE < RENVOI DE (X)=1 A L'ESCLAVE. WORD N5 N416: BYTE K;FCCI1 WORD DISPCA < EDITION PARTIELLE DE LA CARTE JUSQU'AU < CARACTERE EN ERREUR... BYTE LOM4;FCCI0 < MESSAGE D'ERREUR DE BASE DU CCI. WORD M4 BYTE K;FCCI1 WORD DISPER < EDITION DU CODE D'ERREUR CONTENU DANS < LA 'BOX' UTILISATEUR... WORD N5 < VERS L'INTERROGATION... PAGE < < < C O M M A N D E D E P L A N T A G E ( P A T C H ) : < < N320: BYTE K;FCCI19 WORD N15 < OK, C'EST :SYS. WORD XER00B < ERREUR : '!P...' REFUSE. N15: BYTE K;FCCI10 < Y-A-T'IL BIEN UN <EOM> ??? WORD N289 < OUI, OK... WORD XER0B4 < NON, ERREUR... N289: BYTE K;FCCI1 WORD IPATCH BYTE K;FCCI2 < SORTIE DU CCI, POUR RENTREE < IMMEDIATE AVEC L'ESPACE MEMOIRE < ESCLAVE BLOQUE EN MEMOIRE. BYTE K;FCCI1 WORD PATCH < ESPACE ESCLAVE RESIDENT... WORD N5 NLS PAGE < < < M O D I F I C A T I O N D U T O M E D E S S A P : < < N10000: BYTE K;FCCI19 < EST-CE BIEN ":SYS" ??? WORD N10001 < OUI, IL EST AUTORISE... WORD XER00C < NON, LA COMMANDE EST REFUSEE !!! N10001: BYTE K;FCCI1 WORD SVDBG < MISE DANS 'VALESC' DU CODE CHOISI... BYTE K;FCCI10 < L'<EOM> EST-IL BIEN LA ??? WORD N10002 < OUI... WORD XER00D < NON, ERREUR... N10002: BYTE K;FCCI1 WORD ZPASS < TEST PUIS MISE EN PLACE S'IL EST < VALIDE DU CODE CHOISI... WORD N5 < OK, VERS L'INTERROGATION GENERALE... WORD XER00E < NON, ERREUR... LST PAGE < < < I N H I B I T I O N D E S F O N C T I O N S < D A N G E R E U S E S : < < N44000: BYTE K;FCCI10 < TEST DE <EOM> ??? WORD N44001 < OK, PRESENT... WORD N44002 < ABSENT, C'EST PEUT-ETRE "!R DANGER" ??? < < INHIBITION DES FONCTIONS DANGEREUSES : < N44001: BYTE K;FCCI1 WORD PINHIB < ET ON INHIBE, QUELQUE SOIT LE MODE, < QUELQUE SOIT L'<ACN>,... WORD N5 < PUIS VERS L'INTERROGATION... < < AUTORISATION DES FONCTIONS DANGEREUSES : < N44002: BYTE KSP;FCCI17 WORD XER07A < ERREUR... BYTE KD;FCCI17 WORD XER08A < ERREUR... BYTE KA;FCCI17 WORD XER08A < ERREUR... BYTE KN;FCCI17 WORD XER08A < ERREUR... BYTE KG;FCCI17 WORD XER08A < ERREUR... BYTE KE;FCCI17 WORD XER08A < ERREUR... BYTE KR;FCCI17 WORD XER08A < ERREUR... BYTE K;FCCI12 < TEST DU MODE TEMPS PARTAGE ??? WORD N44005 < OUI, TEMPS PARTAGE, TEST 'ETX'... WORD N44006 < NON, BATCH, TEST DIRECT DE <EOM>... N44005: BYTE KETX;FCCI17 < <CTRL-C> ??? WORD XER08A < NON, ERREUR... N44006: BYTE K;FCCI10 < TEST DE <EOM> ??? WORD N44003 < OK, C'EST "!R DANGER<CTRL-C><EOM>"... WORD XER08B < NON, ERREUR... N44003: BYTE K;FCCI19 < OUI, MAIS EST-ON BIEN SOUS ":SYS"... WORD N44004 < OUI, OK... WORD XER08C < NON, COMMANDE REFUSEE... N44004: BYTE K;FCCI1 < OUI, WORD PDANGE < ON AUTORISE 'MEMXXX' !!! WORD N5 < ET ON VA VERS L'INTERROGATION... PAGE < < < C O M M A N D E V I S U A V I S U : < < N41X1: BYTE K;FCCI19 < !VI N'EST AUTORISE QUE SOUS :SYS... WORD N42 < OK, "SYS"... WORD XER010 < ERREUR, REFUSE !!! N42: BYTE CCITCH;FCCI4 < TYPE CHIFFRE ??? WORD N43 < OUI : C')ST LA COMMANDE < VISU A VISU. BYTE KSP;FCCI5 < EST-CE LE 'MAIL' ("!VI ") ??? WORD N41X2 < OUI... WORD XER011 < NON... N43: BYTE K;FCCI1 < DEMANDE DE DIALOGUE VISU A VISU. WORD VISAVI WORD N5 < RETOUR OK. WORD XER012 < RETOUR EN ERREUR. PAGE < < < M O D I F I C A T I O N D U ' M A I L ' : < < N41X2: BYTE K;FCCI1 WORD PMAIL < MISE EN PLACE DU NOUVEAU 'MAIL' (EVEN- < TUELLEMENT VIDE...), WORD N5 < ET RETOUR A L'INTERROGATION... PAGE < < < C O M M A N D E D E S C O M M A N D E S : < < N10010: BYTE K;FCCI12 < TEST DE L'INTERACTIVITE : WORD N10011 < OK, UTILISATEUR DU TEMPS PARTAGE... WORD XER013 < NON, ERREUR (UTILISATEUR BATCH). N10011: BYTE K;FCCI1 < GENERATION DU BUFFER D'ANTICIPATION < DE LA VISU : WORD STBAV WORD N5 < OK... WORD XER014 < ERREUR (EN GENERAL, INSERTION IMPOSSI- < BLE, OU BIT DE PARITE POSITIONNE...). PAGE < < < C O M M A N D E S P R E - P R O G R A M M E E S : < < N41000: BYTE K;FCCI12 < TEST DE L'INTERACTIVITE : WORD N41001 < OK, TEMPS PARTAGE... WORD XER06F < ERREUR, "!N" INTERDITE EN BATCH... N41001: BYTE K;FCCI1 WORD SVDBG < 'VALESC' RECOIT LE NUMERO DE COMMANDE < PREPROGRAMME SOUHAITEE, N45030: BYTE K;FCCI10 < TEST DE <EOM> ??? < ET POINT D'ENTREE POUR LES COMMANDES < IMPLICITES "!BO", "!LO", "!SI" ET "!SO". WORD N41002 < OK... WORD XER070 < MANQUE <EOM> DE FIN... N41002: BYTE K;FCCI1 WORD P1COM < VALIDATION DE LA COMMANDE DEMANDEE, ET < INITIALISATION DU PROCESSUS : WORD N41004 < OK, ELLE EXISTE... WORD XER071 < ET BIEN NON, ELLE N'EXISTE PAS... N41004: BYTE K;FCCI1 WORD STBAV < ET ON FAIT COMME SI ON AVAIT RECU DE < L'UTILISATEUR "!M<LIM><COM1>...", MAIS < PARTANT SUR "<LIM><COM1>...". WORD N41003 < OK, BIEN RECUE... BYTE K;FCCI1 < ERREUR, BIZARRE (PUISQUE CETTE COMMANDE < EST PRE-PROGRAMMEE). WORD P2COM < E R R E U R S Y S T E M E... N41003: BYTE K;FCCI1 WORD P3COM < ET ON RESTAURE LES CONDITIONS INITIALES, < ET EN PARTICULIER 'ABUFGR'... WORD N5 < ET ENFIN, INTERROGATION... PAGE < < < C O M M A N D E P R E - P R O G R A M M E E < D ' A P P E L D U D E B U G , D ' E D I T I O N < D E S R E G I S T R E S : < < KDEBUG:: VAL KD < PREMIER CARACTERE D'APPEL DU 'DEBUG'. LCOMP0: EQU $ BYTE KLIMS;KCCI;KDEBUG;KLIMS BYTE KRA;KLIMS BYTE KRB;KLIMS BYTE KRX;KLIMS BYTE KRY;KLIMS BYTE KRC;KLIMS BYTE KRL;KLIMS BYTE KRW;KLIMS BYTE KRK;KLIMS BYTE KRP;KLIMS BYTE KRSTAT;KLIMS BYTE KEOT;K IF $-LCOMP0*NOCMO-LCCINT,XEIF%,XEIF%, IF ATTENTION, COMMANDE PRE-PROGRAMMEE TROP LONGUE !!! XEIF%: VAL ENDIF < < < C O M M A N D E P R E - P R O G R A M M E E < D ' A P P E L D U D E B U G , D ' E D I T I O N < D E S R E G I S T R E S E T D E P R O C E E D : < < LCOMP1: EQU $ BYTE KLIMS;KCCI;KDEBUG;KLIMS BYTE KRA;KLIMS BYTE KRB;KLIMS BYTE KRX;KLIMS BYTE KRY;KLIMS BYTE KRC;KLIMS BYTE KRL;KLIMS BYTE KRW;KLIMS BYTE KRK;KLIMS BYTE KRP;KLIMS BYTE KRSTAT;KLIMS BYTE KCCI;KG;KO;KLIMS BYTE KEOT;K IF $-LCOMP1*NOCMO-LCCINT,XEIF%,XEIF%, IF ATTENTION, COMMANDE PRE-PROGRAMMEE TROP LONGUE !!! XEIF%: VAL ENDIF < < < C O M M A N D E P R E - P R O G R A M M E E < D ' A P P E L D U D E B U G S U I T E < A U N A B O R T , E T D E D I S P L A Y : < < LCOMP2: EQU $ BYTE KLIMS;KCCI;KDEBUG;KLIMS KTRAP:: VAL KRT < CARACTERE DE DISPLAY D'UN REGISTRE < D'AVANT UNE TRAPPE. BYTE KRA;KTRAP;KLIMS;KRB;KTRAP;KLIMS BYTE KRX;KTRAP;KLIMS;KRY;KTRAP;KLIMS BYTE KRC;KTRAP;KLIMS;KRL;KTRAP;KLIMS BYTE KRW;KTRAP;KLIMS;KRK;KTRAP;KLIMS BYTE KRP;KTRAP;KLIMS;KRSTAT;KTRAP;KLIMS BYTE KEOT;K IF $-LCOMP2*NOCMO-LCCINT,XEIF%,XEIF%, IF ATTENTION, COMMANDE PRE-PROGRAMMEE TROP LONGUE !!! XEIF%: VAL ENDIF < < < D U M P 8 M O T S : < < LCOMP3: EQU $ BYTE KLIMS;KCCI;KDEBUG;KLIMS BYTE KRAD;KLIMS BYTE KRMEM;KLIMS;KCRP;KRMEM;KLIMS;KCRP BYTE KRMEM;KLIMS;KCRP;KRMEM;KLIMS;KCRP BYTE KRMEM;KLIMS;KCRP;KRMEM;KLIMS;KCRP BYTE KRMEM;KLIMS;KCRP;KRMEM;KLIMS;KCRP BYTE KCCI;KDEBUG;KLIMS;KEOT IF $-LCOMP3*NOCMO-LCCINT,XEIF%,XEIF%, IF ATTENTION, COMMANDE PRE-PROGRAMMEE TROP LONGUE !!! XEIF%: VAL ENDIF < < < D U M P 1 6 M O T S : < < LCOMP4: EQU $ BYTE KLIMS;KCCI;KDEBUG;KLIMS BYTE KRAD;KLIMS BYTE KRMEM;KLIMS;KCRP;KRMEM;KLIMS;KCRP BYTE KRMEM;KLIMS;KCRP;KRMEM;KLIMS;KCRP BYTE KRMEM;KLIMS;KCRP;KRMEM;KLIMS;KCRP BYTE KRMEM;KLIMS;KCRP;KRMEM;KLIMS;KCRP BYTE KRMEM;KLIMS;KCRP;KRMEM;KLIMS;KCRP BYTE KRMEM;KLIMS;KCRP;KRMEM;KLIMS;KCRP BYTE KRMEM;KLIMS;KCRP;KRMEM;KLIMS;KCRP BYTE KRMEM;KLIMS;KCRP;KRMEM;KLIMS;KCRP BYTE KCCI;KDEBUG;KLIMS;KEOT IF $-LCOMP4*NOCMO-LCCINT,XEIF%,XEIF%, IF ATTENTION, COMMANDE PRE-PROGRAMMEE TROP LONGUE !!! XEIF%: VAL ENDIF < < < A S S I G N A T I O N S S T A N D A R D S : < < NVPBO:: VAL '03 < 'NVP' STANDARD DE SORTIE DU BINAIRE, NVPLO:: VAL '04 < 'NVP' STANDARD DE SORTIE DU LISTING, NVPSI:: VAL '0A < 'NVP' STANDARD D'ENTREE DU SOURCE, NVPSO:: VAL '0B < 'NVP' STANDARD DE SORTIE DU SOURCE. NVPDKU: VAL NVPDKU < 'NVP' STANDARD D'ACCES A 'DKU', NVPCU3: VAL NVPCU3 < 'NVP' STANDARD D'ACCES A 'CU3'. < < < S O R T I E D U B I N A I R E S U R F I C H I E R : < < LCOMP5: EQU $ BYTE KLIMS;KCCI;KA;KS;KS;KI;KG;KN BYTE KSP;NVPBO=FCBA(MOCD;KEGAL;KN;KVIR;KEOT IF $-LCOMP5*NOCMO-LCCINT,XEIF%,XEIF%, IF ATTENTION, COMMANDE PRE-PROGRAMMEE TROP LONGUE !!! XEIF%: VAL ENDIF < < < S O R T I E D U L I S T I N G S U R ' L P 1 ' : < < LCOMP6: EQU $ BYTE KLIMS;KCCI;KA;KS;KS;KI;KG;KN BYTE KSP;NVPLO=FCBA(MOCD;KEGAL;KL;KP;KUN;KLIMS;KEOT IF $-LCOMP6*NOCMO-LCCINT,XEIF%,XEIF%, IF ATTENTION, COMMANDE PRE-PROGRAMMEE TROP LONGUE !!! XEIF%: VAL ENDIF < < < E N T R E E S Y M B O L I Q U E S U R ' C R 1 ' : < < LCOMP7: EQU $ BYTE KLIMS;KCCI;KA;KS;KS;KI;KG;KN BYTE KSP;NVPSI=FCBA(MOCD;KEGAL;KC;KR;KUN;KLIMS;KEOT IF $-LCOMP7*NOCMO-LCCINT,XEIF%,XEIF%, IF ATTENTION, COMMANDE PRE-PROGRAMMEE TROP LONGUE !!! XEIF%: VAL ENDIF < < < S O R T I E S Y M B O L I Q U E S U R ' C U 1 ' : < < LCOMP8: EQU $ BYTE KLIMS;KCCI;KA;KS;KS;KI;KG;KN BYTE KSP;NVPSO=FCBA(MOCD;KEGAL;KC;KU;KUN;KLIMS;KEOT IF $-LCOMP8*NOCMO-LCCINT,XEIF%,XEIF%, IF ATTENTION, COMMANDE PRE-PROGRAMMEE TROP LONGUE !!! XEIF%: VAL ENDIF < < < L A N C E M E N T D U B A T C H : < < LCOMP9: EQU $ BYTE KLIMS;KCCI;KA;KS;KS;KI;KG;KN BYTE KSP;NVPSI=FCBA(MOCD;KEGAL;KC;KR;KUN BYTE KLIMS;KCCI;KX;KSP;NVPSI=FCBA(MOCD;KLIMS BYTE KCCI;KA;KS;KS;KI;KG;KN;KSP BYTE NVPSI=FCBA(MOCD;KEGAL;KS;KLIMS;KEOT IF $-LCOMP9*NOCMO-LCCINT,XEIF%,XEIF%, IF ATTENTION, COMMANDE PRE-PROGRAMMEE TROP LONGUE !!! XEIF%: VAL ENDIF < < < A P P R O P R I A T I O N D E L A T E L E V I S I O N < N U M E R I Q U E : < < LCOMPA: EQU $ BYTE KLIMS;KCCI;KA;KS;KS;KI;KG;KN BYTE KSP;NVPDKU=FCBA(MOCD;KEGAL;KS BYTE KLIMS;KCCI;KA;KS;KS;KI;KG;KN BYTE KSP;NVPDKU=FCBA(MOCD;KEGAL;KD;KK;KU BYTE KLIMS;KCCI;KA;KS;KS;KI;KG;KN BYTE KSP;NVPCU3=FCBA(MOCD;KEGAL;KS BYTE KLIMS;KCCI;KA;KS;KS;KI;KG;KN BYTE KSP;NVPCU3=FCBA(MOCD;KEGAL;KC;KU;KTROIS BYTE KLIMS;KCCI BLDKTV:: VAL NBITMO-B < GROUPE DE CYLINDRES DE 'DKU' UTILISE < DE PLUS POUR PROTEGER L'ACCES A LA < MEMOIRE 'MEMTV' ; CETTE PROTECTION SE < FERA DONC PAR UN "!Q0001", OU TOUT < AUTRE "!Q..." QUI INCLUE '0001... <******************************************************************************* XWOR%1: VAL COSBT?BLDKTV=FMASK(K=FCINST ASCI "Q@@@@+" <******************************************************************************* BYTE KLIMS;KEOT IF $-LCOMPA*NOCMO-LCCINT,XEIF%,XEIF%, IF ATTENTION, COMMANDE PRE-PROGRAMMEE TROP LONGUE !!! XEIF%: VAL ENDIF < < < L I S T E D E S C O M M A N D E S < P R E - P R O G R A M M M E E S : < < LCOMP: EQU $ < < VALIDATION SUPERIEURE : < ECOMP0: EQU $ <******************************************************************************* CPI ECOMP0-LCOMP < VALIDATION INFERIEURE ??? XWOR%1: VAL '0000000@@@@ <******************************************************************************* CPCOM0: EQU ZERO+XWOR%1 < POUR UNE REFERENCE EN AVANT... $EQU ECOMP0 < ANNULATION DU CODE GENERE... < < LISTE DES RELAIS INDEXES : < WORD LCOMP0,X < APPEL DU DEBUG, WORD LCOMP1,X < APPEL DU DEBUG ET PROCEED, WORD LCOMP2,X < APPEL DU DEBUG SUITE A UN ABORT. WORD LCOMP3,X < DUMP 8 MOTS A PARTIR DE "@" COURANT, WORD LCOMP4,X < DE MEME, DUMP 16 MOTS. WORD LCOMP5,X < "!ASSIGN 3=N," XXNBO:: VAL $-D-LCOMP < NUMERO DE "!N" CORRESPONDANTE. WORD LCOMP6,X < "!ASSIGN 4=LP1" XXNLO:: VAL $-D-LCOMP < NUMERO DE "!N" CORRESPONDANTE. WORD LCOMP7,X < "!ASSIGN A=CR1" XXNSI:: VAL $-D-LCOMP < NUMERO DE "!N" CORRESPONDANTE. WORD LCOMP8,X < "!ASSIGN B=CU1" XXNSO:: VAL $-D-LCOMP < NUMERO DE "!N" CORRESPONDANTE. WORD LCOMP9,X < "!ASSIGN A=CR1" ET "!X A" XXBATC:: VAL $-D-LCOMP < NUMERO DE "!N" CORRESPONDANTE. WORD LCOMPA,X < "!ASSIGN A=DKU" ET "!ASSIGN B=CU3" XXVIDE:: VAL $-D-LCOMP < NUMERO DE "!N" CORRESPONDANTE. < < VALIDATION INFERIEURE : < ECOMPN: EQU $ <******************************************************************************* CPI ECOMPN-LCOMP < VALIDATION SUPERIEURE ??? XWOR%1: VAL '0000000@@@@ <******************************************************************************* CPCOMN: EQU ZERO+XWOR%1 < POUR UNE REFERENCE EN AVANT... $EQU ECOMPN < ANNULATION DU CODE GENERE. < < < A S S I G N A T I O N S S T A N D A R D S : < < N45000: BYTE KO;FCCI17 WORD N45040 < PEUT-ETRE "!BATCH" ??? BYTE XXNBO;FCCI1 WORD P4COM < SIMULATION D'UNE COMMANDE "!N"... WORD N45050 < VERS LA REALISATION DE "!ASSIGN 3=N,". N45040: BYTE KA;FCCI17 WORD XER07B < ERREUR... BYTE KT;FCCI17 WORD XER07B < ERREUR... BYTE KC;FCCI17 WORD XER07B < ERREUR... BYTE KH;FCCI17 WORD XER07B < ERREUR... BYTE XXBATC;FCCI1 WORD P4COM < SIMULATION D'UNE COMMANDE "!N"... WORD N45050 < VERS LA REALISATION DE "!ASSIGN A=CR1" < ET LE LANCEMENT PAR "!X A"... N45010: BYTE XXNLO;FCCI1 WORD P4COM < SIMULATION D'UNE COMMANDE "!N"... WORD N45050 < VERS LA REALISATION DE "!ASSIGN 4=LP1". N45020: BYTE KI;FCCI17 WORD N45021 < PEUT-ETRE "!SO" ??? BYTE XXNSI;FCCI1 WORD P4COM < SIMULATION D'UNE COMMANDE "!N"... WORD N45050 < VERS LA REALISATION DE "!ASSIGN A=CR1". N45021: BYTE KO;FCCI17 WORD XER07C < ERREUR... BYTE XXNSO;FCCI1 WORD P4COM < SIMULATION D'UNE COMMANDE "!N"... N45050: BYTE K;FCCI12 < AVANT DE SIMULER LA COMMANDE, VERIFIONS < QU'ON N'EST PAS EN BATCH... WORD N45030 < VERS LA REALISATION DE "!ASSIGN B=CU1". WORD XER07D < ERREUR, CES COMMANDES D'ASSIGNATIONS < STANDARD SONT INTERDITES EN BATCH, CAR < RAPPELONS QUE LE BUFFER D'ANTICIPATION < N'EXISTE QUE SUR LES VISUS... < < < A P P R O P R I A T I O N D E L A T E L E V I S I O N < N U M E R I Q U E : < < N41: BYTE KI;FCCI17 WORD XER00F < COMMANDE "!V" NON RECONNUE... BYTE KD;FCCI17 WORD N41X1 < CE N'EST PAS "!VIDEO", C'EST PEUT-ETRE < LA COMMANDE VISU A VISU... BYTE KE;FCCI17 WORD XER08D < COMMANDE "!VIDEO" NON RECONNUE... BYTE KO;FCCI17 WORD XER08D < COMMANDE "!VIDEO" NON RECONNUE... BYTE XXVIDE;FCCI1 WORD P4COM < SIMULATION D'UNE COMMANDE "!N"... WORD N45050 < VERS LA REALISATION DE "!ASSIGN A=DKU", < ET DE "!ASSIGN B=CU3". PAGE < < < C O M M A N D E W A I T : < < N45: BYTE K;FCCI11 < TEST DU MODE INTERPRETATIF ??? WORD N45X < OUI, NON-INTERPRETATIF... WORD XER015 < INTERPRETATIF : ERREUR !!! N45X: BYTE K;FCCI12 < TEST USER INTERACTIF. WORD N430 < OK, INTERACTIF. WORD XER016 < !W REFUSE SI L'USER N'EST PAS < INTERACTIF. N430: BYTE K;FCCI10 < TEST DE <EOM> ??? WORD N430X1 < OK, C'EST DONC !W<EOM>, 'CARALT' < RESTE INCHANGE... N430X2: BYTE K;FCCI1 < NON, CE N'EST PAS <EOM>... WORD CCIALT < LE CARACTERE COURANT DE 'BUFESC' VA < ETRE PRIS COMME 'CARALT'... BYTE K;FCCI10 < ET MAINTENANT A-T'ON <EOM> ??? WORD N430X1 < OUI... WORD N430X2 < NON, ON VA PRENDRE LE CARACTERE COURANT < SUIVANT ; A NOTER QUE 'CARALT' SERA < DONC LE DERNIER CARACTERE COURANT... < (ET NON PAS LE CARACTERE SUIVANT "W") N430X1: BYTE K;FCCI1 WORD AVWAIT < DECREMENTATION DE NUSERA, < REINITIALISATION DE L'HORLOGE, < ET DE LA PATTERN CYCLIQUE < DE SWAPPING OUT. BYTE XXNCHI;FCCI1 WORD SLEEP < SUSPENSION DE L'ESCLAVE ; LE < REVEIL SE FERA PAR 'ALT-MODE'. N48: BYTE K;FCCI1 WORD APWAIT < INCREMENTATION DE NUSERA, < REINITIALISATION DE L'HORLOGE, < ET DE LA PATTERN CYCLIQUE < DE SWAPPING OUT. BYTE K;FCCI1 WORD WAKUP < RE-AUTORISATION DU 'ALT-MODE < INHIBE PAR 'SLEEP'. BYTE LOM1;FCCI0 < ENVOI DE "CMS5 IS UP...", WORD M1 BYTE LODATE;FCCI0 < PUIS DE LA DATE... WORD DATE N48X2: BYTE K;FCCI7 < JUMP VERS L'INTERROGATION CCI... WORD N5 < ALLER A L'INTERROGATION GENERALE < DU CCI LORS DU 'ALT-MODE'. PAGE < < < C O M M A N D E D ' E M P I L E M E N T D ' U N < U T I L I S A T E U R I N T E R A C T I F : < < N20000: BYTE K;FCCI19 < EST-ON BIEN SOUS ":SYS" ??? WORD N20004 < OUI, OK... BYTE K;FCCI9 < NON, ALORS SOUS ":JFC" ??? BYTE XXK1;XXK2;XXK3;XXK4 WORD N20004 < OUI, OK... BYTE K;FCCI9 < NON, ALORS SOUS ":SIM" ??? BYTE XXXK1;XXXK2;XXXK3;XXXK4 WORD N20004 < OUI, OK... WORD XER017 < NON (NI ":SYS", NI ":JFC", NI ":SIM"), < ERREUR... N20004: BYTE K;FCCI11 < EST-CE UN UTILISATEUR INTERPRETATIF ??? WORD N20001 < NON, OK... WORD XER018 < OUI, ERREUR... N20001: BYTE K;FCCI12 < EST-CE UN UTILISATEUR INTERACTIF ??? WORD N20002 < OUI, OK... WORD XER019 < NON, ERREUR... N20002: BYTE K;FCCI10 < EST-CE BIEN "!U<EOM> ??? WORD N20003 < OUI, OK... WORD XER01A < NON, ERREUR... N20003: BYTE K;FCCI1 WORD AVWAIT < DECREMENTATION DE NUSERA, ET QUELQUES < REINITIALISATIONS... BYTE XXCHI;FCCI1 WORD SLEEP < EMPILEMENT DE L'UTILISATEUR COURANT : WORD N48 < OUI, OK, ON SE RAMENE DONC A "!W"... BYTE K;FCCI1 < NON, LA PILE EST SATUREE : WORD APWAIT < ON ANNULE TOUT BYTE K;FCCI1 WORD WAKUP < CE QUE L'ON A FAIT, BYTE K;FCCI1 WORD RZIDW WORD XER01B < ET ON FAIT UN RETOUR EN ERREUR... PAGE < < < A P P R O P R I A T I O N D E G R O U P E S < D E C Y L I N D R E S D E ' D K U ' : < < N30000: BYTE K;FCCI1 WORD SVDBG < MISE DANS 'VALESC' DE LA LISTE DES < GROUPES DE CYLINDRES A S'APPROPRIER... BYTE K;FCCI10 < L'<EOM> EST-IL LA ??? WORD N30001 < OUI, OK... BYTE KPLUS;FCCI5 < Y-A-T'IL UNE TRANSLATION EN PLUS ??? WORD N30005 < OUI... WORD XER01C < NON, ERREUR... N30001: BYTE NSPDKU;FCCI1 WORD P1DKU < TENTATIVE D'APPROPRIATION DE GROUPES < DE CYLINDRES AVEC TRANSLATION=0 : WORD N5 < OK, ON SE LES AIT APPROPRIES... WORD XER01D < IMPOSSIBLE : QUELQU'UN LES A DEJA... N30005: BYTE KZERO;FCCI5 WORD N30011 < TRANSLATION=0... BYTE KUN;FCCI5 WORD N30013 < TRANSLATION=1... BYTE KDEUX;FCCI5 WORD N30014 < TRANSLATION=2... BYTE K;FCCI10 < EST-CE EN FAIT "+" SUIVI DE <EOM> ??? WORD N30001 < OUI, ON VA PRENDRE UNE TRANSLATION < NULLE (CECI EST INTRODUIT A CAUSE DE < LA COMMANDE "!VIDEO", QUI GENERE UN < 'ASCI' A L'ASSEMBLAGE, ET COMME IL < S'AGIT D'UNE COMMANDE PROGRAMMEE, ON < NE PEUT Y INTRODUIRE DES 'NULLS' QUI < SERAIT PRIS POUR DES RUB-OUTS PAR LA < GESTION DES VISUS...) WORD XER09B < ERREUR, TRANSLATION NON RECONNUE... N30011: BYTE K;FCCI10 < L'<EOM> EST-IL DERRIERE "+0" ??? WORD N30001 < OUI, OK... WORD XER09C < NON, ERREUR... N30013: BYTE K;FCCI10 < L'<EOM> EST-IL DERRIERE "+1" ??? WORD N30003 < OUI, OK... WORD XER09C < NON, ERREUR... N30014: BYTE K;FCCI10 < L'<EOM> EST-IL DERRIERE "+2" ??? WORD N30004 < OUI, OK... WORD XER09C < NON, ERREUR... N30003: BYTE NSPDKU;FCCI1 WORD P1DKV < TENTATIVE D'APPROPRIATION D'UN GROUPE < DE CYLINDRES AVEC TRANSLATION=1 : WORD N5 < OK, ON SE LES AIT APPROPRIES... WORD XER01D < IMPOSSIBLE QUELQU'UN LES A DEJA, OU < BIEN, LA LISTE EST NULLE ALORS QUE < LA TRANSLATION NE L'EST PAS... N30004: BYTE NSPDKU;FCCI1 WORD P1DKW < TENATIVE D'APPROPRIATION D'UN GROUPE < DE CYLIDRES AVEC TRANSLATION=2 : WORD N5 < OK, ON SE LES AIT APPROPRIES... WORD XER01D < IMPOSSIBLE QUELQU'UN LES A DEJA OU < BIEN LA LISTE EST NULLE ALORS QUE < LA TRANSLATION NE L'EST PAS... PAGE < < < C O M M A N D E D A T E & H E U R E : < < N441: BYTE KA;FCCI17 WORD N446 < CE N'EST PAS !DATE. BYTE KT;FCCI17 WORD XER01E BYTE KE;FCCI17 WORD XER01E < ERREUR. WORD N47 < RELAI RENDU OBLIGATOIRE PAR LE < FAIT QUE 'BYTE 22;0' A LA MEME < APPARENCE QU'UN AUTO-RELAI !!!! N47: BYTE LODATE;FCCI0 < ENVOI DE LA DATE & HEURE. WORD DATE BYTE K;FCCI7 < SAUT VERS L'INTERROGATION CCI. WORD N260 < VERS LA TRONCATION... PAGE < < < E R R E U R S A U L O G I N O U P E T I T B Y E : < < N78: BYTE K;FCCI3 < DISCONNECT TERMINAL SUITE A UN PETIT BYE. N79: BYTE KB;FCCI5 < EST-CE UN PETIT 'BYE' ???? WORD N78 < OUI, DISCONNECT. BYTE KF;FCCI5 < EST-CE UN PETIT 'BYE' ??? WORD N78 < OUI, DISCONNECT. N268: BYTE K;FCCI1 WORD DISPCA < EDITION PARTIELLE DE LA CARTE JUSQU'AU < CARACTERE EN ERREUR... BYTE LOM41;FCCI0 < NON, ERREUR... WORD M41 < ENVOI DU MESSAGE D'ERREUR CCI. BYTE K;FCCI7 < 'CCI JMP' : WORD N12 < PUIS, VERS L'INTERROGATION PRIMAIRE < DU 'CCI'... PAGE < < < A P P E L E D I T E U R : < < N50X10: BYTE KD;FCCI17 WORD N321 < ESSAI DE LA COMMANDE ABREGEE ?E. BYTE KI;FCCI17 WORD XER01F < NON. BYTE KT;FCCI17 WORD XER01F < ERREUR. N321: BYTE K;FCCI10 < TEST <EOM>. WORD N51 < C'EST EDIT. WORD XER01F < NON. N51: BYTE K;FCCI8 < LOAD PROCESSEUR. WORD DKEDIT < @DK DE EDIT. WORD SZEDIT < TAILLE OCTETS DE EDIT. WORD PEDIT < @TRANSLATABLE DE RUN DE EDIT. BYTE K;FCCI7 < JMP INTERROGATION CCI. WORD N5 PAGE < < < A U T O R I S A T I O N / I N H I B I T I O N < D E L ' E C H O I M M E D I A T ' C C I ' : < < N50: BYTE KC;FCCI17 WORD N50X10 < ESSAI D'APPEL DE L'EDITEUR... BYTE KH;FCCI17 WORD XER07E < ERREUR... BYTE KO;FCCI17 WORD XER07E < ERREUR... BYTE KSP;FCCI17 WORD XER07E < ERREUR... BYTE K;FCCI12 < EST-ON BIEN EN TEMPS PARTAGE ??? WORD N50X1 < OUI... WORD XER080 < NON, ERREUR... N50X1: BYTE KO;FCCI17 WORD XER07F < ERREUR... BYTE KN;FCCI17 WORD N50X2 < CE N'EST PAS "ON", PEUT-ETRE "OFF" ??? < < AUTORISATION DE L'ECHO : < BYTE K;FCCI10 < TEST DE <EOM> ??? WORD N50X3 < OK... WORD XER081 < ABSENT, ERREUR... N50X3: BYTE K;FCCI1 < OK, WORD PECHO < ON AUTORISE L'ECHO IMMEDIAT DU 'CCI' < EN TEMPS PARTAGE... WORD N5 < VERS L'INTEROGATION GENERALE... < < INHIBITION DE L'ECHO : < N50X2: BYTE KF;FCCI17 WORD XER07F < ERREUR... BYTE KF;FCCI17 WORD XER07F < ERREUR... BYTE K;FCCI10 < TEST DE <EOM> ??? WORD N50X4 < OK... WORD XER081 < ABSENT, ERREUR... N50X4: BYTE K;FCCI1 < OK, WORD PECHON < ON INHIBE L'ECHO IMMEDIAT DU 'CCI' EN < TEMPS PARTAGE, WORD N5 < PUIS, VERS L'INTERROGATION GENERALE... PAGE < < < A P P E L D E C A L L ( R U N E R ) : < < N264: BYTE KA;FCCI17 WORD N800 < CE N'EST PAS !CALL. BYTE KL;FCCI17 WORD XER020 < ERREUR. BYTE KL;FCCI17 WORD XER020 < ERREUR. BYTE K;FCCI10 < TEST <EOM>. WORD N263 < C'EST L'APPEL DE 'CALL'. WORD XER020 < ERREUR. N263: BYTE K;FCCI8 < LOAD PROCESSOR. WORD DKCALL < @DK DE CALL. WORD SZCALL < TAILLE OCTETS DE CALL. WORD PCALL < @TRANSLATABLE DE RUN DE CALL. BYTE K;FCCI7 < JUMP VERS L'INTERROGATION CCI. WORD N550 < VERS L'INTERROGATION DE < L'UTILISATEUR, MAIS SANS < SUSPENDRE LE CCI, AU CAS OU < LE PROGRAMME APPELE PAR !CALL < AURAIT UTILISE LE CCI NON < INTERACTIF (CF. !DF). PAGE < < < C O M M A N D E P R O C E E D ' G O ' : < < N84: BYTE KO;FCCI17 < EST-CE 'GO' ???? WORD N700 < PEUT-ETRE "!GE"... BYTE K;FCCI10 < UN <EOM> EST-IL LA ??? WORD N85 < OUI, OK... WORD XER0B3 < NON, ERREUR... N85: BYTE K;FCCI11 < TEST DU MODE INTERACTIF. WORD N421 < INTERACTIF : PROCEED. WORD N5 < NON INTERACTIF : RIEN A FAIRE. N421: BYTE K;FCCI1 WORD PROCED < APPEL DE LA ROUTINE DE PROCEED. WORD N5 < VERS LA SUSPENSION DU CCI. PAGE < < < A P P E L P R O C E S S E U R S M C : < < N700: BYTE KE;FCCI17 < EST-CE 'GE' ??? WORD XER021 < ERREUR. BYTE K;FCCI10 < TEST <EOM> ??? WORD N702 < OK, C'EST L'APPEL DE 'GE'. WORD XER021 < ERREUR. N702: BYTE K;FCCI8 < LOAD PROCESSOR. WORD DKGRE < @DK DU PROCESSEUR 'GE'. WORD SZGRE < TAILLE OCTETS NECESSAIRE. WORD PGRE < @TRANSLATABLE DE RUN DE 'GE'. BYTE K;FCCI7 < JUMP CCI. WORD N550 < VERS L'INTERROGATION GENEARLE, < SANS SUSPENSION DE L'ESCLAVE, < CAR SOUS !GE, ON UTILISE LE < CCI NON INTERACTIF. PAGE < < < A S S I G N : < < N88: BYTE KS;FCCI17 WORD N48000 < NON, PEUT-ETRE "!ACTIVITE...". BYTE KS;FCCI17 WORD XER022 < ERREUR. BYTE KI;FCCI17 WORD XER022 BYTE KG;FCCI17 WORD XER022 < NON. BYTE KN;FCCI17 WORD XER022 < NON. BYTE KSP;FCCI17 < ON A RECONNU 'ASSIGN'. WORD XER023 < NON. BYTE K;FCCI1 WORD NVPAS < RECUPERATION DANS Y DU NVP < SUPPOSE. WORD N96 < OK, (Y)=NVP RECONNU. WORD XER024 < ERREUR : NVP NON RECONNU. N96: BYTE KEGAL;FCCI17 WORD XER025 < ERREUR "=" ABSENT. BYTE KN;FCCI5 WORD N272 < NEW. BYTE KO;FCCI5 WORD N274 < OLD. BYTE KS;FCCI5 WORD N281 < SAVE. BYTE KR;FCCI5 WORD N283 < RELEASE. BYTE K;FCCI10 < EST-CE UN <EOM> ??? WORD N970 < OUI, UN !ASSIGN DUMMY EST < DONC DEMANDE. < SINON, < ESSAI SUR 'VIX', LPX',... BYTE KV;FCCI17 < EST-CE "VIX" ??? WORD N99 < NON. BYTE KI;FCCI17 WORD XER026 < ERREUR. BYTE K;FCCI19 < SEUL :SYS EST AUTORISE SUR 'VI...', WORD N100 < OK, :SYS... WORD XER027 < ERREUR : NON AUTORISE. N100: BYTE KUN;FCCI5 WORD N101 < C'EST 'VI1'. BYTE KDEUX;FCCI5 WORD N102 < C'EST 'VI2'. BYTE KTROIS;FCCI5 WORD N103 < C'EST 'VI3'. BYTE KQUATR;FCCI5 WORD N104 < C'EST 'VI4'. BYTE KCINQ;FCCI5 WORD N105 < C'EST 'VI5'. BYTE KSIX;FCCI5 WORD N106 < C'EST 'VI6'. BYTE KSEPT;FCCI5 WORD N987 < C'EST 'VI7'. BYTE KHUIT;FCCI5 WORD N988 < C'EST 'VI8'. WORD XER028 < NON, ERREUR. N99: BYTE KC;FCCI5 < EST-CE 'CR' OU 'CU' ???? WORD N120 BYTE KL;FCCI5 < EST-CE 'LP' ???? WORD N122 BYTE KD;FCCI5 < EST-CE 'DKU' ??? WORD N122A < PEUT-ETRE... BYTE KI;FCCI5 < ASSIGNATION SUR 'IN' ??? WORD N241 < OUI. BYTE KM;FCCI5 < EST-CE 'MT' ??? WORD N3000 < OUI, PEUT-ETRE... WORD XER029 < NON, ERREUR... N241: BYTE PHIN;FCCI1 WORD ASSIO < ASSIGN SUR 'IN'. WORD N260 WORD XER02A < ERREUR. N243: BYTE PHOUT;FCCI1 WORD ASSIO < ASSIGN SUR 'OUT'. WORD N260 WORD XER02A < ERREUR. N3000: BYTE KT;FCCI17 < EST-CE 'MT' ??? WORD XER02B < NON, ERREUR... BYTE KUN;FCCI5 < EST-CE 'MT1' ??? WORD N3001 < OUI, C'EST 'MT1'. WORD XER02C < NON, ERREUR... N122: BYTE KP;FCCI17 < 'LP' ???? WORD XER02D < ERREUR. BYTE KUN;FCCI5 WORD N136 < C'EST LP1. WORD XER02E < ERREUR. N120: BYTE KR;FCCI17 < 'CR' ???? WORD N124 < NON, ESSAYONS CU. BYTE KDEUX;FCCI5 < 'CR2' ??? WORD N125A < OUI, 'CR2', QUELQUE SOIT L'<ACN>... BYTE K;FCCI19 < SEUL :SYS EST AUTORISE SUR 'CR1', WORD N123 < OK, :SYS... WORD XER02F < ERREUR : NON AUTORISE... N123: BYTE KUN;FCCI5 WORD N125 < C'EST 'CR1'. WORD XER030 < ERREUR. N124: BYTE KU;FCCI17 < EST-CE UN COUPLEUR UNIVERSEL ??? WORD XER031 < NON. BYTE KUN;FCCI5 WORD NYM7 < C'EST 'CU1'. BYTE KDEUX;FCCI5 WORD N129 < C'EST 'CU2'. BYTE KTROIS;FCCI5 WORD N131 < C'EST 'CU3'. WORD XER032 < ERREUR. N122A: BYTE KK;FCCI17 < 'DK' ??? WORD N8002 < DELETE FILE, PEUT-ETRE... BYTE KU;FCCI5 < 'DKU' ??? WORD N122B < OUI, C'EST 'DKU'... WORD XER033 < ERREUR... N101: BYTE NSPVI1;FCCI1 < ASSIGNATION A VI1. WORD ASSIGN WORD N260 WORD XER034 < ERREUR. N102: BYTE NSPVI2;FCCI1 < ASSIGNATION A VI2. WORD ASSIGN WORD N260 WORD XER034 < ERREUR. N103: BYTE NSPVI3;FCCI1 < ASSIGNATION A VI3. WORD ASSIGN WORD N260 WORD XER034 < ERREUR. N104: BYTE NSPVI4;FCCI1 < ASSIGNATION A VI4. WORD ASSIGN WORD N260 WORD XER034 < ERREUR. N105: BYTE NSPVI5;FCCI1 < ASSIGNATION A VI5. WORD ASSIGN WORD N260 WORD XER034 < ERREUR. N106: BYTE NSPVI6;FCCI1 < ASSIGNATION A VI6. WORD ASSIGN WORD N260 WORD XER034 < ERREUR. N987: BYTE NSPVI7;FCCI1 < ASSIGNATION A VI7. WORD ASSIGN WORD N260 WORD XER034 < ERREUR. N988: BYTE NSPVI8;FCCI1 < ASSIGNATION A VI8. WORD ASSIGN WORD N260 WORD XER034 < ERREUR. N136: BYTE NSPLP1;FCCI1 < ASSIGNATION A LP1. WORD ASSIGN WORD N260 WORD XER034 < ERREUR. N125: BYTE NSPCR1;FCCI1 < ASSIGNATION A CR1. WORD ASSIGN WORD N260 WORD XER034 < ERREUR. N125A: BYTE NSPCR2;FCCI1 < ASSIGNATION A CR2. WORD ASSIGN WORD N260 WORD XER034 < ERREUR... NYM7: BYTE NSPCU1;FCCI1 < ASSIGNATION A CU1. WORD ASSIGN WORD N260 WORD XER034 < ERREUR. N129: BYTE NSPCU2;FCCI1 < ASSIGNATION A CU2. WORD ASSIGN WORD N260 WORD XER034 < ERREUR. N131: BYTE K;FCCI19 WORD N131X < OK, ":SYS"... BYTE K;FCCI9 < NON, EST-CE ALORS ":JFC" ??? BYTE XXK1;XXK2;XXK3;XXK4 WORD N131X < OK, ":JFC"... WORD XER035 < ERREUR NI ":SYS", NI ":JFC"... N131X: BYTE NSPCU3;FCCI1 < ASSIGNATION A CU3. WORD ASSIGN WORD N260 WORD XER034 < ERREUR. N122B: BYTE NSPDKU;FCCI1 WORD P4DKU < CONTROLE DES CONTRADICTIONS POSSIBLES < ENTRE "!ASSIGN <NVP>=DKU" ET "!Q...". WORD N122BX < OK, PAS DE "!Q..." EN COURS, OU BIEN < LE DEMANDEUR DE L'ASSIGNATION A 'DKU' < EST DEJA PROPRIETAIRE DE 'DKU' PAR UNE < JUDICIEUSE COMMANDE "!Q"... WORD XER036 < ERREUR : L'ASSIGNATION EST IMPOSSIBLE, < CAR TOUT OU PARTIE DE 'DKU' APPARTIENT < PAR "!Q" A UN OU PLUSIEURS AUTRES < UTILISATEURS... N122BX: BYTE NSPDKU;FCCI1 < ASSIGNATION A DKU. WORD ASSIGN WORD N260 WORD XER034 < ERREUR... N3001: BYTE NSPMT1;FCCI1 < ASSIGNATION A 'MT1'. WORD ASSIGN WORD N3002 WORD XER034 < ERREUR... N3002: BYTE NSPMT1;FCCI1 < INITIALISATION DU DEROULEUR 'MT1'. WORD MTINI WORD N260 < < A S S I G N D U M M Y : < N970: BYTE NSPDUM;FCCI1 < NSPDUM EST MIS ICI DANS L' < OCTET0 JUSTE A TITRE INDICATIF, < PUISQU'EN EFFET L'INTERPRETEUR < DU CCI RAZERA SON BIT0 !!! WORD DUMMY < VERS L'ASSIGN DUMMY. WORD N5 < ON NE VA PAS EN N260 CAR LE < TEST <EOM> VIENT D'ETRE FAIT !!! WORD XER02A < ERREUR. < < A S S I G N F I L E : < N8002: BYTE KMOINS;FCCI5 WORD N8003 < DELETE FICHIER. WORD XER037 < ERREUR DE SYNTAXE... N272: BYTE KVIR;FCCI5 WORD N279 < NEW. WORD XER038 N274: BYTE KVIR;FCCI5 WORD N280 < OLD. WORD N243 < ASSIGNATION SUR OUT. N279: BYTE K;FCCI1 WORD ABSNUL < N'Y-A-T'IL PAS DES 'NULLS' DANS LA < CARTE "!ASSIGN..." COURANTE ??? WORD N279X < NON, OK... WORD XER0A0 < OUI, ERREUR... N279X: BYTE K;FCCI1 WORD CCINF < NEW FILE. WORD N5 < OPEN NEW FILE OK. WORD XER039 < ERREUR. N280: BYTE K;FCCI1 WORD ABSNUL < N'Y-A-T'IL PAS DES 'NULLS' DANS LA < CARTE "!ASSIGN..." COURANTE ??? WORD N280X < NON, OK... WORD XER0A0 < OUI, ERREUR... N280X: BYTE K;FCCI1 WORD CCIOF < OLD FILE. WORD N5 < OPEN OLD FILE OK. WORD XER03A < ERREUR. N8003: BYTE K;FCCI1 WORD ABSNUL < N'Y-A-T'IL PAS DES 'NULLS' DANS LA < CARTE "!ASSIGN..." COURANTE ??? WORD N8003X < NON, OK... WORD XER0A0 < OUI, ERREUR... N8003X: BYTE K;FCCI1 WORD CCIOF < OPEN OLD FILE : WORD N8004A < OK... WORD XER03A < ERREUR... N8004A: BYTE K;FCCI1 WORD NVPASD < MEMORISONS QUE LE 'NVP' EST ASSIGNE... WORD N8004 < OK... WORD XER03B < ?!???!?!?!??! N8004: BYTE MCFR-CMCFSR;FCCI1 WORD CCICLF < DESASSIGN EN MODE RELEASE : WORD N8005 < OK... WORD XER03C < ERREUR ???!??!?! N8005: BYTE K;FCCI1 WORD DELFIL < DESTRUCTION DU NOM EXTERNE. WORD N5 < OK, VERS L'INTERROGATION... N281: BYTE MCFS-CMCFSR;FCCI1 WORD CCICLF < DESASSIGN MODE SAVE. WORD N260 < VERS LE TEST DE TRONCATION... WORD XER03D < ERREUR. N283: BYTE MCFR-CMCFSR;FCCI1 WORD CCICLF < DESASSIGN EN MODE RELEASE. WORD N260 < VERS LE TEST DE TRONCATION... WORD XER03C < ERREUR. PAGE < < < A S S I G N A U S Y S T E M E < D E G E S T I O N D E N O M S : < < N135: BYTE KG;FCCI17 WORD N300 < ESSAYONS '!SYMBOL'. BYTE KN;FCCI17 WORD XER06E < ERREUR. BYTE K;FCCI10 < Y-A-T'IL UN <EOM> ??? WORD N134 < OUI, C'EST "!SGN"... WORD N43000 < NON, C'EST PEUT-ETRE "!SGN C"... N134: BYTE K;FCCI1 WORD SGNAS < ASSIGNATION AU SYSTEME DE < GESTION DE NOMS. WORD N5 < OK. WORD XER03E < ERREUR. < < < M I S E O N / O F F D E L A C O M P R E S S I O N < D U ' S T N ' D U ' S G N ' : < < N43000: BYTE KSP;FCCI17 WORD XER074 BYTE KC;FCCI17 WORD XER074 BYTE KSP;FCCI17 WORD XER074 BYTE KO;FCCI17 WORD XER075 < LA FONCTION N'EST PAS RECONNUE... BYTE KN;FCCI17 WORD N43001 < C'EST PEUT-ETRE "!SGN C OFF"... < < CAS DE LA COMMANDE "!SGN C ON" : < BYTE K;FCCI10 < TEST DE <EOM> ??? WORD N43003 < OK... WORD XER076 < ERREUR... N43003: BYTE K;FCCI1 WORD PSGNON < ACTIVATION DE LA COMPRESSION... WORD N5 < ET C'EST TOUT... < < CAS DE LA COMMANDE "!SGN C OFF" : < N43001: BYTE KF;FCCI17 WORD XER075 < ERREUR, FONCTION NON RECONNUE... BYTE KF;FCCI17 WORD XER075 < ERREUR, FONCTION NON RECONNUE... BYTE K;FCCI10 < TEST DE <EOM> ??? WORD N43004 < OK... WORD XER077 < ERREUR, MANQUE <EOM>... N43004: BYTE K;FCCI19 < TEST DE <ACN> : WORD N43002 < OK, C'EST ":SYS"... WORD XER078 < ERREUR, <ACN> INTERDIT... N43002: BYTE K;FCCI1 WORD PSGNOF < INHIBITION DE LA COMPRESSION, WORD N5 < OK, VERS L'INTERROGATION... WORD XER079 < ERREUR, FONCTION INTERDITE ACTUEL- < LEMENT PAR 'MEMXXX'.. PAGE < < < C O M M A N D E D E M O N T A G E O U < D ' I N I T I A L I S A T I O N D E < V O L U M E : < < N40000: BYTE KK;FCCI17 WORD XER03F < ERREUR... BYTE KU;FCCI17 WORD N40005 < "U" EST ABSENT, C'EST PEUT ETRE LA COM- < MANDE ABREGEE "!DK ", CREE AFIN QUE < <NUMERO DE VOLUME> SOIT A UNE FRONTIERE < DE MOT... N40005: BYTE KSP;FCCI17 WORD XER040 < ERREUR... BYTE KF;FCCI5 WORD N42000 < MISE DE 'DKU' EN MODE 'FAST'... BYTE KS;FCCI5 WORD N42010 < MISE DE 'DKU' EN MODE 'SLOW' (ENTRELACE). BYTE KEGAL;FCCI5 WORD N42030 < AUTORISATION/INHIBITION DES GROUPES < DE BLOCS ENTRELACES. BYTE KM;FCCI17 < EST-CE LE MONTAGE ??? WORD N40200 < NON, PEUT-ETRE UNE INITIALISATION... < OU UN DEMONTAGE... < < COMMANDE DE MONTAGE DE VOLUME : < BYTE K;FCCI1 WORD P4SGU < VERIFIONS QU'IL N'Y A PAS DE VOLUME : WORD N40004 < OK PAS ENCORE... WORD XER041 < ERREUR, IL Y EN A DEJA UN... N40004: BYTE KSP;FCCI17 WORD XER042 < ERREUR... BYTE NSPDKG;FCCI1 WORD P1SGU < RECUPERATION DU 'NVP' DEMANDE ET VERIFI- < CATION QU'IL EST BIEN ASSIGNE AU DISQUE < D'EXTENSION SUR VOLUME... WORD N40002 < OUI... WORD XER043 < ERREUR... N40002: BYTE KEGAL;FCCI17 WORD XER042 < ERREUR... BYTE K;FCCI1 WORD SVDBG < MISE DANS 'VALESC' DU NUMERO DE VOLUME < QUE L'ON SOUHAITE MONTER... BYTE K;FCCI10 < TEST DE <EOM> DE FIN ??? WORD N40003 < OK, LA COMMANDE "!DKU M" EST CORRECTE... WORD XER044 < ERREUR... N40003: BYTE NSPDKG;FCCI1 WORD P2SGU < MONTAGE DU VOLUME DONT LE NUMERO A ETE < MIS DANS 'VALESC'... WORD N5 < OK, LE MONTAGE EST POSSIBLE, ET EFFECTUE < (IL Y A COINCIDENCE ENTRE LE NUMERO DE < DE VOLUME DEMANDE ET CELUI DU VOLUME < MONTE, LES <ACN> COINCIDENT,...). WORD XER045 < ERREUR... < < DEMONTAGE D'UN VOLUME : < N40200: BYTE KD;FCCI17 WORD N40100 < NON, PEUT-ETRE UNE INITIALISATION... BYTE KSP;FCCI17 WORD XER046 < ERREUR... BYTE K;FCCI1 WORD P4SGU < Y-A-T'IL UN VOLUME DE MONTE ??? WORD XER047 < ERREUR, IL N'Y A PAS DE VOLUME MONTE... BYTE NSPDKG;FCCI1 WORD P1SGU < RECUPERATION DU 'NVP' DEMANDE ET VERIFI- < CATION QU'IL EST BIEN ASSIGNE AU DISQUE < D'EXTENSION SUR VOLUME... WORD N40201 < OK... WORD XER043 < ERREUR... N40201: BYTE K;FCCI10 < TEST DE <EOM> ??? WORD N40202 < OK... WORD XER048 < ERREUR... N40202: BYTE NSPDKG;FCCI1 WORD P5SGU < DEMONTAGE DU VOLUME COURANT... WORD N5 < ET ENSUITE, VERS L'INTERROGATION... < < COMMANDE D'INITIALISATION D'UN VOLUME : < N40100: BYTE K;FCCI1 WORD P4SGU < Y-A-T'IL UN VOLUME MONTE ??? WORD N40104 < OK, PAS DE VOLUME MONTE... WORD XER049 < ERREUR, VOLUME DEJA MONTE... N40104: BYTE KI;FCCI17 WORD XER04A < ERREUR... BYTE KN;FCCI17 WORD XER04A < ERREUR... BYTE KI;FCCI17 WORD XER04A < ERREUR... BYTE KT;FCCI17 WORD XER04A < ERREUR... BYTE KI;FCCI17 WORD XER04A < ERREUR... BYTE KA;FCCI17 WORD XER04A < ERREUR... BYTE KL;FCCI17 WORD XER04A < ERREUR... BYTE KI;FCCI17 WORD XER04A < ERREUR... BYTE KS;FCCI17 WORD XER04A < ERREUR... BYTE KA;FCCI17 WORD XER04A < ERREUR... BYTE KT;FCCI17 WORD XER04A < ERREUR... BYTE KI;FCCI17 WORD XER04A < ERREUR... BYTE KO;FCCI17 WORD XER04A < ERREUR... BYTE KN;FCCI17 WORD XER04A < ERREUR... BYTE KSP;FCCI17 WORD XER04A < ERREUR... BYTE NSPDKG;FCCI1 WORD P1SGU < VERIFIONS QUE LE 'NVP' QUI EST DANS < 'Y' EST BIEN ASSIGNE AU DISQUE D'EX- < TENSION D'ADRESSE... WORD N40102 < OUI, C'EST BON... WORD XER043 < ERREUR... N40102: BYTE KEGAL;FCCI17 WORD XER04A < ERREUR... BYTE K;FCCI1 WORD SVDBG < MISE DANS 'VALESC' DU NUMERO DU VOLUME < QUE L'ON VA INITIALISER... BYTE K;FCCI10 < ET TEST DE <EOM> DE FIN ??? WORD N40103 < OK, LA COMMANDE "!DKU INITIALISATION" < EST CORRECTE... WORD XER04B < ERREUR... N40103: BYTE NSPDKG;FCCI1 WORD P3SGU < INITIALISATION DU VOLUME... WORD N5 < OK, ON A PU LA FAIRE (BON NUMERO < DE VOLUME NON NUL, 'DKU' EST LA,...). WORD XER04C < ERREUR... < < COMMANDE DE MISE EN MODE 'FAST' : < (C'EST-A-DIRE NON ENTRELACE AU < NIVEAU DES LECTURE RAPIDES < 'DKU' --> 'MEMTV') < N42000: BYTE K;FCCI10 < TEST DE <EOM> : WORD N42002 < OK... WORD XER072 < <EOM> ABSENT, ERREUR... N42002: BYTE NSPDKU;FCCI1 < MAIS, WORD PS0AS < L'UTILISATEUR A-T'IL LE 'DKU' ??? WORD N42001 < OUI, OK... WORD XER092 < NON, ERREUR... N42001: BYTE K;FCCI1 WORD PFAST2 < MISE EN MODE 'FAST' (DANS LE MOT 'TVENTR' < DE LA MEMOIRE DEBANALISEE). WORD N5 < PUIS, VERS L'INTERROGATION... < < COMMANDE DE MISE EN MODE 'SLOW' : < (C'EST-A-DIRE ENTRELACE AU < NIVEAU DES LECTURE RAPIDES < 'DKU' --> 'MEMTV') < N42010: BYTE K;FCCI10 < TEST DE <EOM> : WORD N42012 < OK... WORD N42020 < <EOM> ABSENT, C'EST PEUT-ETRE "!DK S0"... N42012: BYTE NSPDKU;FCCI1 WORD PS0AS < L'UTILISATEUR A-T'IL LE 'DKU' ??? WORD N42011 < OUI, OK... WORD XER093 < NON, ERREUR... N42011: BYTE K;FCCI1 WORD PSLOW < MISE EN MODE 'SLOW' (MOT 'TVENTR' DE LA < MEMOIRE DEBANALISEE). WORD N5 < PUIS, VERS L'INTERROGATION... < < AUTORISATION/INHIBITION DES < GROUPES DE BLOCS ENTRELACES < DE 'DKU' : < N42030: BYTE K;FCCI1 WORD SVDBG < RECUPERATION DANS 'VALESC' DE LA LISTE < DES GROUPES DE BLOCS QUE L'ON DESIRE < INHIBER... BYTE K;FCCI10 < TEST DE L'<EOM> FINAL ??? WORD N42031 < OUI... WORD XER0A1 < NON, ERREUR... N42031: BYTE NSPDKU;FCCI1 WORD PS0AS < BIEN, MAIS L'UTILISATEUR S'EST-IL BIEN < ASSIGNE 'DKU' ??? WORD N42032 < OUI... WORD XER0A2 < NON, ERREUR... N42032: BYTE NSPDKU;FCCI1 WORD PSLOWB < DANS UN PREMIER TEMPS, ON RE-AUTORISE < TOUS LES GROUPES DE BLOCS... < ('PSLOWB' EST 'PSLOWA'...) BYTE NSPDKU;FCCI1 WORD PSLOWI < PUIS DANS UN DEUXIEME TEMPS ON INHIBE < LES GROUPES CORRESPONDANT AUX '0'... WORD N5 < PUIS, ON RETOURNE A L'INTERROGATION... < < GESTION DES ERREURS HARDS SUR 'DKU', < ET DE SYNCHRONISATION SIMULTANEE < SUR LE SECTEUR 0 DE CHAQUE PISTE DE 'DKU' : < N42020: BYTE KZERO;FCCI17 < EST-CE BIEN "!DK S0" ??? WORD XER073 < ERREUR DE "!DK S"... BYTE NSPDKU;FCCI1 WORD PS0AS < L'UTILISATEUR A-T'IL LE 'DKU' ??? WORD N42024 < OUI, OK... WORD XER08E < NON, COMMANDE "!DK..." REFUSEE... N42024: BYTE KSP;FCCI17 WORD XER086 < ERREUR... BYTE KO;FCCI17 WORD XER085 < ERREUR... BYTE KN;FCCI17 WORD N42021 < CE N'EST PAS "!DK S0 ON"... < < ACTIVATION DE LA SYNCHRONISATION SUR < LE SECTEUR 0 DE 'DKU', ET INHIBITION DU < "RETURN TO ZERO TRACK" SUR ERREUR HARD : < BYTE K;FCCI10 < <EOM> EST-IL LA ??? WORD N42022 < OUI, C'EST "!DK S0 ON<EOM>"... WORD XER088 < NON, ERREUR... N42022: BYTE K;FCCI1 < OUI : WORD PS0ON < ON ACTIVE "S0"... WORD N5 < ET ON VA VERS L'INTERROGATION... < < SUPPRESSION DE LA SYNCHRONISATION SUR < LE SECTEUR 0 DE 'DKU', ET RETABLISSEMENT < DU "RETURN TO ZERO TRACK" SUR ERREUR HARD : < N42021: BYTE KF;FCCI17 WORD XER087 < ERREUR... BYTE KF;FCCI17 WORD XER087 < ERREUR... BYTE K;FCCI10 < <EOM> EST-IL LA ??? WORD N42023 < OUI, C'EST "!DK S0 OFF<EOM>"... WORD XER089 < NON, ERREUR... N42023: BYTE K;FCCI1 < OUI : WORD PS0OF2 < ON INHIBE "S0"... WORD N5 < ET ON VA VERS L'INTERROGATION... PAGE < < < D E S A S S I G N A T I O N G L O B A L E : < < N800: BYTE KL;FCCI17 < EST-CE !CLOSE ??? WORD N7001 < COMMANDES SUR LA 'CDA' ??? BYTE KO;FCCI17 WORD XER04D < ERREUR. BYTE KS;FCCI17 WORD XER04D < ERREUR. BYTE KE;FCCI17 WORD XER04D < ERREUR. BYTE K;FCCI1 WORD INVP2 < INITIALISATION DU NVP COURANT < A PHOUT. < < BOUCLE DE DESASSIGNATION DU NVP COURANT : < N801: BYTE K;FCCI1 WORD NVPP1 < PASSAGE AU NVP SUIVANT (+1). WORD N802 < OK, IL EXISTE,, ALLONS TENTER < UN !ASSIGN NVP=S. WORD N260 < ON EST ARRIVE AU BOUT DE < TASSGN, C'EST FINI... N802: BYTE MCFS-CMCFSR;FCCI1 WORD CCICLF < TENTATIVE DE CLOSE EN MODE < 'SAVE' DU NVP COURANT. WORD N801 < QUELQUE SOIT LES CONDITIONS WORD N801 < DE RETOUR ON ACCEDE AU NVP < COURANT SUIVANT. PAGE < < < A C C E S A L A ' C D A ' : < < N7001: BYTE KD;FCCI17 < EST-CE !CDA ??? WORD XER04E < NON, ERREUR... BYTE KA;FCCI17 < EST-CE !CDA ??? WORD XER04E < NON, ERREUR... BYTE K;FCCI10 < <EOM> ??? WORD N7002 < OUI, !CDA ==> 'CDA-COMMUNE'... BYTE KG;FCCI5 < EST-CE !CDAG ??? WORD N7004 < OUI, !CDAG ==> 'CDA-COMMUNE PRIVEE'... BYTE KI;FCCI5 < EST-CE !CDAI ??? WORD N7030 < OUI, !CDAI ==> 'CDA-IMAGE' BASSE- < DEFINITION (OU LA 'CDA-IMAGE' MOYENNE < DEFINITION SUIVANT LE BIT 'IDESCJ'...). BYTE KJ;FCCI5 < EST-CE !CDAJ ??? WORD N7010 < OUI, !CDAJ ==> 'CDA-IMAGE' MOYENNE- < DEFINITION. BYTE KP;FCCI5 < EST-CE !CDAP ??? WORD N7006 < OUI, !CDAP' ==> 'CDA-PRIVEE'... BYTE KX;FCCI17 < EST-CE !CDAX ??? WORD XER04F < NON, ERREUR... < < CAS DU DEBLOCAGE DES ATTENTES < DE SYNCHRONISATIONS SUR LES < VALEURS POSITIVES DE 'CDAG0' : < (COMMANDE "!CDAX") < BYTE K;FCCI1 WORD TOCDAG < VERS L'ACTION SUR LE SEMAPHORE 'SEMCDA', WORD N260 < VERS LA TRONCATION EVENTUELLE... < < !CDAP : 'CDA-PRIVEE' : < N7006: BYTE K;FCCI19 < EST-CE BIEN ":SYS" ??? WORD N7007 < OUI, OK... WORD XER0A4 < NON, ERREUR... N7007: BYTE K;FCCI1 WORD PCDAP < ACCES A LA 'CDA-PRIVEE'... WORD N260 < VERS UNE TRONCATION EVENTUELLE... WORD XER050 < CAS OU ELLE EST INACCESSIBLE... < < !CDAI : 'CDA-IMAGE' BASSE-DEFINITION : < N7003: BYTE K;FCCI1 WORD PCDAIM < ACCES A LA 'CDA-IMAGE'... WORD N260 < VERS UNE TRONCATION EVENTUELLE... < < COMMUTATION 'CDAI'/'CDAJ+...' : < N7030: BYTE KEGAL;FCCI17 < NON, EST-CE "!CDAI=..." ??? WORD N7020 < NON, ALLONS VOIR "!CDAI...". BYTE KI;FCCI5 < OUI, EST-CE ALORS "!CDAI=I" ??? WORD N7021 < OUI... BYTE KJ;FCCI17 < NON, EST-CE ALORS "!CDAI=J" ??? WORD XER0A3 < NON, ERREUR... BYTE K;FCCI1 < OUI : WORD PCDAIJ < MEMORISONS "!CDAI=J" PAR 'IDESCJ', WORD N260 < VERS LE TEST DE TRONCATION... N7021: BYTE K;FCCI1 WORD PCDAII < MEMORISONS "!CDAI=I" PAR 'IDESCJ', WORD N260 < VERS LE TEST DE TRONCATION... N7020: BYTE K;FCCI1 WORD QCDAIJ < ALORS, "!CDAI<EOM>" DESIGNE-T'ELLE LA < 'CDAI' OU BIEN LA 'CDAJ+...' ??? WORD N7003 < IDESCJ=0 : C'EST LA 'CDAI'... < IDESCJ=1 : C'EST LA 'CDAJ+4'... < 'PAGE68' DEFINIT LE NUMERO DE LA PAGE < DE 64K CONTENANT LES REGISTRES DE < L'IMAGEUR MOYENNE DEFINITION... < 'PAGEIJ' DEFINIT LE NUMERO DE LA PAGE < DE 64K QUI SUPPORTE L'EMULATION DE LA < 'CDAI' PAR LA 'CDAJ' LORSQU'IL Y A UNE < COMMANDE "!CDAI=J" ACTIVE... BYTE PAGEIJ;FCCI1 WORD PSTVAL < ON PREPARE A PRIORI "!CDAJ+4" IMPLICITE. WORD N7040 < ET VERS LE TEST DU LIMITEUR "+"... < < !CDAJ : 'CDA-IMAGE' MOYENNE-DEFINITION : < (OU BIEN "!CDAI=J", PUIS "!CDAI") < PAGE00:: VAL ZERO-ZERO < NUMERO DE LA PREMIERE PAGE DE 64K... N7010: BYTE PAGE00;FCCI1 WORD PSTVAL < ON PREPARE A PRIORI "!CDAJ+0" IMPLICITE. N7040: BYTE KPLUS;FCCI5 < LE LIMITEUR DE NUMERO DE PAGE EST-IL LA ? WORD N7012 < OUI, VERS LE NUMERO DE PAGE... BYTE K;FCCI10 < NON, ALORS <EOM> EST-IL LA ??? WORD N7011 < OUI, C'ETAIT BIEN "!CDAJ" EQUIVALENTE < A "!CDAJ+0" OU BIEN UNE COMMANDE "!CDAI" < EQUIVALENTE A "!CDAJ+4"... WORD XER09D < NON, ERREUR... N7012: BYTE K;FCCI1 < OUI, LE "+" EST LA... WORD SVDBG < METTONS DANS 'VALESC' LE NUMERO DE LA < PAGE DEMANDEE... BYTE K;FCCI10 < UN <EOM> TERMINE-T'IL LA COMMANDE ??? WORD N7011 < OUI... WORD XER09E < NON, ERREUR... N7011: BYTE K;FCCI1 WORD PCDAJM < ESSAYONS DE S'APPROPRIER LA 'CDAJ'... WORD N5 < OK, ON L'A EU, ET LE NUMERO DE PAGE < EST CORRECT, ALLONS VERS L'INTERRO- < GATION... WORD XER09F < ET BIEN NON, LA 'CDAJ' EST SOIT DEJA < OCCUPE, SOIT LE NUMERO DE PAGE DEMANDE < EST MAUVAIS... < < !CDA : 'CDA-COMMUNE' : < N7002: BYTE K;FCCI1 WORD PCDAIN < ACCES A LA 'CDA-COMMUNE'... WORD N5 < VERS L'INTEROGATION GENERALE... < < !CDAG : 'CDA-COMMUNE PRIVEE' : < N7004: BYTE K;FCCI19 < EST-ON BIEN SOUS ":SYS" ??? WORD N7005 < OUI... BYTE K;FCCI9 < NON, ALORS EST-ON SOUS ":SIM" ??? BYTE XXXK1;XXXK2;XXXK3;XXXK4 WORD N7005 < OUI... WORD XER051 < NON, "!CDAG" EST REFUSEE... N7005: BYTE K;FCCI1 WORD PCDAG < OK, ESSAYONS DE S'APPROPRIER LA < 'CDA-COMMUNE PRIVEE'... WORD N260 < OK, ON L'A OBTENUE (ET ON EST TOUT SEUL) < ALLONS DONC VERS LA TRONCATION < EVENTUELLE... WORD XER052 < ET BIEN NON, ELLE EST DEJA OCCUPEE, < DESOLE !!! PAGE < < < C O M M A N D E S D E C O N N E X I O N S < M A T R I C I E L L E S : < < N141: BYTE K;FCCI10 < TEST <EOM> ??? WORD N263 < OUI, C'EST DONC "!C", COMMANDE ABREGEE < DE "!CALL"... BYTE KM;FCCI17 < NON, ESSAYONS "!CM"... WORD N264 < NON. BYTE KSP;FCCI17 WORD XER053 < ERREUR DE SYNTAXE. BYTE K;FCCI19 < SEUL LE NUMERO DE COMPTE DU < SYSTEME (:SYS) EST AUTORISE A < FAIRE DES OPERATIONS SUR MATX. WORD N144 < OK, C'EST :SYS. WORD XER054 < ERREUR : ACN NON AUTORISE. < < RECHERCHE <NSP1> : < N144: BYTE KV;FCCI5 WORD N145 BYTE KL;FCCI5 WORD N147 BYTE KC;FCCI5 WORD N230 BYTE KI;FCCI5 WORD N245 < PERIPHERIQUE 'IN' DEMANDE. BYTE KO;FCCI5 WORD N247 < PERIPHERIQUE 'OUT' DEMANDE. WORD XER055 < ERREUR. N245: BYTE PHIN;FCCI1 WORD CMP5 < RECUPERATION DE NSPIN. WORD N200 < OK. N247: BYTE PHOUT;FCCI1 WORD CMP5 < RECUPERATION DE NSPOUT. WORD N200 < OK. N145: BYTE KI;FCCI17 WORD XER055 < ERREUR. BYTE KUN;FCCI5 WORD N151 < <NSP1>=VI1. BYTE KDEUX;FCCI5 WORD N152 < <NSP2>=VI2. BYTE KTROIS;FCCI5 WORD N153 < <NSP1>=VI3. BYTE KQUATR;FCCI5 WORD N154 < <NSP1>=VI4. BYTE KCINQ;FCCI5 WORD N155 < <NSP1>=VI5. BYTE KSIX;FCCI5 WORD N156 < <NSP1>=VI6. BYTE KSEPT;FCCI5 WORD N997 < <NSP1>=VI7. BYTE KHUIT;FCCI5 WORD N998 < <NSP1>=VI8. WORD XER055 < ERREUR, <NSP1> NON RECONNU. N147: BYTE KP;FCCI5 WORD N170 WORD XER055 < ERREUR : <NSP1> NON RECONNU. N170: BYTE KUN;FCCI5 WORD N171 < <NSP1>=LP1. WORD XER055 < ERREUR : <NSP1> NON RECONNU. N230: BYTE KR;FCCI17 WORD XER055 < ERREUR : <NSP1> NON RECONNU. BYTE KUN;FCCI5 WORD N181 < <NSP1>=CR1. WORD XER055 < ERREUR : <NSP1> NON RECONNU. N151: BYTE NSPVI1;FCCI1 < <NSP1>=VI1. WORD CMP1 WORD N200 N152: BYTE NSPVI2;FCCI1 < <NSP1>=VI2. WORD CMP1 WORD N200 N153: BYTE NSPVI3;FCCI1 < <NSP1>=VI3. WORD CMP1 WORD N200 N154: BYTE NSPVI4;FCCI1 < <NSP1>=VI4. WORD CMP1 WORD N200 N155: BYTE NSPVI5;FCCI1 < <NSP1>=VI5. WORD CMP1 WORD N200 N156: BYTE NSPVI6;FCCI1 < <NSP1>=VI6. WORD CMP1 WORD N200 N997: BYTE NSPVI7;FCCI1 < <NSP1>=VI7. WORD CMP1 WORD N200 N998: BYTE NSPVI8;FCCI1 < <NSP1>=VI8. WORD CMP1 WORD N200 N171: BYTE NSPLP1;FCCI1 < <NSP1>=LP1. WORD CMP1 WORD N200 N181: BYTE NSPCR1;FCCI1 < <NSP1>=CR1. WORD CMP1 < < RECHERCHE FONCTION DESIREE : < N200: BYTE KEGAL;FCCI5 WORD N201 < DEMANDE DE CONNEXION <NSP1>-->... BYTE KDIESE;FCCI5 WORD N203 < DEMANDE DE DISCONNEXION. BYTE KSLASH;FCCI17 < DEMANDE DE RUPTURE DE TOUTES < LES CONNEXIONS ISSUES DE <NSP1>. WORD XER056 < ERREUR : COMMANDE NON RECONNUE < POUR LES CONNEXIONS MATRICIELLEES. BYTE K;FCCI1 < RUPTURE DE TOUTES LES CONNEXIONS < ISSUES DE <NSP1>. WORD CMP2 WORD N260 < VERS LE TEST DE TRONCATION... N203: BYTE K;FCCI1 < DISCONNEXION. WORD CMP4 < INVERSION DU SIGNE DE Y (=NSP1). < (SUITE IDENTIQUE A UNE CONNEXION) < < RECHERCHE <NSP2> : < N201: BYTE KV;FCCI5 WORD N233 BYTE KL;FCCI5 WORD N234 BYTE KC;FCCI5 WORD N206 BYTE KI;FCCI5 WORD N249 < NSPIN DEMANDE COMME NSP2. BYTE KO;FCCI5 WORD N251 < NSPOUT DEMANDE COMME NSP2. WORD XER057 < ERREUR. N249: BYTE PHIN;FCCI1 WORD CMP6 < RECUPERATION DE NSPIN. WORD N260 WORD XER057 < ERREUR. N251: BYTE PHOUT;FCCI1 WORD CMP6 < RECUPERATION NSPOUT. WORD N260 WORD XER057 < ERREUR. N233: BYTE KI;FCCI17 WORD XER057 < ERREUR : <NSP2> NON RECONNU. BYTE KUN;FCCI5 WORD N221 < <NSP2>=VI1. BYTE KDEUX;FCCI5 WORD N222 < <NSP2>=VI2. BYTE KTROIS;FCCI5 WORD N223 < <NSP2>=VI3. BYTE KQUATR;FCCI5 WORD N224 < <NSP2>=VI4. BYTE KCINQ;FCCI5 WORD N225 < <NSP2>=VI5. BYTE KSIX;FCCI5 WORD N226 < <NSP2>=VI6. BYTE KSEPT;FCCI5 WORD N7807 < <NSP2>=VI7. BYTE KHUIT;FCCI5 WORD N7808 < <NSP2>=VI8. WORD XER057 < ERREUR : <NSP2> NON RECONNU. N234: BYTE KP;FCCI17 WORD XER057 < ERREUR : <NSP2> NON RECONNU. BYTE KUN;FCCI5 WORD N214 < <NSP2>=LP1. WORD XER057 < ERREUR : <NSP2> NON RECONNU. N206: BYTE KR;FCCI17 WORD XER057 < ERREUR : <NSP2> NON RECONNU. BYTE KUN;FCCI5 WORD N216 < <NSP2>=CR1. WORD XER057 < ERREUR : <NSP2> NON RECONNU. N221: BYTE NSPVI1;FCCI1 < <NSP2>=VI1. WORD CMP3 < CONNEXION/DISCONNEXION. WORD N260 WORD XER058 < RETOUR EN ERREUR. N222: BYTE NSPVI2;FCCI1 < <NSP2>=VI2. WORD CMP3 WORD N260 WORD XER058 N223: BYTE NSPVI3;FCCI1 < <NSP2>=VI3. WORD CMP3 WORD N260 WORD XER058 N224: BYTE NSPVI4;FCCI1 < <NSP2>=VI4. WORD CMP3 WORD N260 WORD XER058 N225: BYTE NSPVI5;FCCI1 < <NSP2>=VI5. WORD CMP3 WORD N260 WORD XER058 N226: BYTE NSPVI6;FCCI1 < <NSP2>=VI6. WORD CMP3 WORD N260 WORD XER058 N7807: BYTE NSPVI7;FCCI1 < <NSP2>=VI7. WORD CMP3 WORD N260 WORD XER058 N7808: BYTE NSPVI8;FCCI1 < <NSP2>=VI8. WORD CMP3 WORD N260 WORD XER058 N214: BYTE NSPLP1;FCCI1 < <NSP2>=LP1. WORD CMP3 WORD N260 WORD XER058 N216: BYTE NSPCR1;FCCI1 < <NSP2>=CR1. WORD CMP3 WORD N260 WORD XER058 PAGE < < < T E S T < E O M > E T T R O N C A T I O N : < < N260: BYTE K;FCCI10 < TEST <EOM>. WORD N5 < OK, <EOM> RECONNU. BYTE K;FCCI11 < TEST DU MODE INTERACTIF. WORD N419 < INTERACTIF : MESSAGE 'TRONCATION'. BYTE ECT;FCCI1 < CAS DU MODE NON INTERACTIF. WORD CCIXE < RENVOI (X)=2 A L'ESCLAVE. WORD N5 N419: BYTE I;FCCI1 WORD DISPCA < DISPLAY DE LA PARTIE UTILE DE LA CARTE, < C'EST-A-DIRE CELLE QUI A ETE ANALYSEE... BYTE LOM8;FCCI0 WORD M8 < MESSAGE '<TRONCATION>'. BYTE K;FCCI7 < 'CCI JMP' : WORD N5 < PUIS, VERS L'INTERROGATION GENERALE... PAGE < < < A P P E L D E L ' A S S E M B L E U R : < < N300: BYTE KY;FCCI17 WORD N45020 < PEUT-ETRE "!SI" ??? BYTE KM;FCCI17 WORD XER059 BYTE KB;FCCI17 WORD XER059 BYTE KO;FCCI17 WORD XER059 BYTE KL;FCCI17 WORD XER059 < ERREUR. BYTE K;FCCI10 < TEST <EOM>. WORD N306 < '!SYMBOL' RECONNU. WORD XER05A N306: BYTE K;FCCI8 < LOAD PROCESSOR. WORD DKSYMB < @DK DE L'ASSEMBLEUR. WORD SZSYMB < TAILLE OCTETS DE L'ASSEMBLEUR. WORD PSYMB < @TRANSLATABLE DE RUN DE L'ASSEM- < BLEUR. BYTE K;FCCI7 WORD N5 < GO BACK A L'INTERROGATION. PAGE < < < A P P E L D E L O A D : < < N307: BYTE KO;FCCI17 WORD N307A BYTE KA;FCCI17 WORD N45010 < PEUT-ETRE "!LO" ??? BYTE KD;FCCI17 WORD XER05B < ERREUR. BYTE K;FCCI10 < TEST <EOM>. WORD N310 < '?LOAD' RECONNU. WORD XER05C N310: BYTE K;FCCI8 < LOAD PROCESSOR. WORD DKLOAD < @DK DE LOAD. WORD SZLOAD < TAILLE OCTETS DE LOAD. WORD PLOAD < @TRANSLATABLE DE RUN DE LAOD. BYTE K;FCCI7 WORD N550 < VERS L'INTERROGATION GENERALE. < (SANS SUSPENSION, AU CAS OU < LE PROGRAMME APPELE, UTILISE- < RAIT LE CCI NON INTERACTIF ! ). PAGE < < < J O B P A R A L L E L E S E N T R Y O U A B O R T : < < N401: BYTE KSP;FCCI17 WORD XER05D < ERREUR. BYTE K;FCCI19 < VALIDATION DE L'ACN DEMANDEUR. WORD N403 < OK C'EST :SYS. WORD XER05E < ERREUR : ACN NON AUTORISE. N403: BYTE K;FCCI1 WORD NVPAS < RECUPERATION DANS Y DU NVP < DEMANDE. WORD N404 < OK. WORD XER05F < ERREUR SUR LE NVP ARGUMENT. N404: BYTE K;FCCI10 < TEST <EOM>. WORD N405 < OK. WORD XER060 < ERREUR. N405: BYTE K;FCCI1 WORD TASK < ACTION SUR LE JOB PARALLELE. WORD N5 < OK. WORD XER061 < ERREUR : EXECUTION REFUSEE. PAGE < < < T A B U L A T I O N : < < N424: BYTE K;FCCI10 < EST-CE "!T" ??? WORD N424X1 < OUI, ON MET EN PLACE LA TABULATION < STANDARD... BYTE KA;FCCI17 < NON, EST-CE "!TAB" ??? WORD N43100 < PEUT-ETRE "!TRACE..." ??? BYTE KB;FCCI17 WORD XER062 < ERREUR. BYTE K;FCCI12 < TEST USER INTERACTIF. WORD N428 < OK, USER INTERACTIF. WORD XER063 < NON INTERACTIF : !TAB REFUSE. N428: BYTE TABSU0-TABSUR;FCCI1 WORD INITAB < RAZ DE LA TABLE DE TABULATION. BYTE XEECHO;FCCI6 < INTERROGATION USER POUR CONNAITRE < SES DEFINITIONS DE ZONES. N431: BYTE KSP;FCCI5 WORD N431 < BOUCLAGE SUR CE NOEUD SI " ". BYTE KZERO;FCCI5 WORD N431 < BOUCLAGE SUR LE NOEUD PRECEDENT < DANS LE CAS D'UN "0" (ZERO). BYTE K;FCCI10 < TEST <EOM>. WORD N5 < OUI, FIN DE TABULATION. BYTE KUN;FCCI5 WORD N435 < DEFINITION D'1N DEBUT DE ZONE. BYTE KSLASH;FCCI5 WORD N435 < DEFINTION D'UN DEBUT DE ZONE. BYTE TABSUR-TABSUR;FCCI1 < DANS LE CAS D'UNE ERREUR DANS LA DEFINI- < TION DES ZONES, OU UNE LIGNE VIDE, < TABULATION, ON REMET LA TABULATION < STANDARD... WORD INITAB < REINIT. WORD XER064 < RETOUR EN ERREUR AU CCI. N435: BYTE K;FCCI1 WORD ZONTAB < DEFINITION D'UN DEBUT DE < ZONE ("1" OU "/"). WORD N431 < VERS LA RECONNAISSANCE DES < CARACTERES DE ZONE (" " OU "0"). < < MISE EN PLACE DE LA < TABULATION STANDARD : < N424X1: BYTE TABSUR-TABSUR;FCCI1 WORD INITAB WORD N5 < VERS L'INTERROGATION... PAGE < < < A C T I O N S U R L A T R A C E : < < N43100: BYTE KR;FCCI17 WORD XER09A < ERREUR... BYTE KA;FCCI17 WORD XER09A < ERREUR... BYTE KC;FCCI17 WORD XER09A < ERREUR... BYTE KE;FCCI17 WORD XER09A < ERREUR... BYTE KSP;FCCI17 WORD XER094 BYTE KO;FCCI17 WORD XER095 < LA FONCTION N'EST PAS RECONNUE... BYTE KN;FCCI17 WORD N43101 < C'EST PEUT-ETRE "!TRACE OFF"... < < CAS DE LA COMMANDE "!TRACE ON" : < BYTE K;FCCI10 < TEST DE <EOM> ??? WORD N43103 < OK... WORD XER096 < ERREUR... N43103: BYTE K;FCCI1 WORD PTRAON < ACTIVATION DE LA COMPRESSION... WORD N5 < ET C'EST TOUT... < < CAS DE LA COMMANDE "!TRACE OFF" : < N43101: BYTE KF;FCCI17 WORD XER095 < ERREUR, FONCTION NON RECONNUE... BYTE KF;FCCI17 WORD XER095 < ERREUR, FONCTION NON RECONNUE... BYTE K;FCCI10 < TEST DE <EOM> ??? WORD N43104 < OK... WORD XER097 < ERREUR, MANQUE <EOM>... N43104: BYTE K;FCCI19 < TEST DE <ACN> : WORD N43102 < OK, C'EST ":SYS"... WORD XER098 < ERREUR, <ACN> INTERDIT... N43102: BYTE K;FCCI1 WORD PTRAOF < INHIBITION DE LA COMPRESSION, WORD N5 < OK, VERS L'INTERROGATION... WORD XER099 < ERREUR, FONCTION INTERDITE ACTUEL- < LEMENT PAR 'MEMXXX'.. PAGE < < < D I S P O S I T I F S D E V I S U A L I S A T I O N < D E L ' A C T I V I T E D U S Y S T E M E : < < N48000: BYTE KC;FCCI17 WORD XER0A5 < ERREUR... BYTE KT;FCCI17 WORD XER0A5 < ERREUR... BYTE KI;FCCI17 WORD XER0A5 < ERREUR... BYTE KV;FCCI17 WORD XER0A5 < ERREUR... BYTE KI;FCCI17 WORD XER0A5 < ERREUR... BYTE KT;FCCI17 WORD XER0A5 < ERREUR... BYTE KE;FCCI17 WORD XER0A5 < ERREUR... BYTE KSP;FCCI17 WORD XER0A5 < ERREUR... IF OACTIV-EXIST,XEIF%8,,XEIF%8 < < CAS DES COMMANDES MOYENNE DEFINITION : < BYTE KO;FCCI17 < EST-CE "ON" OU "OFF" ??? WORD N48010 < NON, PEUT-ETRE "R", "V", "B" OU "H"... < < CAS DE LA COMMANDE "!ACTIVITE OFF" : < BYTE KF;FCCI17 < EST-CE "OFF" ??? WORD N48002 < NON, PEUT-ETRE "ON"... BYTE KF;FCCI17 WORD XER0A6 < ET BIEN NON, CE N'EST PAS "OFF", ERREUR.. BYTE K;FCCI10 < C'EST "OFF", Y-A-T'IL BIEN UN <EOM> ??? WORD N48003 < OUI, OK... WORD XER0A7 < NON, ERREUR... N48003: BYTE K;FCCI1 WORD PACOFF < MISE "OFF" DU DISPOSITIF DE VISUALISATION < DE L'ACTIVITE DU SYSTEME DANS LE SYSTEME < DE TELEVISION MOYENNE DEFINITION... WORD N5 < PUIS, VERS L'INTERROGATION... < < CAS DE LA COMMANDE "!ACTIVITE ON" : < N48002: BYTE KN;FCCI17 WORD XER0A8 < ET BIEN NON, CE N'EST PAS "ON", ERREUR... BYTE K;FCCI10 < C'EST "ON", Y-A-T'IL BIEN UN <EOM> ??? WORD N48004 < OUI, OK... WORD XER0A9 < NON, ERREUR... N48004: BYTE K;FCCI19 < MAIS ALORS EST-ON BIEN SOUS ":SYS" ??? WORD N48005 < OUI, OK... WORD XER0AA < NON, ERREUR... N48005: BYTE K;FCCI1 WORD PACON < MISE "ON" DU DISPOSITIF DE VISUALISATION < DE L'ACTIVITE DU SYSTEME DANS LE SYSTEME < DE TELEVISION BASSE DEFINITION... WORD N5 < PUIS, VERS L'INTERROGATION... WORD XER0AB < ERREUR, CELA N'A PU SE FAIRE ('CBJ' NON < OPERATIONNEL, OU 'MEMXXX'...). XEIF%8: VAL ENDIF < < CAS DES COMMANDES BASSE DEFINITION : < N48010: BYTE K;FCCI19 < EST-ON BIEN SOUS ":SYS" ??? WORD N48012 < OUI, OK... WORD XER0AD < NON, ERREUR... N48012: BYTE KM;FCCI5 WORD N48061 < C'EST "!ACTIVITE M...". BYTE KR;FCCI5 WORD N48021 < C'EST "!ACTIVITE R...". BYTE KV;FCCI5 WORD N48031 < C'EST "!ACTIVITE V...". BYTE KB;FCCI5 WORD N48041 < C'EST "!ACTIVITE B...". BYTE KH;FCCI17 WORD XER0AE < ERREUR, COMMANDE NON RECONNUE... < < CAS DE LA COMMANDE "!ACTIVITE H" : < BYTE ZERO-ZERO;FCCI1 WORD PSTVAL < ON INITIALISE 'VALESC' AVEC UNE ADRESSE < NULLE... BYTE K;FCCI10 < <EOM> EST-IL BIEN LA ??? WORD N48052 < OUI, OK... WORD XER0AC < NON, ERREUR... N48052: BYTE TVPOFF;FCCI1 WORD PACTV < DESACTIVATION DE LA VISUALISATION BASSE < DEFINITION DE L'ACTIVITE DU SYSTEME... WORD N5 < PUIS VERS L'INTERROGATION... WORD XER0B2 < LA FONCTION N'A PU ETRE REALISEE (LA < TELEVISION BASSE DEFINITION EST ABSENTE, < OU 'MEMXXX'...) < < CAS DE LA COMMANDE "!ACTIVITE B..." : < N48041: BYTE K;FCCI1 WORD SVDBG < RECUPERATION DANS 'VALESC' DE L'ADRESSE < DE LA PAGE A VISUALISER... BYTE K;FCCI10 < <EOM> EST-IL BIEN DERRIERE ??? WORD N48042 < OUI, OK... WORD XER0AF < NON, ERREUR... N48042: BYTE TVPB;FCCI1 WORD PACTV < ACTIVATION DE LA VISUALISATION D'ACTIVITE < SUR LE CANAL "B" DE LA BASSE DEFINITION. WORD N5 < PUIS VERS L'INTERROGATION... WORD XER0B2 < LA FONCTION N'A PU ETRE REALISEE (VOIR < 'TVEXIS' OU 'MEMXXX'...). < < CAS DE LA COMMANDE "!ACTIVITE V..." : < N48031: BYTE K;FCCI1 WORD SVDBG < RECUPERATION DANS 'VALESC' DE L'ADRESSE < DE LA PAGE A VISUALISER... BYTE K;FCCI10 < <EOM> EST-IL BEIN DERRIERE ??? WORD N48032 < OUI, OK... WORD XER0B0 < NON, ERREUR... N48032: BYTE TVPV;FCCI1 WORD PACTV < ACTIVATION DE LA VISUALISATION D'ACTIVITE < SUR LE CANAL "V" DE LA BASSE DEFINITION. WORD N5 < PUIS VERS L'INTERROGATION... WORD XER0B2 < LA FONCTION N'A PU ETRE REALISEE (VOIR < 'TVEXIS' OU 'MEMXXX'...). < < CAS DE LA COMMANDE "!ACTIVITE R..." : < N48021: BYTE K;FCCI1 WORD SVDBG < RECUPERATION DANS 'VALESC' DE L'ADRESSE < DE LA PAGE A VISUALISER... BYTE K;FCCI10 < <EOM> EST-IL BEIN DERRIERE ??? WORD N48022 < OUI, OK... WORD XER0B1 < NON, ERREUR... N48022: BYTE TVPR;FCCI1 WORD PACTV < ACTIVATION DE LA VISUALISATION D'ACTIVITE < SUR LE CANAL "R" DE LA BASSE DEFINITION. WORD N5 < PUIS VERS L'INTERROGATION... WORD XER0B2 < LA FONCTION N'A PU ETRE REALISEE (VOIR < 'TVEXIS' OU 'MEMXXX'...). < < CAS DE LA COMMANDE "!ACTIVITE M..." : < N48061: BYTE K;FCCI1 WORD SVDBG < RECUPERATION DANS 'VALESC' DE LA DADR- < ADRESSE DE LA ZONE A COPIER... BYTE K;FCCI10 < Y-A-T'IL BIEN UN <EOM> DERRIERE ??? WORD N48062 < OUI, OK... WORD XER0B5 < NON, ERREUR... N48062: BYTE K;FCCI1 WORD PACTM < ET MODIFICATION DE 'IDLE'... WORD N5 < VERS L'INTERROGATION GENERALE... WORD XER0B6 < ERREUR (CF. 'MEMXXX'...)... PAGE < < < A C C E S A U X M O D E S - D ' E M P L O I S : < < N601: BYTE KE;FCCI17 WORD XER065 < ERREUR. BYTE KL;FCCI17 WORD XER065 < ERREUR. BYTE KP;FCCI17 WORD XER065 < ERREUR. BYTE LOM10;FCCI0 WORD M10 < ENVOI DU MESSAGE 'HELP'. BYTE K;FCCI7 < VERS L'INTERROGATION DU CCI. WORD N260 < VERS LA TRONCATION... PAGE < < < I D L E : < < N704: BYTE K;FCCI10 < TEST <EOM> ??? WORD N705 < C'EST !IDLE. WORD XER066 < ERREUR. N705: BYTE LODATE;FCCI0 WORD DATE < ENVOI DE LA DATE ET DE L'HEURE. BYTE K;FCCI8 < LOAD PROCESSOR. WORD DKIDLE < @DK DU PROCESSEUR IDLE. WORD SZIDLE < LA TAILLE OCTET NECESSAIRE < EST LA TAILLE MEMOIRE MINIMALE < (1K). C'EST LA LE ROLE < PRINCIPAL DE !IDLE. WORD PIDLE < @TRANSLATABLE DE RUN DE IDLE. BYTE K;FCCI7 < CCI JUMP. WORD N5 < VERS L'INTERROGATION GENERALE. PAGE < < < D E L E T E - F I L E : < < N730: BYTE KF;FCCI17 WORD N40000 < CE N'EST PAS "!DF", PEUT-ETRE "!DKU"... BYTE K;FCCI10 < TEST DE LA PRESENCE D'UN <EOM> ??? WORD N732 < C'EST UN APPEL DE !DF. WORD XER067 < ERREUR. N732: BYTE K;FCCI8 < LOAD PROCESSOR (!DF). WORD DKDELF < @DK DE DELETE-FILE. WORD SZDELF < TAILLE EN OCTETS NECESSAIRE < A DELETE-FILE. WORD PDELF < P DE LANCEMENT TRANSLATABLE < DE DELETE-FILE. BYTE K;FCCI7 < CCI JUMP. WORD N550 < VERS L'INTERROGATION DE L'UTI- < LISATEUR, MAIS SANS SUSPENDRE < LE CCI, CAR DELETE-FILE < UTILISE LE CCI NON INTERACTIF. PAGE < < < R E T O U R S A U P R O G R A M M E < U T I L I S A T E U R : < < N860: BYTE KEOT;FCCI17 < EST-CE LA COMMANDE '!<EOT>' ??? WORD N861 < NON. < < R A Z D E P R E S C : < BYTE K;FCCI1 WORD RPRESC < PRESC(ESCLAVE)<--0. WORD N5 < VERS L'INTERROGATION GENERALE < DU CCI. N861: BYTE KCR;FCCI17 < EST-CE LA COMMANDE '!<R/C>' ???? WORD N861X1 < NON, PEUT-ETRE LA CONSTANTE MAGIQUE... < < R E T O U R P A R P R E S C : < BYTE K;FCCI1 WORD MPRESC < MODIFICATION DES REGISTRES < P(ESCLAVE) ET S(ESCLAVE) : < P(ESCLAVE)<--(PRESC), < S(ESCLAVE)<--MODE-ESCLAVE. WORD N5 < RETOUR AU PROGRAMME UTILISATEUR < VIA LA SUSPENSION DU CCI. PAGE < < < M I S E E N P L A C E D U C O D E M A G I Q U E : < < XWOR%1: VAL MBAS16)MFFFF < MASQUE D'ELIMINATION DU DERNIER CHIFFRE < HEXA-DECIMAL D'UN MOT. KHH:: VAL KH < CARACTERE UTILISE DANS LA COMMANDE < D'AUTORISATION/INHIBITION DES CODES < MAGIQUES... XWOR%2: VAL KHH(XWOR%1 < PREMIER CHIFFRE DE 'KHH', XWOR%3: VAL KHH(MBAS16 < DEUXIEME CHIFFRE DE 'KHH', XWOR%4: VAL XWOR%3*KMAGIC(MBAS16 < QUE L'ON TRANSCODE... XWOR%5: VAL XWOR%2?XWOR%4 < CARACTERE TRANSPOSE DE 'KHH'... IF KHH-XWOR%5,,XEIF%, IF ATTENTION : 'KHH' N'EST PAS SON PROPRE IF TRANSPOSE PAR LA CONSTANTE MAGIQUE !!! IF (D'OU DES DIFFICULTES DE FRAPPE) XEIF%: VAL ENDIF XWOR%2: VAL KCCI(XWOR%1 < PREMIER CHIFFRE DE 'KCCI', XWOR%3: VAL KCCI(MBAS16 < DEUXIEME CHIFFRE DE 'KCCI', XWOR%4: VAL XWOR%3*KMAGIC(MBAS16 < QUE L'ON TRANSPOSE... KMAGI1:: VAL XWOR%2?XWOR%4 < TRANSPOSE DE 'KCCI' ("'" ???). XWOR%2: VAL KGS(XWOR%1 < PREMIER CHIFFRE DE 'KGS', XWOR%3: VAL KGS(MBAS16 < DEUXIEME CHIFFRE DE 'KGS', XWOR%4: VAL XWOR%3*KMAGIC(MBAS16 < QUE L'ON TRANSPOSE... KMAGI2:: VAL XWOR%2?XWOR%4 < TRANSPOSE DE 'KGS' ('CTRL-K' SUR T4010 < ET 'ESC' SUR T4014 ???). XWOR%2: VAL KEOT(XWOR%1 < PREMIER CHIFFRE DE 'KEOT', XWOR%3: VAL KEOT(MBAS16 < DEUXIEME CHIFFRE DE 'KEOT', XWOR%4: VAL XWOR%3*KMAGIC(MBAS16 < QUE L'ON TRANSPOSE... KMAGI3:: VAL XWOR%2?XWOR%4 < TRANSPOSE DE 'KEOT' ('CTRL-L' ???). XWOR%2: VAL KCR(XWOR%1 < PREMIER CHIFFRE DE 'KCR', XWOR%3: VAL KCR(MBAS16 < DEUXIEME CHIFFRE DE 'KCR', XWOR%4: VAL XWOR%3*KMAGIC(MBAS16 < QUE L'ON TRANSPOSE... KMAGI4:: VAL XWOR%2?XWOR%4 < TRANSPOSE DE 'KCR' ('CTRL-C' ???). N861X1: BYTE KGS;FCCI17 < PASSAGE EN GRAPHIQUE ??? < POUR CACHER CE QUI SUIT... WORD XER068 < NON, ERREUR... BYTE KHH;FCCI17 WORD XER090 BYTE KHH;FCCI17 WORD XER090 BYTE KHH;FCCI17 WORD XER090 BYTE KHH;FCCI17 WORD XER090 BYTE K;FCCI1 WORD TESSYS < LOGIN INITIAL SOUS ":SYS" ??? WORD N861X2 < OUI, OK... WORD XER091 < NON, ERREUR... N861X2: BYTE K;FCCI12 < QUE EST LE MODE DE TRAVAIL ??? WORD N861X3 < TEMPS PARTAGE, OK... WORD XER08F < BATCH, ERREUR... N861X3: BYTE K;FCCI1 WORD PMAGIC < OK, ON INVERSE L'UTILISATION DE LA < CONSTANTE 'VMAGIC' DE LA VISU... WORD N5 < PUIS, VERS L'INTERROGATION GENERALE... PAGE < < < C O M M A N D D E D E B U G : < < N446: BYTE KE;FCCI5 WORD N447 < "E" RECONNU... BYTE K;FCCI10 < TEST DE <EOM> ??? WORD N450 < <EOM> RECONNU : C'EST !DEBUG ABREGE... WORD N730 < BOF, ALLONS ESSAYER !DF... N447: BYTE KB;FCCI17 WORD XER069 < ERREUR. BYTE KU;FCCI17 WORD XER069 < ERREUR. BYTE KG;FCCI17 WORD XER069 < ERREUR. BYTE K;FCCI10 < TEST <EOM>. WORD N450 < OK, <EOM> : DEBUG TRANSLATABLE. BYTE KETX;FCCI17 < TEST 'CTRL-C'. WORD XER069 < ERREUR. BYTE K;FCCI10 < TEST <EOM> ??? WORD N562 < OK, C'EST !DEBUG<CTRL-C><EOM>. WORD XER069 < ERREUR. N562: BYTE K;FCCI19 < VALIDATION DE L'<ACN> LORS DE < LA DEMANDE DU DEBUG ABSOLU. WORD N563 < OK : ':SYS' AUTORISE. WORD XER06A < ERREUR : ACN NON AUTORISE. N563: BYTE K;FCCI12 < TEST USER INTERACTIF ???? WORD N564 < OK : LET'S GO. BYTE K;FCCI19 < DANS LE CAS D'UN USER NON < INTERACTIF, ON TESTE L'<ACN>. WORD N564 < OUI, IL S'AGIT D'UN USER NON < INTERACTIF SOUS :SYS. WORD XER06B < TOUTE AUTRE DEMANDE NON INTER- < ACTIVE EST REJETEE. N564: BYTE K;FCCI1 < MISE DU BIT IDESC1 DE IDDESC A 1 WORD ABSAD < MISE DU DEBUG EN MODE ABSOLU. WORD N451X < ET C'EST PARTI COMME AVEC LE < DEBUG TRANSLATABLE. WORD XER06C < ET NON, INHIBE MEME POUR ":SYS" !!! N450: BYTE K;FCCI12 < TEST USER INTERACTIF ???? WORD N451 < OK, USER INTERACTIF. BYTE K;FCCI19 < DANS LE CAS D'UNE DEMANDE NON < INTERACTIVE, ON TESTE L'<ACN>. WORD N451 < OK, USER NON INTERACTIF < SOUS :SYS. WORD XER06D < TOUTE AUTRE DEMANDE EST REJETEE. N451X: BYTE LOABS;FCCI0 < ON ENVOIE UN MESSAGE SIGNALANT WORD MDABS < QU'ON EST EN ABSOLU... < < G R A M M A I R E D U D E B U G : < N451: BYTE XEECHO;FCCI6 < INTERROGATION DE L'ESCLAVE, < SANS SUSPENSION DU CCI, CE < QUI PERMET DE NE PAS MODIFIER < A(DCTESC),X(DCTESC),K(DCTESC), < P(DCTESC), ET PERMET DONC UN < RETOUR INTEGRE A L'UTILISATEUR. < < B O U C L E D ' A N A L Y S E D U D E B U G : < < < S O R T I E D U D E B U G : < BYTE KG;FCCI17 < EST-CE UN RETOUR D'ABORT ??? WORD N565X1 < NON... BYTE K;FCCI1 < OUI : WORD SVDBG < RECUPERONS DANS 'VALESC' UNE EVENTUELLE < TRANSLATION DU REGISTRE 'P' DE L'UTILI- < SATEUR ; CELA EST RENDU NECESSAIRE PAR < LE FAIT QUE 'P' PEUT POINTER SUR L'INS- < TRUCTION COURANTE, OU BIEN LA SUIVANTE... BYTE K;FCCI10 < <EOM> EST-IL LA ??? WORD N565X2 < OUI, VERS LE RETOUR D'ABORT... WORD N453 < NON, ERREUR... N565X2: BYTE K;FCCI1 < OUI : WORD MOVER < ON PLACE UNE ROUTINE DE FIN DE SERVICE < QUI RESTAURERA LES CONDITIONS D'AVANT < L'ABORT, WORD N565 < ET VERS LA SORTIE DU 'DEBUG'... N565X1: BYTE KPV;FCCI17 < TEST ';'. SI ';' EST RECONNU : < SORTIE DU DEBUG, ET GOTO < L'INTERROGATION DU CCI. WORD N5400 < NON. BYTE K;FCCI10 < <EOM> EST-IL LA ??? WORD N565 < OUI, ON VA SORTIR DU DEBUG... WORD N453 < NON, ERREUR... N565: BYTE K;FCCI1 < MISE DU BIT IDESC1 DE IDDESC A 0 WORD TRAD < RETOUR A PRIORI AU MODE < TRANSLATABLE DU DEBUG. WORD N5 < VERS L'INTERROGATION DU CCI. N5400: BYTE KCCI;FCCI17 < EST-CE UNE SORTIE IMPLICITE ("!") ??? WORD N540X1 < NON, PEUT-ETRE UN "!GO"-RAPIDE... BYTE K;FCCI1 < OUI, C'EST "!" : WORD TRAD < OK, ON REPASSE EN RELATIF... BYTE K;FCCI1 WORD MASTER < QUEL EST LE MODE DE L'UTILISATEUR ??? WORD N331 < MAITRE ET SOUS 'SVC', OU BIEN ESCLAVE < SOUS 'QUIT' ; ALLONS DONC RECONNAITRE < LE CARACTERE SUIVANT "!"... BYTE LOM60;FCCI0 < ET BIEN, IL ETAIT SOUS 'SVC' MAIS EN < MODE ESCLAVE, ON LE REMET EN MODE < MAITRE, ET ON LUI DIT... WORD M60 BYTE K;FCCI7 < PUIS SAUT DANS LA GRAMMAIRE : WORD N331 < ET VOILA, ON SORT DU 'DEBUG'... N540X1: BYTE KSP;FCCI17 < ON N'A PAS TROUVE "!", MAIS N'Y AURAIT- < IL PAS LE <SPACE> DE LA COMMANDE "!GO" < RAPIDE ??? WORD N540 < NON, ALLONS DONC VOIR L'INCREMENTATION, < ET L'INDIRECTION... BYTE K;FCCI10 < OUI, Y-A-T'IL BIEN L'<EOM> ??? WORD N540X2 < OK, C'EST "!GO"... WORD N453 < NON, ERREUR DE SYNTAXE... N540X2: BYTE K;FCCI1 WORD TRAD < OK, ON REPASSE EN RELATIF... BYTE K;FCCI1 WORD MASTER < QUEL EST LE MODE DE L'UTILISATEUR ??? WORD N85 < MAITRE ET SOUS 'SVC', OU BIEN ESCLAVE < SOUS 'QUIT' ; ALLONS DONC TRAITER LE < "!GO" DIRECT"... BYTE LOM60;FCCI0 < ET BIEN, IL ETAIT EN MODE ESCLAVE < SOUS 'SVC', ON LE REMET EN MODE MAITRE < ET ON LUI DIT... WORD M60 BYTE K;FCCI7 < PUIS SAUT DANS LA GRAMMAIRE : WORD N85 < ET ON VA VERS "!GO" DIRECT... < < M E S S A G E D U D E B U G : < N453: BYTE K;FCCI1 WORD DISPCA < EDITION PARTIELLE DE LA CARTE JUSQU'AU < CARACTERE EN ERREUR... BYTE LOM40;FCCI0 WORD M40 < MESSAGE '??'. BYTE K;FCCI7 < 'CCI JMP' : WORD N451 < PUIS, VERS L'INTERROGATION DU DEBUG... < < A N A L Y S E D E S C O M M A N D E S : < N454: BYTE KRA;FCCI5 WORD N455 < <OPERANDE>=A. BYTE KRB;FCCI5 WORD N457 < <OPERANDE>=B. BYTE KRX;FCCI5 WORD N459 < <OPERANDE>=X. BYTE KRY;FCCI5 WORD N461 < <OPERANDE>=Y. BYTE KRC;FCCI5 WORD N463 < <OPERANDE>=C. BYTE KRL;FCCI5 WORD N465 < <OPERANDE>=L. BYTE KRW;FCCI5 WORD N467 < <OPERANDE>=W. BYTE KRK;FCCI5 WORD N469 < <OPERANDE>=K. BYTE KRP;FCCI5 WORD N471 < <OPERANDE>=P. BYTE KRSTAT;FCCI5 WORD N473 < <OPERANDE>=S. BYTE KRAD;FCCI5 WORD N475 < <OPERANDE>=@. BYTE KRMEM;FCCI5 WORD N477 < <OPERANDE>=M. BYTE KRSLOT;FCCI5 WORD N477O1 < <OPERANDE>=O. BYTE KRMOT0;FCCI5 WORD N477A0 < <OPERANDE>=0. BYTE KRMOT1;FCCI5 WORD N477A1 < <OPERANDE>=1. BYTE KRMOT2;FCCI5 WORD N477A2 < <OPERANDE>=2. WORD N453 < ERREUR. N455: BYTE RA;FCCI1 < <OPERANDE>=A (K). WORD SADBG < SAVE <OPERANDE> DANS Y. WORD N478 N457: BYTE RB;FCCI1 < <OPERANDE>=B (1). WORD SADBG WORD N478 N459: BYTE RX;FCCI1 < <OPERANDE>=X (2). WORD SADBG WORD N478 N461: BYTE RY;FCCI1 < <OPERANDE>=Y (3). WORD SADBG WORD N478 N463: BYTE RC;FCCI1 < <OPERANDE>=C (4). WORD SADBG WORD N478 N465: BYTE RL;FCCI1 < <OPERANDE>=L (5). WORD SADBG WORD N478 N467: BYTE RW;FCCI1 < <OPERANDE>=W (6). WORD SADBG WORD N478 N469: BYTE RK;FCCI1 < <OPERANDE>=K (7). WORD SADBG WORD N478 N471: BYTE RP;FCCI1 < <OPERANDE>=P (8). WORD SADBG WORD N478 N473: BYTE RS;FCCI1 < <OPERANDE>=S (9). WORD SADBG WORD N478 N475: BYTE RAD;FCCI1 < <OPERANDE>=@ (10). WORD SADBG WORD N502 N477: BYTE RM;FCCI1 < <OPERANDE>=M (11). WORD SADBG WORD N502 N477O1: BYTE K;FCCI1 < <OPERANDE>=O (12), WORD TDEBAB < EST-ON BIEN SOUS 'DEBUG' ABSOLU ??? WORD N453 < NON, ERREUR... BYTE RSLOT;FCCI1 < OUI... WORD SADBG WORD N502 N477A0: BYTE RMOT0;FCCI1 < <OPERANDE>=0 (13), WORD SADBG WORD N502 N477A1: BYTE RMOT1;FCCI1 < <OPERANDE>=1 (14), WORD SADBG WORD N502 N477A2: BYTE RMOT2;FCCI1 < <OPERANDE>=2 (15). WORD SADBG N502: BYTE K;FCCI1 < DANS LE CAS DE '@', 'M', 'O', '0', '1' ET < '2' ON FAIT COMME SI 'T' ETAIT DEMANDE... WORD SADTBG < (Y)=-(Y). WORD N480 BYTE LOM60;FCCI0 < ON A FAIT UN RETOUR EN MODE MAITRE POUR WORD M60 < L'UTILISATEUR : ON LUI DIT... BYTE K;FCCI7 WORD N480 < ET ON VA VOIR CE QUI EST DEMANDE... N478: BYTE KTRAP;FCCI17 < TEST DU MODE 'T'. WORD N480 BYTE K;FCCI1 WORD SADTBG < MEMORISATION DE LA DEMANDE < DE MODE 'T'. WORD N483 < ICI, SEUL LE DISPLAY EST AUTORISE. BYTE LOM60;FCCI0 < ON A FAIT UN RETOUR EN MODE MAITRE POUR WORD M60 < L'UTILISATEUR : ON LUI DIT... BYTE K;FCCI7 WORD N483 < ET ON VA VERIFIER QU'UN 'DISPLAY' A ETE < DEMANDE... N480: BYTE KINF;FCCI5 WORD N481 < MODIFY. BYTE KVIR;FCCI5 WORD N481 < MODIFY ('<' OU ','). N483: BYTE KSUP;FCCI5 WORD N484 < DISPLAY. BYTE KPOINT;FCCI5 WORD N484 < DISPLAY ('>' OU '.'). N484: BYTE K;FCCI10 < TEST <EOM>. < (CAS OU '>'/'.' EST ABSENT). WORD N492 < OK, DISPLAY ACCEPTE. WORD N453 < ERREUR. < < C O M M A N D E D E M O D I F Y : < N481: BYTE K;FCCI1 WORD SVDBG < SAVE <VALEUR>. BYTE K;FCCI10 < TEST <EOM>. WORD N486 < MODIFY ACCEPTE. WORD N453 < ERREUR. N486: BYTE K;FCCI1 WORD TRDBG < TEST <OPERANDE> RESIDENTE ???? WORD N488 < <OPERANDE> RESIDENTE. BYTE K;FCCI1 < CAS <OPERANDE> NON RESIDENTE. WORD IPATCH < BLOCAGE DU SWAPPING DE L'ESCLAVE, < AFIN DE RENDRE SON ESPACE < MEMOIRE RESIDENT. BYTE K;FCCI2 < SUSPENSION DU CCI, AVEC RETOUR < IMMEDAIT, L'ESPACE ETANT < RESIDENT. N488: BYTE K;FCCI1 WORD MODBG < EXECUTION DU MODIFY. WORD N489 < OK, MODIFY EXECUTE. WORD N500 < ERREUR DANS L'EXECUTION DU < MODIFY. N489: BYTE K;FCCI1 WORD TRDBG < TEST DE RESIDENCE. WORD N451 < VERS L'INTERROGATION ESCLAVE. N490: BYTE K;FCCI1 < CAS DE NON RESIDENCE. WORD PATCHD < DEBLOCAGE DU SWAPPING DE < L'ESCLAVE. BYTE K;FCCI2 < SUSPENSION DU CCI, QUI PERMET < ENTRE AUTRE CHOSE DE PRENDRE < EN COMPTE LE DEBLOCAGE DU < SWAPPING ESCLAVE. < NOTA : ON DETRUIT ALORS < A(DCTESC),X(DCTESC),K(DCTESC), < P(DCTESC) !!!!! BYTE K;FCCI7 < CCI JUMP. WORD N451 < VERS L'INTERROGATION ESCLAVE. N500: BYTE K;FCCI1 WORD TRDBG < TEST DE RESIDENCE APRES UNE < ERREUR A L'EXECUTION DU MODIFY. WORD N453 < RESIDENT : ENVOI DE '??'. BYTE K;FCCI1 < CAS NON RESIDENT. WORD PATCHD < DEBLOCAGE DU SWAPPING ESCLAVE. BYTE K;FCCI2 < SUSPENSION DU CCI. BYTE K;FCCI7 < CCI-JUMP VERS L'EMISSION DE '??'. WORD N453 < < C O M M A N D E D E D I S P L A Y : < N492: BYTE K;FCCI1 WORD TRDBG < TEST DE RESIDENCE. WORD N493 < RESIDENT. BYTE K;FCCI1 < CAS NON RESIDENT. WORD IPATCH < BLOCAGE DU SWAPPING ESCLAVE. BYTE K;FCCI2 < DANS LE CAS DE LA NON RESIDENCE, < ON SUSPEND LE CCI,POUR UNE < RE-ENTREE IMMEDIATE. BYTE K;FCCI1 WORD INIBES < RE-INITIALISATION DE ABUFGR < (ET XBUFGR) AU CAS OU LORS < DE LA DISCONNEXION DU CCI, ON < AURAIT CHANGE DE NIVEAU DE < SERVICE !!! WORD N493 N493: BYTE K;FCCI1 WORD DISDBG < EXECUTION DU DISPLAY. WORD N489 < EXECUTION CORRECTE DU DISPLAY. WORD N500 < RETOUR EN ERREUR DU DISPLAY. < < A D R E S S A G E I N D I R E C T E T , < I N C R E M E N T A T I O N / D E C R E M E N T A T I O N @ < N540: BYTE KCR;FCCI5 < EST-CE <R/C> ??? WORD N541 < OUI, C'EST L'INCREMENTATION < AUTOMATIQUE (+1) DE @. BYTE KEOT;FCCI17 < EST-CE <EOT> ??? WORD N504 < NON. < < CAS DE L'INDIRECTION : < BYTE K;FCCI1 WORD MASTER < L'UTILISATEUR EST-IL SOUS 'SVC' ??? WORD N510A4 < NON, OU BIEN IL Y EST MAIS EST RESTE < EN MODE MAITRE... BYTE LOM60;FCCI0 < IL EST SOUS 'SVC' EN MODE ESCLAVE, ON WORD M60 < LE REMET EN MODE MAITRE ET LUI DIT... N510A4: BYTE K;FCCI1 WORD AINDIR < PREPARATION DE L'ADRESSAGE < INDIRECT PAR (Y)=-1<0. WORD N510A < VERS LA MODIFICATION DE @. < < CAS DE L'INCREMENTATION AUTOMATIQUE : < N541: BYTE K;FCCI1 WORD MASTER < L'UTILISATEUR EST-IL SOUS 'SVC' ??? WORD N510A5 < NON, OU BIEN IL ETAIT RESTE EN MODE < MAITRE... BYTE LOM60;FCCI0 < SOUS 'SVC', IL EST PASSE EN MODE ESCLAVE, WORD M60 < ON LE REMET EN MODE MAITRE, ET ON LUI < DIT... N510A5: BYTE XCCIP1;FCCI1 < PREPARATION DU '+1' AUTOMATI- < QUE ET (B)=1. WORD PLUS1 WORD N510A < INCREMENTATION DE @. N504: BYTE KPLUS;FCCI5 WORD N508 < C'EST +@. BYTE KMOINS;FCCI5 WORD N507 < C'EST -@. WORD N454 < VERS LA RECHERCHE <OPERANDE>. < < CAS DE "-@" : < N507: BYTE K;FCCI1 WORD SVDBG < MISE DE <VALEUR> DANS 'VALESC'. BYTE K;FCCI10 < TEST DE <EOM> ??? WORD N510A1 < OK, IL EST LA... WORD N453 < ERREUR, ABSENT... N510A1: BYTE K;FCCI1 WORD MASTER < AU CAS OU UN UTILISATEUR SOUS 'SVC' < SERAIT REVENU EN MODE ESCLAVE... WORD N510A2 < ET BIEN NON, IL EST EN MODE MAITRE... BYTE LOM60;FCCI0 < OUI, ON LUI SIGNALE UN RETOUR EN MODE WORD M60 < ESCLAVE ET A 'RETSVC'... N510A2: BYTE YCCIM;FCCI1 WORD SADBG < MEMORISATION DANS 'Y' DE "+@"... < NOTA : ON LE FAIT APRES 'M60' CAR MAL- < HEUREUSEMENT, 'FCCI0' DETRUIT 'Y'... WORD N510A < VERS LA REALISATION DE L'OPERATION < DEMANDEE... < < CAS DE "+@" : < (NOTA : ON DUPLIQUE UNE < BONNE PARTIE DU CODE DE < "+"/"-", CAR EN EFFET, < ETANT DONNE QUE 'FCCI0' < DETRUIT 'Y', ON NE PEUT < MEMORISER "+"/"-" QU'APRES < L'EVENTUEL 'M60'...) < N508: BYTE K;FCCI1 WORD SVDBG < MISE DE <VALEUR> DANS 'VALESC'. BYTE K;FCCI10 < TEST <EOM>. WORD N510A6 < OK, <EOM> RECONNU. WORD N453 < ERREUR. N510A6: BYTE K;FCCI1 WORD MASTER < AU CAS OU UN ESCLAVE SOUS 'SVC' SE SERAIT < MIS EN MODE ESCLAVE... WORD N510A3 < ET BIEN NON... BYTE LOM60;FCCI0 < OUI : ON SIGNALE LE RETOUR EN MODE WORD M60 < MAITRE PAR UN MESSAGE... N510A3: BYTE YCCIP;FCCI1 WORD SADBG < MEMORISATION MAINTENANT (A CAUSE DE < 'FCCI0') DE "-@"... < < EXECUTION DE "+@"/"-@" : < N510A: BYTE K;FCCI1 WORD IPATCH < BLOCAGE DU SWAPPING DE < L'ESCLAVE POUR RENDRE SON < ESPACE RESIDENT. WORD N511 N511: BYTE K;FCCI2 < SUSPENSION DU CCI. BYTE K;FCCI1 WORD PMDBG < MAJ DE @ AVEC <VALEUR>. WORD N490 < VERS LE DEBLOCAGE DU SWAPPING < DE L'ESCLAVE. XWOR%2: VAL MKCCI=K < UTILISATION DU MASQUE DES BITS 0-3. XWOR%2: VAL -XWOR%2 < POUR UN DECALAGE A DROITE... XWOR%1: VAL $-ZERO>XWOR%2 IF XWOR%1-ADGCCI,,XEIF%, IF MAUVAISE IMPLANTATION... XEIF%: VAL ENDIF CALL #SISP CMS5 DOL2# PAGE < < < C O N S T A N T E S D E V I R T U A L I S A T I O N < D E S E S P A C E S D E ' D K M ' E T ' D K U ' : < < XAXCYL:: VAL 400 < NOMBRE DE CYLINDRES DE 'DKM' ET 'DKU', CAXCYL:: VAL 8 < NOMBRE DE CYLINDRES PAR GROUPE DE CYLIN- < DRES ; LES CYLINDRES SONT EN FAIT VIR- < TUALISES PAR GROUPE... GAXCYL:: VAL XAXCYL/CAXCYL < NOMBRE DE GROUPES DE CYLINDRES. IF GAXCYL*CAXCYL-XAXCYL,,XEIF%, IF ATTENTION : LE NOMBRE DE CYLINDRES N'EST PAS UN IF NOMBRE ENTIER DE CYLINDRES !!! XEIF%: VAL ENDIF NLS PAGE CALL #SISP CMS5 DOL1# XWOR%9: VAL $-ZERO < SAUVEGARDE DU "$" COURANT... $EQU N80+XCCIM2 WORD N4 < ON RECONSTITUE LE VERITABLE CHAINAGE < VERS LE TEST DES NUMEROS DE COMPTE < PERMETTANT DE SAVOIR SI UNE ENTREE < DE TOM ED ESSAP SE JUSTIFIE... $EQU N48X2+XCCIM1 WORD N4X1 < DE MEME APRES LES COMMANDES "!W..." ET < "!U", ON TESTERA L'<ACN> ET L'UTILISI- < SATION DE ":SYS" OU ":JFC" IMPLIQUERA < LA DEMANDE DU TOM ED ESSAP... $EQU ZERO+XWOR%9 < RESTAURATION DU "$" COURANT... < < < T E S T D E L A N E C E S S I T E < D U T O M E D E S S A P : < < N4: BYTE LOM2;FCCI0 < MESSAGE. WORD M2 BYTE LODATE;FCCI0 < ENVOI DE LA DATE ET HEURE. WORD DATE BYTE K;FCCI1 WORD APWAIT < INCREMENTATION DE NUSERA, < REINITIALISATION DE L'HORLOGE < ET DE LA PATTERN CYCLIQUE DE < SWAPPING OUT. N4X1: BYTE K;FCCI19 AN335: WORD N335X2 < CAS D'UN LOGIN SYSTEME... < (LORS D'UN LOGIN SOUS :SYS). BYTE K;FCCI9 BYTE XXK1;XXK2;XXK3;XXK4 WORD N335X3 < CAS D'UN LOGIN PERSONNEL... < (CAS D'UN LOGIN SOUS :JFC) BYTE K;FCCI1 WORD TESSYS < ETAIT-ON INITIALEMENT SOUS ":SYS" ??? < A NOTER : < 1 - ON TESTE EXPLICITEMENT ":SYS" PAR < 'FCCI19' CI-DESSUS A CAUSE DU LOGIN, < CAR ALORS 'IDESC2' N'EST PAS ENCORE PO- < SITIONNE ; < 2 - ALORS QUE LORSQU'ON ARRIVE PAR LES < COMMANDE "!W..." ET "!U" ON PEUT ETRE < SOUS UN <ACN> DIFFERENT DE ":SYS" TOUT < EN S'ETANT LOGUE INITIALEMENT SOUS ":SYS" < 3 - D'OU CES 2 TESTS EN APPARENCE REDON- < DANT... WORD N335X4 < CAS D'UN LOGIN INITIAL SOUS ":SYS"... WORD N5 < CAS DES AUTRES NUMEROS DE COMPTE... < < < E N T R E E D U T O M E D E S S A P : < < N335: BYTE XNECHO;FCCI6 < LECTURE DU TOM ED ESSAP DE :SYS. N335X1: EQU N335 < A N335X2: EQU N335 < CAUSE N335X3: EQU N335 < DE L'ASSEMBLEUR... N335X4: EQU N335 < (MEME REMARQUE...) BYTE K;FCCI12 < TEST INTERACTIF/BATCH WORD CTRLC < MODE INTERACTIF BYTE KCR;FCCI17 < R/C POUR LE BATCH (12-8-1 SUR CARTES), < (PUISQUE HDLCR1 EN LECTURE ASCI < SUBSTITUE R/C AU CTRL-C Q'IL < A INTERPRETE COMME UN NULL) WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE KCG;FCCI17 < "[" (12-8-2 EN PERFO-MULTIPLES) ??? WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! WORD N337 < VERS TEST <EOT> CTRLC: BYTE KETX;FCCI17 < CTRL-C. WORD N830X1 < NON, C'EST PEUT-ETRE LE CHEVAL DE TROIE ? WORD CTRLSM CTRLSM: BYTE KGS;FCCI17 < CTRL-SHIFT-M ('GS'):POUR < QUE LE TOM ED ESSAP NE SOIT PAS < RENVOYE EN ALPHA-NUMERIQUE < SUR LA VISU (ASTUCE!!!). WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! SECRET: BYTE KSTAR;FCCI17 < CARACTERE DE ESSAP SECRET !!! WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE XK1;FCCI17 WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE XK2;FCCI17 WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE XK3;FCCI17 WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE XK4;FCCI17 WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE KUN;FCCI17 WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE KQUATR;FCCI17 WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE KSEPT;FCCI17 WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE KZERO;FCCI17 WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE KNEUF;FCCI17 WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE KSEPT;FCCI17 WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE KCINQ;FCCI17 WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE KUN;FCCI17 WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE KUN;FCCI17 WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE KQUATR;FCCI17 WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE KTROIS;FCCI17 WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE KHUIT;FCCI17 WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE KZERO;FCCI17 WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE XXK1;FCCI17 WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE XXK2;FCCI17 WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE XXK3;FCCI17 WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE XXK4;FCCI17 WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! NTRN BYTE XXCMS5/BASE10(K=FCREST=FCBA(MOCD;FCCI17 TRN WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! IF XMPASS-KNUL,,XEIF%, BYTE XMPASS;FCCI17 < CARACTERE SPECIAL EVENTUELLEMENT DONNE < AU DEBUT DE L'ASSEMBLAGE ; S'IL N'EST < PAS PRECISE, IL NE PREND PAS DE VALEUR < PAR DEFAUT, ET LE TOM ED ESSAP RESTE < "STANDARD"... WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! XEIF%: VAL ENDIF XWOR%1: VAL COSBT?BITPAR=FMASK(K=FCINST BYTE KDLE?XWOR%1;FCCI17 < CTRL-P... WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! N337: BYTE KEOT;FCCI17 < EOT. WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE K;FCCI19 < EST-CE ":SYS" ??? WORD N337X < OUI, MEMORISONS-LE... WORD N5 < NON, C'EST DONC ":JFC"... < ALLONS VERS L'INTERROGATION... N337X: BYTE K;FCCI1 WORD INDSYS < MEMORISATION DE ":SYS" INITIAL... WORD N5 < VERS L'INTERROGATION... WORD N5 < ON NE SAIT JAMAIS... < < < C H E V A L D E T R O I E : < < N830X1: BYTE KCCI;FCCI17 < CARACTERE DES COMMANDES ??? WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE KC;FCCI17 < "!CMS" ??? WORD N830X2 < NON, PEUT-ETRE "!DATE" ??? BYTE KM;FCCI17 < "!CMS" ??? WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE KS;FCCI17 < "!CMS" ??? WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE K;FCCI1 < C'EST LA COMMANDE "!CMS" : WORD HORSE < ALLONS IDENTIFIER LE SYSTEME INTERLO- < CUTEUR... WORD N335 < PUIS, ON REDEMANDE LE TOM ED ESSAP... < < < C O M M A N D E D A T E & H E U R E : < < N830X2: BYTE KD;FCCI17 < "!DATE" ??? WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE KA;FCCI17 < "!DATE" ??? WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE KT;FCCI17 < "!DATE" ??? WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE KE;FCCI17 < "!DATE" ??? WORD N830 < ERREUR : ON FORCE UN LOGOUT !!! BYTE K;FCCI10 < <EOM> EST-IL BIEN LA ??? WORD N830X3 < OUI, ALLONS DONNER LA DATE... WORD N830 < NON, ON FORCE UN LOGOUT !!! N830X3: BYTE LODATE;FCCI0 < ENVOI DE LA DATE & HEURE. WORD DATE BYTE K;FCCI7 < SAUT VERS L'INTERROGATION CCI. WORD N335 < PUIS ON REDEMANDE LE TOM ED ESSAP... < < < 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 : < < XWOR%2: VAL MKCCI=K < UTILISATION DU MASQUE DES BITS 0-3. XWOR%2: VAL -XWOR%2 < POUR UN DECALAGE A DROITE... XWOR%1: VAL $-ZERO>XWOR%2 IF XWOR%1-ADGCCI,,XEIF%, IF MAUVAISE IMPLANTATION (A CAUSE DES AUTO-RELAIS...) !!! XEIF%: VAL ENDIF CALL #SISP CMS5 DOL2# LST