AXR$ $(1) LIT. *** POSTPR - FREE FILES ASSIGNED BY PREPRO OR PREPRM *** . . CODED BY DEREK A. ZAVE . . CALL: LMJ X11,POSTPR . . . . NOTE 1: THE ERROR RETURN WILL BE TAKEN IF ANY OF THE . @FREE OPERATIONS RESULTS IN A BAD STATUS (FILE . NOT ASSIGNED TO THE RUN.) AN ATTEMPT WILL BE . MADE TO FREE ALL OF THE FILES FIRST. . . NOTE 2: THIS ROUTINE IS QUARTER/THIRD-WORD INSENSITIVE . AND I-BANK RE-ENTRANT. ONLY THE MINOR SET OF . REGISTERS IS USED. . POSTPR* LA A3,(1,FREET) A3 = INDEX TO THE ACTIONS LA,U A4,2 A4 = LOOP COUNT LA,U A5,0 A5 = 0 (ERROR FLAG) LA A0,PARTBL A0 = OPTION BITS TOP,U A0,1*/('Z'-'I') 'I'-OPTION ? J POSTP1 NO, BYPASS LXM,U A3,FREETA CHANGE THE ORDER OF THE ACTIONS LA,U A4,1 AND THE COUNT POSTP1 EX 0,*A3 GET THE INTERNAL NAME TE A0,('TPF$ ') J $+3 NOP 0,0,*A3 J POSTP2 DS A0,FILE STORE IT IN THE @FREE IMAGE DS A0,EMF STORE IT IN THE ERROR MESSAGE EX 0,*A3 A0 = @FREE CODE AND,U A0,3 GET THE @FREE OPTION BITS JZ A1,POSTP2 NO ACTION - BYPASS LA A0,FREOPT-1,A1 A0 = @FREE OPTIONS SA A0,FREE+1 STORE THEM LA A0,(4,FREE) A0 = @FREE IMAGE DESCRIPTION ER CSF$ FREE THE FILE JP A0,POSTP2 NO PROBLEMS - BYPASS LA,U A5,1 INDICATE AN ERROR LA A0,PEM PRINT THE ERROR MESSAGE ER PRINT$ POSTP2 JGD A4,POSTP1 LOOP ON A4 SZ,H1 PARTBL+13 CLEAR THE DEVICE CODES JZ A5,1,X11 NO ERRORS - NORMAL RETURN J 0,X11 ERROR RETURN . FREETA DL A0,PARTBL+27 RELOCATABLE OUTPUT LA,S3 A0,PARTBL+13 FREET DL A0,PARTBL+14 SOURCE OUTPUT LA,S2 A0,PARTBL+13 DL A0,PARTBL+27 RELOCATABLE OUTPUT LA,S3 A0,PARTBL+13 DL A0,PARTBL+1 SOURCE INPUT LA,S1 A0,PARTBL+13 . FREOPT 'A ' FREE THE ATTACHED NAME 'AX ' FREE ATTACHED NAME AND EXCLUSIVE USE 'B ' FREE THE WHOLE MESS $(0) . FREE '@FREE,OPTION' FILE + 0D . EM 'FILE NOT ASSIGNED: ' EMF + 0D PEM + 0100+$-EM,EM . END