IDP "DELETE FILE - RELEASE 01/06/1979" IDP "JOHN F. COLONNA" EOT #SIP DEFINITION CMS5# < < < E N - T E T E D U P R O C E S S E U R : < < LOCAL ZERO: EQU $ DZS 'B ASCI "DF " < NOM DU PROCESSEUR COMPATIBLE < AVEC !GE. BYTE '04;'D0 < <EON>-'P'+'80. WORD '200 < NBRE D'OCTETS NECESSAIRE AU < RUN DE DELETE-FILE (DESTINE < A !CALL). WORD PDELF < @DE RUN DE DELETE-FILE (DESTINE < AUX APPELS PAR !GE ET AUX < APPELS DIRECTS PAR CCI). WORD LOC+'80 < VALEUR INITIALE DE LA BASE L. < < < I N I T I A L I S A T I O N D U P R O C E S S E U R : < < PROG PDELF: EQU $ < @DE RUN DE DELETE-FILE (P='12). LRP L LA -1,L LR A,L < INITIALISATION DE L. BR -'80,L < ET C'EST PARTI ... PAGE < < < L O C A L : < < LOCAL LOC: EQU $ WORD DELETE < @DE L'ENTRY DU PROCESSEUR. < < C A R T E S D E C O N T R O L E P R O G R A M M E E S : < IF ORDI-"T",XWOR%,,XWOR% M1: ASCI "!SGN" < CARTE D'APPEL DE SGN PAR CCI. BYTE '04;0 < EOT DE FIN DE CARTE. M2: ASCI "!ASSIGN 3=" < CARTE DE DESASSIGNATION DU NVP=3. BYTE "R";'04 M3: ASCI "!ASSIGN 3=O," < CARTE D'OPEN DU NVP=3 SUR < UN FICHIER EN MODE OLD. XWOR%: VAL 0 IF ORDI-"S",XWOR%,,XWOR% M3: ASCI "!ASSIGN 9=D-" XWOR%: VAL 0 FILE: DZS 20 < NOM DU FICHIER A DELETER , < TERMINE COMME TOUS LES NOMS < PAR UN EOT. M4: BYTE '6D;"F" ASCI "ILE=" < MESSAGE D'INVITATION A ENVOYER < LE NOM DU FICHIER A DELETER. M5: BYTE '6D;"?" ASCI "? " < MESSAGE D'ERREUR DE DELETE-FILE < COMPATIBLE AVEC LE MESSAGE < D'ERREUR DU CCI. IF ORDI-"T",XWOR%,,XWOR% M6: ASCI "!ASSIGN 3=" BYTE "S";'04 M7: ASCI "!ASSIGN 4=" BYTE "S";'04 M8: ASCI "!ASSIGN 5=" BYTE "S";'04 M9: ASCI "!ASSIGN 6=" BYTE "S";'04 M10: ASCI "!ASSIGN 7=" BYTE "S";'04 M11: ASCI "!ASSIGN 8=" BYTE "S";'04 XWOR%: VAL 0 M12: ASCI "!ASSIGN 9=" BYTE "S";'04 < < ADRESSES : < ACCI: WORD CCI < ROUTINE APPEL CCI INTERPRETATIF. < < D E M A N D E S A C M S 4 : < DEMERR: WORD '0202 < ENVOI DU MESSAGE D'ERREUR. WORD M5-ZERO*2 WORD 3 CCI1: WORD '0001 < RETOUR AU CCI. CCI2: WORD '0002 < ACCES AU CCI NON INTERACTIF. WORD 0 < @OCTET DE LA CARTE DE CONTROLE < PROGRAMMEE DESTINEE AU CCI < NON INTERACTIF. WORD 80 < 80 CARACTERES MAX. IF ORDI-"T",XWOR%,,XWOR% DEMSGN: WORD '0302 < DEMANDE DE DELETE-NOM AU SGN. WORD FILE-ZERO*2 < @OCTET DU NOM A DELETER. WORD 40 < LONGUEUR MAX. WORD -1 XWOR%: VAL 0 DEMOUT: WORD '0202 < ENVOI DU MESSAGE D'INVITATION. WORD M4-ZERO*2 WORD 6 DEMIN: WORD '0101 < ENTREE DU NOM DU FICHIER < A DELETER. WORD FILE-ZERO*2 WORD 40 < < P I L E D U P R O C E S S E U R : < PILE: DZS 4 PAGE < < < P R O C E S S E U R D E D E L E T E - F I L E : < < < FONCTION : < CE PROCESSEUR DESASSIGNE LES < NVP DE '03 A '09, PUIS DEMANDE < LE NOM DU FICHIER , FAIT UN OPEN OLD < DESSUS , PUIS UN CLOSE RELEASE , < ET APRES S'ETRE ASSIGNE AU SGN , ENVOIE < UNE DEMANDE DE DELETE DU NOM DU FICHIER < DANS L'ESPACE UTILISATEUR . POUR < TERMINER CE FESTIVAL , IL DESASSIGNE. < < PROG DELETE: EQU $ < ENTRY. LAD PILE-1 LR A,K < INITIALISATION DU REGISTRE K. IF ORDI-"T",XWOR%,,XWOR% < < INHIBITION DU ALT-MODE : < LAI -1 WORD '1EB5 < INHIBITION DU ALT-MODE SOLITAIRE. LAI '1B < A=CTRL-SHIFT-K. WORD '1EA5 < CHANGEMENT DU CARACTERE ALT-MODE. < < LIBERATION DES NVP '03 A '09 : < LAD M6 < !ASSIGN 3=S. BSR ACCI LAD M7 < !ASSIGN 4=S. BSR ACCI LAD M8 < !ASSIGN 5=S. BSR ACCI LAD M9 < !ASSIGN 6=S. BSR ACCI LAD M10 < !ASSIGN 7=S. BSR ACCI LAD M11 < !ASSIGN 8=S. BSR ACCI XWOR%: VAL 0 LAD M12 < !ASSIGN 9=S. BSR ACCI < < DEMANDE DU NOM DU FICHIER A DELETER : < LAD DEMOUT SVC 0 < ENVOI DU MESSAGE 'FILE='. LAD DEMIN SVC 0 < LECTURE DU NOM DU FICHIER. < < OUVERTURE EN OLD DU FICHIER : < LAI M3-ZERO*2 STA CCI2+1 LAD CCI2 SVC 0 < ENVOI DE !ASSIGN 3=O,<NOM>. JNE ERREUR < L'OUVERTURE EST IMPOSSIBLE , < ABANDON DU PROCESSEUR. IF ORDI-"T",XWOR%,,XWOR% < < RELEASE DU FICHIER SI L'OPEN EST OK : < LBI M2-ZERO*2 STB CCI2+1 SVC 0 < ENVOI DE !ASSIGN 3=R. JNE $ < BIZARRE ??? < < ACCES A L'ESPACE DES NOMS : < LBI M1-ZERO*2 STB CCI2+1 SVC 0 < ENVOI DE !SGN. < < DELETE DU NOM DU FICHIER DANS L'ESPACE < DES NOMS DE L'UTILISATEUR : < LAD DEMSGN SVC 0 < ENVOI DE LA DEMANDE DE DELETE. JNE $ < BIZARRE ??? < < RELEASE DES NVP OCCUPES PAR !SGN : < LAI M2-ZERO*2 STA CCI2+1 LAD CCI2 SVC 0 < ENVOI DE !ASSIGN 3=R. XWOR%: VAL 0 < < RETOUR AU CCI INTERACTIF : < E1: EQU $ LAD CCI1 SVC 0 < RETOUR A CMS4. JMP DELETE < AU CAS OU UN !GO A ETE RECU. < < SORTIE EN ERREUR DE DELETE-FILE : < ERREUR: EQU $ LAD DEMERR SVC 0 < ENVOI DU MESSAGE D'ERREUR. JMP E1 < VERS LA SORTIE DU PROCESSEUR. < < < A P P E L C C I I N T E R P R E T A T I F : < < < ARGUMENT : < A=@MOT DE LA CARTE A INTERPRETER. < < CCI: EQU $ SLLS 1 < A=@OCTET DE LA CARTE. STA CCI2+1 < MISE DANS L'APPEL CCI. LAD CCI2 SVC 0 < APPEL CCI INTERPRETATIF. RSR PAGE < < < V A L I D A T I O N I M P L A N T A T I O N : < < X120: VAL $-ZERO < LONGUEUR DE !CALL. X120: VAL '3EF-X120 < LONGUEUR DISPONIBLE JUSQU'A 1K. ZEROV: EQU ZERO+X120 < ERREUR VOLONTAIRE D'ASSEM- < BLAGE SI MAUVAISE IMPLANTATION. END PDELF