*20 /// NUMKILL /WILL ZERO OUT DESIRED ENTRIES IS A NUMFILE. /ENTRIES ARE NUMBERED FROM START OF DATA SECTION. /WILL ALSO ZERO OUT FURTHER SECTIONS OF DATA /DEPENDING ON ANSWERS TO NUMBER OF /ITERATIONS AND REPETITION PERIOD /QUERIES. /ENTRIES TO BE OMITTED ARE IN THE FORMAT /N,M,P,Q (CR) /EACH OMIT LINE CORRESPONDS TO ONE INPUT FILE. /AN ENTRY OF 1000 AS A SINGLE ENTRY ON A LINE /CAUSES THE CORRESPONDING FILE ON THE INPUT /LIST TO BE RESTORED WITHOUT MODIFICATION. /TTY CODE FOR ENTRIES LIST. / E - TERMINATE LIST / CR- TERMINATE LIST / A - RESTART LIST / B - BAKUP ONE ENTRY /PROGRAM CORE MAP: / DF 2 -------- FILE NAMES / DF 5, QN7 --- PBLOCK / DF6 --------- NUMFILE DATA / DF 7-37 ----- ENTRIES /PROGRAM LIMITS: / 25K AVAILABLE FOR ENTRIES TO DELETE. / THUS THIS IS VIRTUALLY UNLIMITED AT 1024 / ENTRIES PER DF. / MAX OF 511 FILE NAMES. / MAX OF 40(10) ASCII CHARACTERS IN / EACH LINE OF ENTRY LIST INPUT. REPCK=2376 LMODE SEGMNT 5 *20 D0, BEG, LIF 4 MESOUT MNAM /NUMKILL D1, LIF 4 MESOUT MWARN /DESTRUCT WARNING D2, LIF 4 INUNITS D3, LIF 4 OUTUNITS D4, LIF 4 INTRACT CJ4 M4 /NUM ITERATIONS CJ4, T4 J4 J4, JMP BEG /CR JMP .+1 /NUM COM STC NUMREP D5, LIF 4 INTRACT CJ5 M5 /REP PERIOD CJ5, T4 J5 J5, JMP BEG /CR JMP .+1 /NUM MUL I 3 STA I PERIOD, 0 D6, LIF 4 MESOUT M6 /ENTRIES TO DELETE /SETUP PNTR & DFS FOR ENTRIES INPUT. SET I 2 2000 /ENTRY PNTR LDA I LDF 7 STA LSNDF STC TKNDF /ASK FOR ENTRIES. D7, LIF 4 INTRACT CJ7 M7 /: CJ7, T7 J7 T7, A /RESTART LIST B /BAKUP 1 ENTRY E /TERMINATOR T4, 0 J7, JMP D8 /CR JMP D6 /A JMP BAKUP /B JMP D8 /E JMP GOTONE /NUM GOTONE, SET I 4 4\INBUF-1 /TAKE PNTR SET I 10 -50 /40 CHARACTERS SET I 5 4\BUFIN-1 /PUT PNTR NXTIN, LDF 4 LDH I 4 SHD I 5600 /PERIOD JMP TAKIN /GOOD SHD I 5400 /COMMA JMP TAKIN /GOOD SHD I 4500 /CR JMP LASTIN /END STH I 5 XSK I 10 JMP NXTIN TOOMNI, LIF 4 MESOUT MXS /TO MNI CHAR JMP D6 /ROUTINE TO TAKE IN A CHARACTER FROM BUFIN /AND STORE IN DF2. TAKIN, STH I 5 XSK I 10 SKP JMP TOOMNI INPUT BUFIN TKNDF, 0 /STARTS AS DF7 FIX FAC ISTOR1 4\2 JMP QDELDF /? CHANGE DF JMP NXTIN-2 /END TAKIN. /ROUTINE TO HANDLE CR TERMINATOR. LASTIN, STH I 5 XSK I 10 SKP JMP TOOMNI INPUT BUFIN LSNDF, 0 /STARTS AS DF7 FIX FAC ISTOR1 4\2 JMP QDELDF /? CHANGE DF /NOW PUT DOWN -0 TERMINATOR. CLR COM STA 2 INC2, XSK I 2 NOP JMP D7 /END LASTIN. /ROUTINE TO CHECK & CHANGE DF IF ENTER /NEW ONE. QDELDF, CLR ADD 2 SAE I 2000 JMP 0 /LEAVE, NO CHANGE LDA /INCREMENT DF TKNDF ADD KP1 STA LSNDF STC TKNDF JMP 0 /LEAVE, MODIFIED /END QDELDF. /ROUTINE TO BAKUP ONE ENTRY. BAKUP, JMP DEC2 JMP DEC2 LDA /SET DF TKNDF STC .+1 0 LDA 2 /BAKUP TO LAST SAE I /TERMINATOR. -0 JMP BAKUP+1 JMP INC2 DEC2, CLR ADD 2 ADA I KM1, -1 BSE I 2000 STC 2 XSK 2 /CHECK FOR BOUNDRY JMP 0 /NOCROSS LDA /CROSS TKNDF ADD KM1 STA LSNDF STC TKNDF JMP 0 /END BAKUP & DEC2. /ROUTINE TO ASK FOR FILES. D8, LIF 4 MESOUT M8 /FILES TO CHANGE LIF 4 TABSET 0 LDF 2 2000 /PNTR 1000 /512 ENTRIES MAX D9, LIF 4 INTABLE 0 LIF 4 TABINI 0 /NOW SETUP WORDS. LDF 4 LDA I 7105 STA WORD1 /PBLOCK LDA I 4406 STA WORD2 /DATA /NOW SETUP POINTER & DF. SET I 2 3777 LDA I LDF 6 /BECOMES DF7 STA SKPDF STC DLTDF /NOW GET A FILE. ONEGET, LIF 4 TABGET 0 JMP DUN /EOF JMP MISING /NOT FOUND JMP DELETE /DO DELETION PSTOR, JMP RESTOR /REPLACE FILE JMP ONEGET /RECYCLE DUN, LIF 4 DEASS LIF 4 STOP /RTRN TO SYSTEM MISING, LIF 4 MESOUT MISS /MISSING FILES JMP BEG /END FILE HANDLER. /ROUTINE TO DO ACTUAL DATA DELETION. DELETE, SET 3 0 SET I 10 NUMREP, 0 MRDEL, JMP QDFDEL /? CHANGE DF DLTDF, 0 /STARTS AS DF7 LDA I 2 /A TERMINATOR? SAE I -0 SKP JMP 3 /END /A SKIP ENTRY? SAE I 1750 /1000(10) SKP JMP SKPOVR /GOOD VALUE. MUL I 3 ADA I KP2000, 2000 STC DELADR DELIT, LOAD IGNR LDF 6 STORE DELADR, 0 XSK I 10 SKP JMP MRDEL-2 /GET NXT ENTRY /DELETE SAME ENTRY NEXT PERIOD. ADD DELADR ADD PERIOD STC DELADR JMP DELIT /HANDLE CASE WHERE 1000 WAS ENTERED FROM KBD /WHICH SIGNIFIES CURRENT FILE ON INPUT /LIST IS TO BE BYPASSED WITHOUT /MODIFICATION. SKPOVR, JMP QDFDEL /? CHANGE DF SKPDF, 0 /STARTS AS DF7 LDA I 2 /BUMP 2 SAE I -0 /SHUD BE THIS HLT /ERROR *** JMP PSTOR /RESTORE FILE ANYWAY IGNR, 3737 3737 3737 /ROUTINE TO CHECK FOR END OF CURRENT DF /& IF FOUND, BUMP DF. QDFDEL, XSK 2 /? END OF DF JMP 0 /NO, LEAVE LDA /YES, MODIFY DLTDF ADD KP1 STA SKPDF STC DLTDF JMP 0 /LEAVE, MODIFIED KP1, 1 /END QDFDEL. /END DELETE. /ROUTINE TO RESTORE MODIFIED FILE. RESTOR, SET 3 0 JMP NORPLQ STOR, LIF 4 MSTORIT JMP FULTAP JMP RPLQ JMP 3 /LEAVE FULTAP, LIF 4 MESOUT MER /ERROR JMP BEG /ROUTINES TO REPLACE & RESTORE THE FILE /REPLACE QUESTION IN DECODE. NORPLQ, LDF 4 LDA I JMP 0 STA REPCK JMP 0 RPLQ, LDF 4 LDA I ADD 0 STA REPCK JMP 0 /END NORPLQ & RPLQ. /END RESTOR. /MESSAGES. MNAM, TEXT %NUMKILL % 4543 MWARN, TEXT %PERMANENTLY MODIFIES NAMED FILES% 4543 M4, TEXT %NUMBER OF ITERATIONS: % M5, TEXT %REPETITION PERIOD:% M6, TEXT %ENTRIES TO DELETE % 4543 M7, TEXT %: % M8, TEXT %FILES TO BE MODIFIED% 4543 MXS, TEXT %KBD BUFFER EXCEDED% 4543 MISS, TEXT %MISSING FILES % MER, TEXT %ERROR % 4543 /END MESSAGES. /ASCII BUFFER. BUFIN, 0 0 0 AAEND5, 0 /END PROGRAM. /PBLOCK FOLLOWS. NOLIST //PBLOCK /COMMAND DECODER ASSIGNMENTS / / STOP=JMP 20 SCAN=JMP 21 STRSCN=JMP 21 INUNIT=JMP 22 STORIT=JMP 23 GETFIL=JMP 24 GETFST=JMP 24 GETNAM=JMP 25 GETNXT=JMP 25 DIRINI=JMP 26 DIRLST=JMP 27 ASSIGN=JMP 30 DEASS=JMP 31 OUTUNIT=JMP 32 LODBLK=JMP 33 RUNBLK=JMP 34 FIND=JMP 35 CALL=JMP 37 UNCALL=JMP 40 RUNPRG=JMP 41 INTRACT=JMP 42 MESOUT=JMP 43 DISK=JMP 44 TABSET=JMP 45 INTABLE=JMP 46 MISSNG=JMP 47 TABGET=JMP 50 TABPUT=JMP 51 TABZER=JMP 52 MAKDIL=JMP 53 TABINI=JMP 54 MGETNAM=JMP 55 MGETFIL=JMP 56 MSTORIT=JMP 57 / /COMMAND LOCATIONS. / FILNAM=2320 WORD1=2323 WORD2=2324 INBUF=2325 /COMMAND NUMBERS. YES=17 NO=20 SAMPL=21 TABLE=22 GO=23 NEXT=24 CU=25 CONT=26 ALL=27 AVG=30 A=31 B=32 C=33 D=34 E=35 /EXEC3 ASSIGNMENTS / OPR=500 IOF=6002 ION=6001 EXC=1710 REXC=540 RLSW=514 RRSW=515 /FLOATING POINT DEFINITIONS. / FAC=0 STARTE=740 FSUB=741 FMUL=742 FDIV=743 LOAD=744 STORE=745 SETWRD=746 INPUT=747 OUTPUT=750 ISTOR1=751 SQRT=752 DFLOAT=753 SFLOAT=754 FIX=755 FADD=756 ISTOR2=757 STARTF=760 FCOMP=761 FZER=762 FAPO=763 FAZE=764 RECIP=765 NEXTIN=766 /PBLOCK /FEB 74. LIST ///END NUMKILL /SEPT 76 /FHD