15 22FL ... SEG SAVEFILE,860,SECTION FILE,CLOSE 4 22_= ...# 4 23DW ...# 4 24XQ # 17 25CB # SAVES AND UNSAVES FILES OPEN TO A GIVEN ACTIVITY 19 25X2 # BUT NOT WORKFILES OR COMMUNICATION FILES (EXCEPT THE 16 26BL # MONITORING FILE, OPEN IN SYSTCOM MODE) 19 26W= # K1SAVEFILE IS THE SAVING ENTRY, FROM THE MACRO SAVEACTF 19 27*W # K2SAVEFILE IS THE UNSAVE ENTRY, FROM THE MACRO RESTACTF 4 27TG # 11 28*6 SEGENTRY K1SAVEFILE,XENT1 11 28SQ SEGENTRY K2SAVEFILE,XENT2 4 294J ...# 6 29#B SVB1 4H#### 4 29S2 # 20 2=?L SVA [CHANGES THE SAVING FILE TO THE ACTIVITY BEING SAVED, & MAKES 11 2=R= [THAT THE CURRENT ACTIVITY 21 2?=W [SET UP A FUTILITY BLOCK TO HOLD THE CURRENT ACNUM, AND THE LINK 19 2?QG [PAIR OF THE ACTIVITY BEING SAVED, AND ITS ACCUMULATORS 8 2#=6 SBX 6 FX1 11 2#PQ SETNCORE 12,1,FI,FUTILITY 11 2*9B JOBLOCK ACOMMUNE4(2),3 17 2*P2 BPZ 3 OKJOB [J IF JOB BLOCK FOUND 11 2B8L GEOERR BRIEFPM,JOBLOCK? 5 2BN= OKJOB 15 2C7W FCAJO 3 [FIND THE CPA 15 2CMG MHUNTW 1,FI,FUTILITY [X1->FUTILITY 9 2D76 LDX 4 ACNUM(2) 21 2DLQ STO 4 A1(1) [NO. OF THE SAVING/UNSAVING ACTIVITY 9 2F6B LDN 4 ALINK1(3) 9 2FL2 LDN 5 A1+1(1) 13 2G5L MOVE 4 HLINK [LINK 9 2GK= LDN 4 ACC3(3) 9 2H4W LDN 5 A1+3(1) 19 2HJG MOVE 4 5 [PRESERVE THE ACCUMULATORS 9 2J46 LDX 4 AMFMS(3) 14 2JHQ STO 4 A1+8(1) [PRESERVE 21 2K3B STOZ AMFMS(3) [STOP ANY OP TO YET-UNSAVED MON FILE 18 2KH2 CHAIN 1,3 [AFTER LOCKED ACTIVITY 7 2L2L LOCK 3 9 2LG= CHANGEFILE 3,-1 7 2L_W UNLOCK 3 8 2MFG CHANGEACT 3 8 2M_6 ADX 6 FX1 7 2NDQ EXIT 6 0 4 2NYB # 20 2PD2 SVB [FINDS THE ORIGINAL ACTIVITY AND CHANGES THE SAVING FILE TO IT 15 2PXL [AND THEN MAKES IT THE CURRENT ACTIVITY 8 2QC= SBX 6 FX1 10 2QWW MHUNTW 1,FI,FUTILITY 8 2RBG LDX 7 A1(1) 18 2RW6 FINDACTNO 3,7 [X3->THE SAVING ACTIVITY 17 2S*Q CHAIN 1,3 [GIVE IT THE FUTILITY 7 2STB LOCK 3 17 2T*2 CHANGEFILE 3,,-1 [AND THE SAVING FILE 7 2TSL UNLOCK 3 20 2W#= CHANGEACT 3 [AND MAKE IT THE CURRENT ACTIVITY 8 2WRW ADX 6 FX1 7 2X?G EXIT 6 0 4 2XR6 # 20 2Y=Q SVSTEP [STEP APPENDS A RECORD TO THE SAVING FILE AND HUNTS THE BLOCK 8 2YQB [BEING SAVED. 8 2_=2 SBX 6 FX1 16 2_PL ADN 1 2 [RECORD LENGTH 7 329= LDX 4 1 9 32NW STEP -1,0(1) 7 338G LDX 1 4 17 33N6 STO 1 0(3) [INSERT RECORD HEADER 7 347Q SBN 1 2 15 34MB SLL 7 12 [BLOCK TYPE 8 3572 HUNTX 2,7 16 35LL BPZ 2 SVS1 [BRANCH IF FOUND 10 366= GEOERR 1,SAVEMISS 4 36KW SVS1 9 375G #SKI K6SAVEFILE>599-599 10 37K6 TRACE 7,SAVEBLOK 8 384Q ADX 6 FX1 7 38JB EXIT 6 0 4 3942 # 17 39HL SVMOVE [MOVES TO-BE-SAVED DATA INTO ITS SAVING RECORD 8 3=3= LDN 5 2(3) 8 3=GW MOVE 4 0(1) 8 3?2G SMO FX2 9 3?G6 LDX 1 AWORK1 18 3?_Q STO 1 1(3) [SET RECORD CATEGORY WORD 7 3#FB EXIT 6 0 4 3#_2 # 20 3*DL RSTEP [STEP READS FROM THE SAVING FILE. GOES UP IF NOT A FILE RECORD 10 3*Y= [AND UPPLUS1 IF EMPTY 9 3BCW #SKI K6SAVEFILE>599-599 11 3BXG TRACE ATYPE(2),REOPBLOK 8 3CC6 SBX 6 FX1 8 3CWQ STEP -1 20 3DBB BNZ 3 RST1 [J IF NOT AT END OF SAVING FILE 7 3DW2 LDN 5 0 8 3F*L BRN RST3 8 3FT= RST1 LDCT 0 #44 16 3G#W ANDX 0 1(3) [CATEGORY WORD 17 3GSG BNZ 0 RST2 [J IF A FILE RECORD 7 3H#6 LDN 5 1 19 3HRQ RST3 LDX 4 ACNUM(2) [THE BEING-UNSAVED ACTIVITY 10 3J?B HUNT 1,FILE,FABSNB 7 3JR2 FREECORE 1 18 3K=L CALL 6 SVB [CHANGE TO THE SAVING ACT 20 3KQ= FINDACTNO 2,4 [X2->THE BEING-UNSAVED ACTIVITY 10 3L9W MHUNTW 3,FI,FUTILITY 9 3LPG LDN 0 A1+1(3) 9 3M96 LDN 1 ALINK1(2) 13 3MNQ MOVE 0 HLINK [LINK 9 3N8B LDN 0 A1+3(3) 9 3NN2 LDN 1 ACC3(2) 7 3P7L MOVE 0 5 9 3PM= LDX 0 A1+8(3) 14 3Q6W STO 0 AMFMS(2) [RESTORE 15 3QLG FREECORE 3 [THE FUTILITY 21 3R66 BNZ 5 RST4 [J IF NOT AT END OF THE SAVING FILE 5 3RKQ UP 7 3S5B RST4 UPPLUS 1 8 3SK2 RST2 ADX 6 FX1 7 3T4L EXIT 6 0 4 3TJ= # 20 3W3W RMOVE [CLEARS THE NEWLY SET UP BLOCK,MOVES IN DATA FROM THE SAVING 10 3WHG [RECORD AND SETS A1 8 3X36 STO 4 A1(2) 7 3XGQ SBN 4 1 7 3Y2B LDX 7 4 7 3YG2 LDX 1 5 8 3Y_L RM1 STOZ 0(1) 7 3_F= ADN 1 1 8 3_YW BCT 4 RM1 7 42DG LDX 1 7 8 42Y6 LDN 4 2(3) 8 43CQ MOVE 4 0(1) 7 43XB EXIT 6 0 4 44C2 # 9 44WL # SAVEACTLF ENTRY 21 45B= # ON ENTRY, THE TOP LEVEL FILE OPEN TO THE SAVING ACTIVITY IS THE 20 45TW # SAVING FILE (LANGUAGE ####) AND ACOMMUNE1 CONTAINS THE 19 46*G # ADDRESS OF A LOCKED ACTIVITY WHICH IS BEING SAVED 19 46T6 # THE FILES OPEN TO THAT ACTIVITY ARE FROZEN AND CLOSED BY 21 47#Q # FREEZESAVE, WHICH LEAVES A 10 WORD FABSNB, AND A COPY OF THE 13 47SB # FILE'S FCA IN A FI/FCA BLOCK 21 48#2 # EACH FILE SAVED HAS A PAIR OF RECORDS IN THE SAVING FILE - FABSNB 21 48RL # AND FCA. EACH RECORD HAS A CATEGORY WORD AFTER THE HEADER - 21 49?= # BIT3 SET - THIS IS A FILE RECORD, BIT6 UNSET - THE FIRST OF 8 49QW # THE PAIR 5 4==G XENT1 20 4=Q6 CALL 6 SVA [CHANGE SAVING FILE AND ACTIVITY 7 4?9Q SV4 TOPFCB 3 9 4?PB #SKI K6SAVEFILE>599-599 11 4#92 TRACE FLOC1(3),SAVEFILE 9 4#NL LDX 0 FLAN(3) 8 4*8= SMO FX1 20 4*MW TXU 0 SVB1 [IDENTIFY SAVING FILE BY LANGUAGE 17 4B7G BCS SV1 [J IF NOT SAVING FILE 8 4BM6 CALL 6 SVB 10 4C6Q MHUNTW 1,FI,FUTILITY 7 4CLB FREECORE 1 5 4D62 UP 9 4DKL SV1 LDX 0 FCOMM(3) 7 4F5= ANDN 0 4 16 4FJW BZE 0 SV2 [J IF NOT CAREFUL 11 4G4G GEOERR BRIEFPM,CARESAVE 4 4GJ6 SV2 21 4H3Q FREEZESAVE [FREEZE THE TOP LEVEL FILE & CLOSE IT 17 4HHB # BLOCKS TO-BE-SAVED CHAINED AFTER CURRENT ACTIVITY 20 4J32 LDCT 1 #40 [BIT3 - CATEGORY WORD FOR FIRST 17 4JGL STO 1 AWORK1(2) [RECORD FOR THIS FILE 9 4K2= # SAVE THE FABSNB 17 4KFW LDN 1 FABSAVENO [NO OF WORDS TO MOVE 10 4K_G LDN 7 FILE+FABSNB 16 4LF6 CALL 6 SVSTEP [SET UP RECORD 10 4LYQ LDN 4 FABSAVE(2) 18 4MDB CALL 6 SVMOVE [MOVE USER AND LOCAL NAME 7 4MY2 FREECORE 2 20 4NCL LDCT 1 #44 [BITS3,6 - CATEGORY W-RD FOR FILE 21 4NX= STO 1 AWORK1(2) [RECORD NOT THE FIRST FOR THIS FILE 8 4PBW # SAVE THE FCA 17 4PWG LDN 1 FCASAVENO [NO OF WORDS TO MOVE 9 4QB6 LDN 7 FI+FCA 16 4QTQ CALL 6 SVSTEP [SET UP RECORD 17 4QX_ ... LDX 0 FIRB(2) [J IF FREADBLOCK -IVE 8 4R28 ... BNG 0 SV3 8 4R4C ... LDN 0 FBLKS 18 4R6L ... SBS 0 FIRB(2) [RELATIVISE FREADBLOCK 4 4R8T ...SV3 13 4R?4 ... BS 2,BFCASAVEREL [SET 10 4R*B LDN 4 FCASAVE(2) 19 4RT2 CALL 6 SVMOVE [SAVE FREADBLOCK - FGENE-AL2 7 4T?W FREECORE 2 8 4TRG BRN SV4 4 4W?6 # 8 4WQQ # RESTACTF ENTRY 21 4X=B # ON ENTRY, THE TOP LEVEL FILE OPEN TO THE UNSAVING ACTIVITY IS THE 21 4XQ2 # SAVING FILE, AND ACOMMUNE1 CONTAINS THE ADDRESS OF A LOCKED 21 4Y9L # ACTIVITY WHICH IS BEING UNSAVED. WE ARE POSITIONED ON THE 11 4YP= # SECOND FILE RECORD 21 4_8W # A FABSNB AND A FI/FCA ARE SET UP FROM EACH RECORD PAIR, THE MODE 21 4_NG # OF OPENING WHEN SAVED IS EXTRACTED FROM THE FCA AND THE FILE 9 5286 # IS REOPENED 5 52MQ XENT2 20 537B CALL 6 SVA [CHANGE SAVING FILE AND ACTIVITY 8 53M2 # SET UP FABSNB 8 546L BACKSPACE -1 16 54L= R1 LDN 4 FABSAVENO+1 [LOGICAL LENGTH 11 555W SETUPCORE 4,2,FILE,FABSNB 15 55KG CALL 6 RSTEP [NEXT RECORD 10 5656 HUNT 2,FILE,FABSNB 10 56JQ LDN 5 FABSAVE(2) 16 574B CALL 6 RMOVE [COMPLETE FABSNB 9 57J2 #SKI K6SAVEFILE>599-599 11 583L TRACE A1+4(2),REOPFILE 9 58H= # SET UP FCA BLOCK 16 592W LDN 4 FCASAVENO+1 [LOGICAL LENGTH 10 59GG SETUPCORE 4,2,FI,FCA 15 5=26 CALL 6 RSTEP [NEXT RECORD 9 5=FQ HUNT 2,FI,FCA 10 5=_B LDN 5 FCASAVE(2) 8 5?F2 CALL 6 RMOVE 21 5?K= ... JBS R4,2,BFCASAVEREL [J IF NEW RELATIVISED SAVED FORMAT 8 5?PG ... LDN 0 A1+2 17 5?TQ ... ADS 0 FIRB(2) [ADJUST FREADBLOCK 8 5#22 ... BRN R5 4 5#6= ...R4 9 5#=G ... LDX 0 FIRB(2) 17 5#BQ ... BNG 0 R5 [J IF FREADBLOCK -IVE 8 5#H2 ... LDN 0 FBLKS 17 5#M= ... ADS 0 FIRB(2) [ADJUST FREADBLOCK 4 5#RG ...R5 9 5#XW HUNT 1,FI,FCA 20 5*CG LDX 0 FG1(1) [EXTRACT MAIN MODE FROM FGENERAL1 7 5*X6 LDN 4 1 7 5BBQ LDN 5 7 16 5BWB R2 BNG 0 R3 [J IF READ MODE 7 5CB2 SLL 0 1 18 5CTL ADN 4 1 [MAIN MODE IS ADDITIVE 16 5D*= BCT 5 R2 [CHECK TOP 7 BITS 11 5DSW GEOERR BRIEFPM,MODE??? 18 5F#G R3 SLL 4 9 [MAIN MODE IN BITS 12-14 8 5FS6 LDCT 0 #004 15 5G?Q ORX 4 0 [ERASING MODE 9 5GRB LDX 0 FG1(1) 8 5H?2 ANDX 0 BIT11 20 5HQL BZE 0 NOTCOM [J IF NOT OPEN FOR COMMUNICATION 19 5J== LDCT 0 #002 [THIS MUST BE THE MON. FILE 15 5JPW ORX 4 0 [SYSTCOM MODE 5 5K9G NOTCOM 9 5KP6 SAVETHAW SVBRK,4 10 5L8Q LDX 3 FILERING(2) 9 5LNB MHUNTW 2,FI,FCA 10 5M82 LDN 4 FCASAVE(2) 10 5MML LDN 5 FREADBLOCK(3) 9 5N7= LDN 1 FCASAVENO 19 5NLW MOVE 4 0(1) [RESTORE FREADBLOCK-FGENERAL2 13 5P6G FREECORE 2 [FCA 18 5PL6 FILEMOVE 0,-2 [KEEP THE ORIGINAL ORDER 10 5Q5Q MHUNT 1,FILE,FABSNB 14 5QKB FREECORE 1 [FABSNB 8 5R52 BRN R1 11 5RJL SVBRK GEOERR BRIEFPM,SAVEBRK 4 5SHW #END 8 ____ ...04547632000100000000