< 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
Copyright © Jean-François COLONNA, 2011-2024.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2011-2024.