Show pageBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. {{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: RESTMERG864)}} ====== RESTMERG864 ====== (George Source) **Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:BITDEFS|BITDEFS]], [[george:macro:BS|BS]], [[george:macro:BWNZ|BWNZ]], [[george:macro:BWZ|BWZ]], [[george:macro:BXE|BXE]], [[george:macro:BXL|BXL]], [[george:macro:BXU|BXU]], [[george:macro:COOR1|COOR1]], [[george:macro:DCA|DCA]], [[george:macro:DELETE|DELETE]], [[george:macro:FIELDDEF|FIELDDEF]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GPERI|GPERI]], [[george:macro:HUNTMISB|HUNTMISB]], [[george:macro:JBC|JBC]], [[george:macro:JBCC|JBCC]], [[george:macro:JBS|JBS]], [[george:macro:JFNZ|JFNZ]], [[george:macro:LF|LF]], [[george:macro:LOCK|LOCK]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:REWIND|REWIND]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:STEP|STEP]], [[george:macro:STEPAGAIN|STEPAGAIN]], [[george:macro:STF|STF]], [[george:macro:TESTNAMX|TESTNAMX]], [[george:macro:TESTREP2|TESTREP2]], [[george:macro:UNLOCK|UNLOCK]], [[george:macro:UP|UP]] <code - RESTMERG864.txt>22FL ... SEG RESTMERG,864,PETER CAMPBELL,RESTORE 22^= # 23DW SEGENTRY K1RESTMERG,X1RESTMERG 23YG SEGENTRY K2RESTMERG,X2RESTMERG 24D6 # 24XQ # THIS SEGMENT IS USED BY THE RESTORING ROUTINES RESTOREG & RESTLIMB 25CB # TO MERGE A DIRECTORY READ FROM AN INCREMENT DUMP TAPE WITH THE 25X2 # 'SKELETON' DIRECTORY FOR ITS FILES PREVIOUSLY READ FROM TAPE 26BL # ENTRY A MAGNETIC TAPE IS POSITIONED AFTER THE START SENTINEL FO 26W= # DIRECTORY TO BE MERGED. 27*W # THE TOP FILE OPEN CONTAINS THE SKELETON ENTRIES TO BE MER 27TG # METHOD EACH ENTRY IN THE BLOCKS ON TAPE IS EXAMINED (READ INTO F 28*6 # BLOCK). FOR THOSE FILES DUMPED IN THE CURRENT INCREMENT 28SQ # CORRESPONDING SKELETON ENTRY IS FOUND IN THE TOP FILE 29#B # OPEN.THE ECOPS WORD IN THE ENTRY IS REPLACED BY THAT IN 29S2 # THE SKELETON ENTRY WHICH IS DELETED AND THE ENTRY IS 2=?L # APPENDED, THE NEW BLOCKS RECORD IS APPENDED AND 2=R= # THEN A TEST IS MADE TO SEE IF AN INDEX RECORD 2?=W # NEEDS APPENDING. FINALLY THE OLD USER TRAPS ARE 2?QG # APPENDED AND PROCESS REPEATED FOR EACH DIRECTORY ENTRY. 2#=6 # MAGNETIC TAPE ENTRIES AND ENTRIES WHICH DO NOT HAVE A 2#PQ # CORRESPONDING SKELETON ENTRY ARE MARKED AS HAVING NO 2*9B # COPIES. 2*P2 # EXIT THE DIRECTORY HAS BEEN MERGED 2B8L # THE TAPE IS POSITIONED AFTER EFS OF DIRECTORY 2BN= # UP NORMAL EXIT 2C7W # ANY ANAMOLY CAUSES ENTRY INTO RESTERR SEGMENT 2CMG # 2D76 # 2DLQ # 2F6B # USE OF ACCS. AND AWORK WORDS 2FL2 # ---------------------------- 2G5L # 2GK= BITDEFS 4,0,XBINDEX,XBBLOCKS,XBDIR 2H4W FIELDDEF NUMTRAPS,9,4,23 2HJG # X4 USED AS A BIT & FIELD WORD. DEFINED AS FOLLOWS: 2J46 # XBINDEX CURRENT DIR. ENTRY IS INDEXED (IN SKELETON ENTRY) 2JHQ # XBBLOCKS CURRENT DIR. ENTRY HAS A BLOCKS RECORD (I.E. WAS DU 2K3B # THIS INCR.) 2KH2 # XBDIR DIR. ENTRY CURRENTLY BEING DEALT WITH IS FOR A DIRE 2L2L # NUMTRAPS NO. OF TRAP RECORDS IN TAPE DIR. ENTRY (ASSUMED TO 2LG= # X3 USED VARIOUSLY AS POINTER TO FILE/FRESTOR BLOCK, POINTER TO 2L^W # RECORD WITHIN THAT BLOCK, STEP & STEP-APPEND POINTERS 2MFG # X5 MODIFIER (-A1) DOWN FILE/FRESTOR FOR CURRENT RECORD AND ALSO 2M^6 # X6 SHORT TIME WORKING WORD 2NDQ # X7 LINK ACCUMULATOR AND WORK WORD 2NYB # AWORK1 NO. OF RECORDS TO SKIP IN TAPE DIR. (BLOCKS AND/OR INDEX REC 2PD2 # OR NEITHER) 2PXL # 2QC= # 2QWW # SUBROUTINES 2RBG # 2RW6 # 2S*Q # READS A BLOCK FROM MT EXAMINING THE REPLY WORD FOR UNEXPECTED BITS. 2STB # GOES TO RESTERR IF B0, B1 OR B3 OF MT REPLY WORD SET. 2T*2 # ON ENTRY, X0= NO. OF WORDS TO READ, X3->BUFFER TO READ INTO. X5 IS S 2TSL # ON EXIT, X1=FX1, X2=FX2, X3-> BUFFER BLOCK. USES X0. 2W#= # 2WRW SREADMT 2X?G SBX 5 FX1 2XR6 LDX 2 FX2 2Y=Q DCA ,STO,0,COUNT [INSERT COUNT OF WORDS 2YQB DCA ,STOZ,,MODE [ READ MODE 2^=2 LDN 0 A1(3) 2^PL DCA ,STO,0,CTSA [SET START OF BUFFER ADDRESS 329= LOCK 3 [LOCK DOWN BUFFER 32NW LOCK 2 338G GPERI ,2 33N6 COOR1 347Q UNLOCK 2 34MB UNLOCK 3 3572 LDCT 0 #640 35LL ANDX 0 CPRW1(2) 366= BNZ 0 XER19 [ERROR IF B0, B1 OR B3 SET IN REPLY W 36KW ADX 5 FX1 375G EXIT 5 0 37K6 # 384Q # GETS A POINTER TO THE NEXT RECORD IN THE DIRECTORY ON TAPE (UPDATING 38JB # X5). JUMPS OUT IF THE END OF DIRECTORY IS REACHED. 3942 # ON ENTRY, X5=MOD. DOWN FRECTOR BLOCK OF CURRENT RECORD (-A1). X7 IS 39HL # ON EXIT, X3->FILE/FRESTOR BLOCK, X5= MOD(-A1) DOWN BLOCK OF NEW RECOR 3=3= # 3=GW SGETREC 3?2G MHUNTW 3,FILE,FRESTOR 3?G6 SMO 5 3?^Q LDEX 0 FRH+A1(3) [X0= LENGTH OF CURRENT RECORD 3#FB ADX 5 0 3#^2 SMO 5 3*DL LDEX 0 FRH+A1(3) [X0= LENGTH OF NEW RECORD 3*Y= BNZ 0 SNLAST [J IF NOT LAST RECORD IN BLOCK 3BCW SGETBL 3BXG SBX 7 FX1 3CC6 LDN 0 GSBS 3CWQ CALL 5 SREADMT [READ NEXT BLOCK FROM TAPE 3DBB ADX 7 FX1 3DW2 LDCT 0 #020 3F*L ANDX 0 CPRW1(2) 3FT= BNZ 0 ZTM [J IF TM DETECTED 3G#W LDEX 0 FRH+A1(3) 3GSG BZE 0 SGETBL [GET NEXT BLOCK IF THIS ONE IS EMPTY 3H#6 [SHOULDN'T HAPPEN BUT MIGHT POSSIBLY 3HRQ LDN 5 0 [INITIALISE POINTER DOWN BLOCK 3J?B SNLAST 3JR2 EXIT 7 0 3K=L # 3KQ= # DOES A STEP-APPEND ON THE FILE AT DEPTH 0. 3L9W # ON ENTRY, X2->RECORD WANT TO APPEND. X7 IS S/R LINK 3LPG # ON EXIT, X1=FX1, X2=FX2, X3->WHERE TO APPEND RECORD. USES X0. 3M96 # 3MNQ SAPPEND 3N8B SBX 7 FX1 3NN2 LDEX 1 FRH(2) [X1= LENGTH OF RECORD 3P7L STEP ,0(1) [STEP-APPEND 3PM= ADX 7 FX1 3Q6W EXIT 7 0 3QLG # 3R66 # RESETS UP POINTER TO CURRENT RECORD IN TAPE DIR. 3RKQ # ON ENTRY, X5= MOD. DOWN CURRENT TAPE BLOCK. X7 IS S/R LINK. 3S5B # ON EXIT, X2->RECORD TO APPEND. USES X0. 3SK2 # 3T4L SFRESTOR 3TJ= MHUNTW 2,FILE,FRESTOR 3W3W ADX 2 5 3WHG ADN 2 A1 3X36 EXIT 7 0 3XGQ # 3Y2B # MOVES A RECORD FROM TAPE OR DUMMY DIR. TO MAKE REAL DIR. 3YG2 # ON ENTRY, X2->RECORD TO MOVE, X3->WHERE TO MOVE IT. X7 IS S/R LINK. 3Y^L # ON EXIT, X1= LENGTH OF RECORD, X2 & X3 AS ON ENTRY. 3^F= # 3^YW SMOVE 42DG LDEX 1 FRH(2) 42Y6 MOVE 2 0(1) 43CQ EXIT 7 0 43XB # 44C2 # 44WL # 45B= # ENTERED FROM RESTOREG & RESTLIMB. 45TW # INITIALISE BUFFER & POINTERS. 46*G X1RESTMERG 46T6 MHUNTW 3,FILE,FRESTOR 47#Q STOZ A1(3) [INITIALISE 1ST WORD OF BUFFER 47SB LDN 5 0 [ AND MODIFIER DOWN BLOCK 48#2 # 48RL # READS A NAME RECORD FROM TAPE (GEOERRS IF IT ISN'T AND NOTES WHAT REC 49?= # ARE PRESENT ON TAPE. CLEARS THE INDEXED BIT & FIELD. 49QW XNAMEREC 4==G LDN 4 0 [CLEAR MARKER WORD 4=Q6 CALL 7 SGETREC [READ (STEP) NAME RECORD FROM TAPE 4?9Q ADX 3 5 [X3-> (RECORD FROM TAPE)-A1 4?PB LDX 0 ERES(3) 4#92 BNZ 0 XGEO [GEOERR IF NOT NAME RECORD 4#NL LDX 2 ENUSE(3) 4*8= STF ,NUMTRAPS,2 [REMEMBER NO. OF TRAPS 4*MW LDX 2 FX2 4B7G STOZ AWORK1(2) [CLEAR "NO. OF TAPE RECS TO SKIP" 4BM6 LDN 7 0 [ AND AGAIN 4C6Q LDX 0 ESER(3) 4CLB BNZ 0 XNCOP [J IF MT ENTRY 4D62 JBCC XNINDEX,3,BEINDEX [CLEAR "INDEXED" BIT 4DKL ADN 7 1 [UPDATE NO. OF TAPE RECORDS TO SKIP 4F5= NGN 0 #100 4FJW ANDS 0 EINDEX(3) [CLEAR INDEX FIELD (B18-23 OF EINDEX) 4G4G [PROBABLY NO NEED FOR THIS, BUT NOT S 4GJ6 XNINDEX 4H3Q LDEX 0 ECOPS(3) 4HHB BZE 0 XNBLOCKS [J IF NO BLOCKS REC ON TAPE 4J32 ADN 7 1 [UPDATE SKIP COUNT 4JGL XNBLOCKS 4K2= STO 7 AWORK1(2) [REMEMBER NO. OF RECORDS TO SKIP IN T 4KFW # 4K^G # BRANCHES IF ENTRANT IS A MT OR IS NOT DUMPED IN THE CURRENT INCREMENT 4LF6 # OTHERWISE LOCATES THE DUMMY NAME RECORD - FOR A TERMINAL FILE IT MUST 4LYQ # 1ST TERMINAL FILE RECORD BUT FOR DIRS. THE ORDER OF DIR. ENTRIES IS N 4MDB # NECESSARILY THE ORDER OF DIRS. DUMPED (IN MK. 8.20+, DUMMY RECORDS FO 4MY2 # PRECEDE THOSE FOR TERMINALS FILES WHICH AGAIN PRECEDE ALL REAL ENTRIE 4NCL # GEOERRS IF DOESN'T FIND THE ENTRY. REMEMBER THAT SEVERAL DIRS. WITH 4NX= # LOCAL NAME (BUT DIFFERENT USER NAMES) AND ONE TERMINAL FILE WITH THAT 4PBW # MAY BE DUMPED IN THE SAME INCR.. SETS INDEXED BIT & INDEX NO. FIELD 4PWG # APPROPRIATE AND ALSO ECOPS. 4PX* ...#UNS FTS2REVERT 4PY8 ...( 4P^3 ... JFNZ XNCOP,3,FEFSNO [ IF ALIEN MUST BE OFFLINE 4P^W ... LDEX 0 ECOPS(3) [ MAY HAVE MESSED UP BY FILE HANDLER 4Q2P ... BZE 0 XNCOP [ 4Q3J ...) 4Q44 ...#UNS AMTGR 4Q4J ... JBS NOTPARTRES,,BGENRES 4Q54 ...#UNS AMTGR 4Q5J ...#SKI 4Q65 ... BWNZ GINCTSN,NOTPARTRES 4Q6Y ... HUNTMISB 1,FI,FRESTUSER 4Q7R ... SMO FRNXT(1) [ POINTER TO USER 4Q8L ... LDX 0 FRINC(1) 4Q9F ... BXU 0 EINC(3),XNCOP 4Q=# ...# JUMP IF THIS FILE NOT DUMPED IN THIS INCREMENT 4Q?7 ... BRN PRES 4Q#2 ...NOTPARTRES 4QB6 LDX 0 EINC(3) 4QTQ SBX 0 JINCLAST 4R*B BNZ 0 XNCOP [J IF NOT DUMPED IN THIS INCR. 4RK8 ...PRES 4RT2 BS ,XBBLOCKS [SET "BLOCKS REC PRESENT" BIT 4S#L LDX 0 EUSE1(3) 4SS= BZE 0 XNOTDIR [J IF NOT A DIR. 4T?W BS ,XBDIR [SET "CURRENT ENTRY IS A DIR." BIT 4TRG XNOTDIR 4W?6 REWIND 4WQQ XSTEP 4X=B STEP 4X*G ...#UNS FTS2REVERT 4XDL ... BZE 3 XNCOP [ FH ???????? 4XHQ ...#UNS FTS2REVERT 4XLW ...#SKI 4XQ2 BZE 3 XGEO [GEOERR IF NO DUMMY ENRTY 4Y9L LDX 0 ERESN(3) 4YP= BNZ 0 XSTEP [J IF NOT NAME REC. 4^8W MHUNTW 2,FILE,FRESTOR 4^NG ADX 2 5 [X2 -> (RECORD FROM TAPE)-A1 5286 JBS XDIR,,XBDIR [J IF LOOKING FOR A DIR. 52MQ LDX 0 EUSE1N(3) 537B BNZ 0 XSTEP [J IF NOT FOUND TERMINAL FILE YET 53M2 XTESTDUM 546L LDX 0 EINCN(3) 549Q ...#UNS FTS2REVERT 54#W ... BPZ 0 XNCOP [ FH ? 54D2 ...#UNS FTS2REVERT 54H6 ...#SKI 54L= BPZ 0 XGEO [GEOERR IF NOT DUMMY ENTRY 54PB ...#UNS FTS2REVERT 54SG ... TESTNAMX 5,ELOC1(2),ELOC1N(3),XSTEP,6 [ FH ???? IF WRONG DU 54XL ...#UNS FTS2REVERT 552Q ...#SKI 555W TESTNAMX 5,ELOC1(2),ELOC1N(3),XGEO,6 [GEOERR IF WRONG DUMMY ENTRY 55KG LDX 6 ECOPSN(3) 5656 STO 6 ECOPS(2) [TRANSFER BLOCKS WORD TO REAL ENTRY 56JQ JBC XXNINDEX,3,BNINDEX [J IF NOT INDEXED 574B BS 2,BEINDEX [SET INDEX BIT IN REAL DIR. ENTRY 57J2 BS ,XBINDEX [REMEMBER INDEX RECORD PRESENT 583L LDX 0 EINDEXN(3) 58H= ANDN 0 #77 592W ORS 0 EINDEX(2) [MOVE INDEX NO. TO DIR. ENTRY 59GG # 5=26 # APPENDS NAME RECORD IN TAPE DIR. TO DIR. & DELETES DUMMY NAME RECORD 5=FQ # IF PRESENT 5=^B XXNINDEX 5?F2 ADN 2 A1 [X2-> RECORD TO APPEND 5?YL CALL 7 SAPPEND [X3-> STEP-APPEND POSITION 5#D= CALL 7 SFRESTOR [SET UP X2 AGAIN 5#XW CALL 7 SMOVE [MOVE RECORD FROM TAPE DIR. TO DIR. 5*CG BZE 6 XNODUM [J IF NO DUMMY ENTRY 5*X6 DELETE [DELETE SKELETON NAME RECORD 5BBQ # 5BWB # APPENDS AND DELETES DUMMY BLOCKS & INDEX RECORDS IF PRESENT. COPES I 5CB2 # COORDINATION OCCURS DURING STEP AND/OR STEP-APPEND. 5CTL XNODUM 5D*= JBC YNOCOP,,XBBLOCKS [J IF NO BLOCKS RECORD 5DSW YSTEP 5F#G STEP 5FS6 YSTEP1 5G?Q LDX 2 3 [X2-> RECORD TO APPEND 5GRB LDX 6 3 [RETAIN POINTER TO RECORD 5H?2 CALL 7 SAPPEND [X3-> STEP-APPEND POSITION 5HQL TESTREP2 COORED,YCOOR 5J== LDX 2 6 [RELOAD POINTER TO RECORD 5JPW CALL 7 SMOVE [MOVE REC TO DIR. 5K9G DELETE [DELETE DUMMY BLOCKS OR INDEX RECORD 5KP6 YNOCOP 5L8Q JBCC YNOINDEX,,XBINDEX [J IF NO INDEX RECORD (CLEAR INDEX MA 5LNB [ THERE I 5M82 BRN YSTEP 5MML YCOOR 5N7= STEPAGAIN [X3-> BLOCKS OR INDEX RECORD AGAIN 5NLW BRN YSTEP1 5P6G # 5PL6 # SKIPS BLOCKS AND INDEX RECORDS ON TAPE AND TRANSFERS TRAP RECORDS FRO 5Q5Q # TAPE DIR. TO DIR.. 5QKB YNOINDEX 5R52 SMO FX2 5RJL LDX 6 AWORK1 [X6= NO. OF RECORDS TO SKIP ON TAPE 5S4= BZE 6 YNOSKIP 5SHW YSKIP 5T3G CALL 7 SGETREC [SKIP BLOCKS OR INDEX RECORD 5TH6 BCT 6 YSKIP 5W2Q YNOSKIP 5WGB LF ,NUMTRAPS,6 [X6= NO. OF TRAPS 5X22 BZE 6 XNAMEREC [J IF NO TRAPS 5XFL YTRAP 5X^= CALL 7 SGETREC [GET NEXT TRAP RECORD 5YDW SMO 5 5YYG LDN 2 A1(3) [X2-> TRAPS RECORD ON TAPE 5^D6 CALL 7 SAPPEND [X3-> STEP-APPEND POSITION 5^XQ CALL 7 SFRESTOR [RESET X2 62CB CALL 7 SMOVE [MOVE TRAPS RECORD FROM TAPE DIR. TO 62X2 BCT 6 YTRAP 63BL BRN XNAMEREC 63W= # 64*W XDIR 64TG TESTNAMX 3,EUSE1(2),EUSE1N(3),XSTEP,6 [USERS MAY BE IN DIFFERENT 65*6 [DUE TO ERASURE OF DIRS. SEARCH BY US 65SQ [SINCE DIR. WITH SAME LOCAL NAME BUT 66#B [DIFFERENT USER NAME MAY HAVE BEEN CR 66S2 [(AND BOTH DUMPED) 67?L BRN XTESTDUM 67R= # 68=W # MT ENTRANT OR FILE NOT IN THIS INCR.. SHOW FILE OFFLINE. 68QG XNCOP 68QK ...#UNS FTS2REVERT 68QN ... JFNZ NOTPARALLEL,3,FEFSNO [ IF ALIEN MUST BE OFFLINE 68QP ...#UNS AMTGR 68QQ ... JBC NOTPARALLEL,,BGENRES 68QR ...#UNS AMTGR 68QS ...#SKI 68QW ... BWZ GINCTSN,NOTPARALLEL [ JUMP IF PARTIAL RESTORES 68R4 ...#UNS FPD 68RL ...( 68S8 ...# THE FILE WAS NOT DUMPED IN THE RESTORED INCREMENT 68SQ ... LDEX 0 ECOPS(3) [ IF THE FILE WAS OFFLINE AT THE TIME 68T# ... BZE 0 NOTPARALLEL [ IGNORE IT 68TW ... MHUNTW 1,FILE,FINTER7 68WD ... LDX 0 EINC(3) 68X2 ... BXL 0 GRPINCNUM(1),NOTPARALLEL 68XJ ...# IF THE FILE WAS DUMPED IN AN INCREMENT LOWER THAN GRPINCNUM IT CAN 68Y6 ...# HAVE BEEN DUMPED IN THE PARALLEL INCREMENT 68YN ... BXE 0 GRPINCNUM(1),PARALLELINC 68^= ...# JUMP IF THE FILE APPEARS TO HAVE BEEN DUMPED IN THE PARALLEL INC 68^S ...# 692B ...# THE FILE MAY HAVE BEEN DUMPED IN A NEW PARALLEL INCREMENT 692Y ...# RESET THE FILE FINTER7 693G ... STO 0 GRPINCNUM(1) [ NEW INCREMENT NUMBER 6944 ... STOZ GRPINCFILES(1) [ CLEAR NO AND SIZE OF FILES IN INCRE 694L ... STOZ GRPINCSIZE(1) [ 6958 ...PARALLELINC 695Q ... LDN 0 1 696# ... ADS 0 GRPINCFILES(1) [ UPDATE NUMBER AND SIZE OF INCREMENT 696W ... LDX 0 ECOPS(3) 697D ... SRL 0 15 [ PICK OUT SIZE OF FILE 6982 ... ADS 0 GRPINCSIZE(1) [ UPDATE NO AND SIZE OF INCREMENT 698J ...NOTPARALLEL 6996 ...) 69=6 LDX 2 3 [X2->NAME RECORD IN TAPE DIR. 69PQ LDN 6 0 6=9B DLA 6 ECOPS(2) [CLEAR FILE ONLINE FIELD 6=P2 BRN XXNINDEX 6?8L # 6?N= # END OF DIR. REACHED (TAPE-MARK READ). READ QUALIFIER BLOCK - CHECK 6#7W # IF IT IS END SENTINEL. 6#MG ZTM 6*76 BNZ 4 XGEO [GEOERR IF NOT TRYING TO READ NAME RE 6*LQ [NON-STANDARD BUT EFFECTIVE USE (X4 I 6B6B [ BIT WO 6BL2 LDN 0 20 6C5L CALL 5 SREADMT [READ QUALIFIER BLOCK 6CK= LDCT 0 #020 6D4W ANDX 0 CPRW1(2) 6DJG BNZ 0 XER21 [ERROR MESSAGE IF TM READ 6F46 LDCT 0 #400 6FHQ BXU 0 ESENTYP(3),XER4 [ERROR MESSAGE IF NOT READ END SENTIN 6G3B # 6GH2 # FOR MARK 8.20+ INCREMENTS, SPARE DUMMY ENTRIES FOR DIRS. MAY BE PRESE 6H2L # (BUT NOT FOR TERMINAL FILES). DELETE THESE. 6HG= X2RESTMERG 6H^W REWIND 6JFG ZSTEP 6J^6 STEP 6KDQ ZSTEP1 6KYB BZE 3 ZEND [J IF NO MORE ENTRIES AT ALL 6LD2 LDX 0 EINCN(3) 6LXL BPZ 0 ZEND [J IF NO MORE DUMMY ENTRIES 6MC= LDX 0 EUSE1N(3) 6MWW ... BZE 0 XSKELETON 6NBG LDN 7 3 6NW6 ZDEL 6P*Q DELETE [DELETE NAME, BLOCKS & INDEX RECORDS 6PTB STEP 6Q*2 BCT 7 ZDEL 6QSL BRN ZSTEP1 6R#= ZEND 6RRW UP 6RXR ...XSKELETON 6S3N ... LDN 7 2 [ ERASE DUMMY SKELETON ENTRYAND BLO 6S7K ... BRN ZDEL 6S?G XGEO 6SR6 GEOERR BRIEFPM,DUMPORD [ ONE OF THE FOLLOWING : 6T=Q [1. NAME REC EXPECTED IN TAPE DIR BUT 6TQB [2. ENTRY NOT FOUND WHEN LOOKING FOR 6W=2 [3. REAL ENTRY FOUND WHEN LOOKING FOR 6WPL [ DUMMY ENTRY 6X9= [4. WRONG DUMMY ENTRY FOUND 6XNW [5. TM DETECTED BUT NOT TRYING TO REA 6Y8G [ NAME RECORD 6YN6 [6. SUPERFLUOUS DUMMY ENTRY NOT A DIR 6^7Q # 6^MB XER4 ACROSS RESTERR,4 [END SENTINEL EXPECTED BUT NOT FOUND 7272 XER19 ACROSS RESTERR,19 [B0, B1 OR B3 SET IN MT REPLY WORD 72LL XER21 ACROSS RESTERR,21 [SUPERFLUOUS TAPE MARK DETECTED 736= # 73KW MENDAREA 30,K99RESTMERG 745G # 74K6 #END ^^^^ ...24131731000100000000 </code> Last modified: 17/01/2024 11:55by 127.0.0.1 Log In