RENAMEMT867

(George Source)

Macros used: BXU, CHAIN, CHANGEACT, CHANGEPER, CLOSETOP, COOR1, DCA, DELETE, DFJUMPS, DFLOAD, FREETAB, GEOERR, GETACT, GETDIR, GPERI, HUNT, HUNT2, INSERT, JOBLOCK, JWPR, KEEPREP, LGEOG, LOCK, LOCKC, LOGACCESS, MENDAREA, MFREE, MFREEW, MHUNT, MURDER, NAME, NAMETOP, OPENDIR, OPENSYS, PICKREP, PUTREP, READ, READAGAIN, REWIND, REWRITE, SDSEARCH, SEG, SEGENTRY, SETNCORE, SETREP, SETUPCORE, SETUPTAB, SSEARCH, TABSET, TABULATE, TESTREP, TRACE, UNLOCK, UP, UPPLUS, VFREE

RENAMEMT867.txt
22FL    #OPT  K0RENAMEMT=K0OLMT>K0ALLGEO
22^=    #OPT  K6RENAMEMT=K6OLMT>K6ALLGEO
23DW    #LIS  K0RENAMEMT
23JR ...[   
23NN ...[  (C)   COPYRIGHT  INTERNATIONAL COMPUTERS LTD  1982   
23SK ...[   
23YG          SEG      RENAMEMT,65,N.R.BOULT
24D6          SEGENTRY K1RENAMEMT,QK1RENAMEMT   
24XQ          SEGENTRY K2RENAMEMT,QK2RENAMEMT   
25CB          SEGENTRY K3RENAMEMT,QK3RENAMEMT   
25X2    [THIS SEGMENT RENAMES A MAG TAPE & RECORDS THE CHANGES IN :SYSTEM.DOCUME
26BL    [:SYSTEM.SERIAL AND THE APPROPRIATE USER DIRECTORY,IF ANY.  
26W=    [   
27*W    [ON ENTRY THE CURRENT ACTIVITY IS THE CPA,AFTER WHICH THERE IS CHAINED  
27TG    [A BLOCK TYPE AONBS/GREN WHICH CONTAINS WORDS 1-7 OF THE PERI CONTROL   
28*6    [AREA FOR MODE #500 IN WORDS A1-A1+6.   
28SQ    [   
29#B    [ON EXIT THE CURRENT ACTIVITY IS STILL THE CPA,FOLLOWED BY THE AONBS/GRE
29S2    [A1 OF AONB/GREN IS SET TO THE TAPE SERIAL NO IF SUCCESSFUL,
2=?L    [SET NEGATIVE IF FAILED.
2=R=    SHDDR          4HHDDR   
2?=W    SLAN           4HC1 
2?QG    TACT                               [TYPE OF CPA 
2#=6    #HAL           CPAT,0   
2#PQ    #   
2*9B    #   
2*P2    [   
2B8L    [ENTRY POINT
2BN=    [   
2C7W    QK1RENAMEMT 
2CMG          STOZ     AWORK1(2)
2D76          LDX   0  ACOMMUNE3(2)        [WRITE/NOTWRITE HDDR MARKER  
2DLQ          STO   0  AWORK4(2)
2F6B          STOZ     AWORK3(2)           [SET ENTRY MARKER
2FL2          BRN      START
2G5L    QK2RENAMEMT 
2GK=          STOZ     AWORK1(2)
2H4W          BRN      Q1   
2HJG    QK3RENAMEMT 
2J46          LDN   0  1
2JHQ          STO   0  AWORK1(2)
2K3B    Q1  
2KH2          LDN   0  1
2L2L          STO   0  AWORK3(2)           [SET ENTRY MARKER
2LG=          STOZ  AWORK4(2)   
2L^W    START   
2MFG          LDX   5  ACOMMUNE2(2) 
2M^6          STO   5  AWORK2(2)
2NDQ          JWPR     ,STAR1              [JUMP IF WRITE PERMIT RING FITTED
2NYB ...NOWPR UP
2PD2    STAR1   
2PXL          LDX   0  AWORK1(2)
2QC=          BNZ   0  Q2   
2QWW          LDX   6  JOBNO(2) 
2RBG          GETACT   AREWIND,,1          [GET ACTIVITY FROM WHICH TO CONTROL T
2RW6          LDX   3  BPTR(2)             [LOAD POINTER TO NEW ACTIVITY
2S*Q          STO   6  JOBNO(3) 
2STB          STO   5  AWORK2(3)
2T*2          LDX   6  AWORK3(2)
2TSL          STO   6  AWORK3(3)
2W#=          LDX   6  AWORK4(2)
2WRW          STO   6  AWORK4(3)
2X?G          STOZ     AWORK1(3)
2XR6          CHANGEPER 3                  [GIVE MT TO AREWIND ACTIVITY 
2Y=Q          HUNT     1,AONBS,GREN        [LOOK FOR RENAME BLOCK   
2YQB          CHAIN    1,3                 [CHAIN AFTER ACTIVITY
2^=2          CHANGEACT 3                  [AND CHANGE INTO NEW ACTIVITY
2^PL    Q2  
329=          LDN   6  0                   [SET MARKER FOR STAGE 0-REWIND TAPE  
32NW    REWIND  
32RF ...      JWPR     ,Q3CY
32W4 ...      LDN   7  1
32YM ...      BRN      P6   
333= ...Q3CY  LDX   2  FX2  
335T ...      LDN   7  0
338G          LDN   0  7                   [REWIND MODE 
33N6          DCA      ,DLA,0,MODE  
347Q    PERI
34=W ...      JWPR     ,YPERI   
34B2 ...      LDN   7  1
34F6 ...      BRN      P6   
34J= ...YPERI   
34MB          LOCKC    2,£  
3572          GPERI    ,2   
35LL          COOR1 
366=          UNLOCK   2
36KW          LDCH  4  CPRW1(2)            [REPLY CHARACTER 
375G    #SKI  K6RENAMEMT>199-199
37K6          TRACE    6,RNMTSWIT   
384Q          SMO      6
38JB          BRN      £
3942          BRN      P1   
39HL          NULL  
3=3=          BRN      P3   
3=GW          BRN      P4   
3?2G          BRN      P5   
3?G6    P1  
3?^Q          ANDN  4  4
3#FB          BNZ   4  PFAIL               [J TO EXIT IF FAILED 
3#^2          LDX   4  AWORK2(2)
3*DL          BNZ   4  P1A  
3*Y=          LDN   4  20   
3BCW    P1A 
3BXG ...      SETUPCORE 4,3,AONBS,GHDDR,1   
3B^P ...      STOZ     A1(3)
3C3Y ...      SBN   4  1
3C67 ...      LDN   0  A1(3)
3C8B ...      LDN   1  A1+1(3)  
3C=K ...      SMO      4
3C#S ...      MOVE  0  0
3CC6          LDX   4  AWORK3(2)
3CWQ          BNZ   4  P1B  
3D*4    [     GET HEADER FROM :SYSTEM.DOCUMENT  
3DRB          OPENSYS  XBRKIN,DOCUMENT,READ 
3F9N          SDSEARCH  NOSD,CPPTR,CPPTR(2) 
3FN2          READAGAIN 
3G6#          MHUNT    3,FILE,FRB   
3GJL          MHUNT    1,AONBS,GHDDR
3H2Y          LDN   4  A1+1(3)  
3HF=          LDN   5  A1(1)
3HXJ          MOVE  4  20   
3J36 ...      LDXC  4  A1+1(1)  
3J6N ...      BCS      £                   [TEST FOR XENOTAPE - REMOVE B0   
3J== ...      STO   4  A1+1(1)             [RESTORE TSN 
3J*W          CLOSETOP  
3JS8          BRN      P3   
3K=L    P1B   HUNT     1,AONBS,GREN 
3KQ=          LDN   4  A1+1(1)  
3L9W          LDN   5  A1+2(3)  
3LPG          MOVE  4  6
3M96          LDX   0  EDATE
3MNQ          STO   0  A1+8(3)  
3N8B          SMO      FX1  
3NN2          LDX   0  SHDDR
3P7L          STO   0  A1(3)
3PM=          DFLOAD   ,TSN,0   
3Q6W          BPZ   0  P1C                 [BRANCH UNLESS XENOTAPE  
3QLG          ERX   0  GSIGN
3R66    P1C 
3RKQ          STO   0  A1+1(3)  
3S5B          LDN   5  0
3SK2          BRN      PA2A 
3Y2B    P3  
3^F=          SETNCORE 20,1,AONBS,HDRSAVE   
3^YW          HUNT     3,AONBS,GHDDR
42DG          LDN   4  A1(3)
42Y6          LDN   5  A1(1)
43CQ          MOVE  4  20                  [PRESERVE OLD HEADDER NAME   
43XB          HUNT     1,AONBS,GREN 
44C2 ...      LDX   0  A1+1(3)  
44WL          STO   0  A1(1)               [PUT TSN INTO RENAME BLOCK   
45B=          LDN   4  A1+1(1)  
45TW          LDN   5  A1+2(3)  
46*G          LDX   0  AWORK2(2)
46T6          BZE   0  P3A  
47#Q          SBN   0  2
47SB          SMO      0
48#2          MOVE  4  0
48RL          BRN      P3B  
49?=    P3A 
49QW          MOVE  4  6                   [PUT NEW NAME INTO HDDR BLOCK
4==G          LDX   0  EDATE
4=Q6          STO   0  A1+8(3)             [STORE TODAYS DATE IN HDDR BLOCK 
4?9Q    P3B 
4?PB          OPENSYS  XBRKIN,SERIAL,READ   
4#92          DFLOAD   ,TSN,5   
4#NL          BNG   5  PA2                 [J IF XENOTAPE   
4*8=          SSEARCH  PA2,5               [LOOK FOR ENTRY IN :SYSTEM.SERIAL
4*MW          LDCT  0  #200 
4B7G          ANDX  0  5(3)                [PICK UP TEMPORARY BIT   
4BM6          LDX   4  3(3)                [LOAD USER NAME  
4C6Q          LDX   5  4(3) 
4CLB          LDX   3  2(3) 
4D62          LDN   6  12   
4DKL          BZE   0  P3B1                [BRANCH UNLESS WORK TAPE 
4F5=          ADN   6  6
4FJW    P3B1
4G4G          CLOSETOP  
4GJ6          SETUPCORE 6,2,FILE,FABSNB 
4H3Q          SBN   6  2
4HHB          STO   6  HDREC(2) 
4J32          STO   3  HDREC+1(2)          [OWNERS NAME 
4JGL          STO   4  HDREC+2(2)   
4K2=          STO   5  HDREC+3(2)   
4KFW          SBN   6  10   
4K^G          BZE   6  P3B2                [BRANCH UNLESS WORK TAPE 
4LF6          LDX   2  FX2  
4LYQ          JOBLOCK  JOBNO(2),3   
4MDB          MHUNT    2,FILE,FABSNB
4MY2          LDN   4  JNAME(3) 
4NCL          LDN   5  HDREC+4(2)   
4NX=          MOVE  4  3                   [JOB NAME
4PBW          LDN   0  1
4PWG          STO   0  HDREC+7(2)   
4QB6          STO   0  HDREC+8(2)   
4QTQ          LDX   0  SLAN(1)  
4R*B          STO   0  HDREC+9(2)   
4RT2    P3B2
4S#L          SMO      6
4SS=          LDN   3  HDREC+4(2)   
4T?W          LDN   4  1(3) 
4TRG          STOZ     0(3) 
4W?6          MOVE  3  5                   [ZERO LOCAL NAME 
4WQQ          NGN   0  1
4X=B          STO   0  6(3)                [NO RETENTION PERIOD 
4XQ2          MHUNT    1,AONBS,GHDDR
4Y9L          LDX   0  A1+1(1)  
4YP=          STO   0  7(3)                [TSN 
4^8W          LDN   0  #2001
4^NG          DSA   0  ATYPE(2) 
5286          CALL  6  RENAME              [CHANGE NAME IN DIRECTORY ENTRY  
52MQ          PICKREP  5
537B          TESTREPN OK,OUT   
53M2          BRN      PA2A 
546L    PA2 
54L=          CLOSETOP  
555W    PA2A  LDN   4  8                   [ERASE MODE  
55KG          DCA      ,DLA,4,MODE  
5656          LDN   4  #3777
56JQ          DCA      ,STO,4,COUNT 
574B          LDN   6  3                   [INDICATE ERASE TRANSFER 
57J2          BRN      PERI 
583L    P4    ANDN  4  4
58H=          BNZ   4  PFA                 [J IF FAILURE
592W          LDX   0  AWORK4(2)
5984 ...#UNS  ILOGACC   
59*= ...      ANDN  0  1
59GG          BNZ   0  P5A  
5=26          HUNT     3,AONBS,GHDDR
5=FQ          LOCKC    3,SERCHA 
5=^B          MHUNT    3,AONBS,GHDDR
5?F2          LDN   4  1                   [WRITE MODE  
5?YL          DCA      ,DLA,4,MODE  
5#D=          LDN   0  20   
5#XW          LDX   6  AWORK2(2)
5*CG          BZE   6  P4A  
5*X6          LDX   0  6                   [LABEL LENGTH
5BBQ    P4A 
5BWB          DCA      ,STO,0,COUNT        [HEAD
5CB2          LDN   4  A1(3)
5CTL          DCA      ,STO,4,CTSA         [ADDRESS 
5D*=          LGEOG    ,0   
5DSW          SLL   0  18   
5F#G          STO   0  A1+9(3)             [SAVE GEOG NO IN CH 0 OF WD 9
5FS6          LDN   6  4                   [INDICATE REWRITE HDDR TRANSFER  
5G?Q          BRN      PERI 
5GRB    P5    UNLOCK   3
5H?2          ANDN  4  6
5HQL          BNZ   4  PFA                 [J IF FAILURE
5J==    P5A 
5JPW          DFJUMPS  ,NONS,P5B           [JUMP IF NON-STANDARD TAPE   
5K9G    #              SYSTEM DOCUMENT IS NOT UPDATED IF THE TAPE IS NON-STANDAR
5KP6          OPENSYS  XBRKIN,DOCUMENT,GENERAL  
5L8Q    PA5   SDSEARCH NOSD,CPPTR,CPPTR(2)  
5LNB          READAGAIN 
5M82          HUNT     3,FILE,FRB   
5MML          HUNT     1,AONBS,GHDDR
5N7=          LDN   4  A1(1)
5NLW          LDN   5  A1+1(3)             [MOVE NEW NAME ACROSS
5P6G          MOVE  4  20   
5PL6          NAME     3,FILE,FWB   
5Q5Q          REWRITE                      [REWRITE ENTRY IN SYS.DOC
5QKB          CLOSETOP                     [CLOSE SYS.DOC   
5R52    P5B 
5RJL          KEEPREP  5,OK                [SET REPLY IF RENAME SUCCESSFUL  
5S4=    OUT 
5SHW          VFREE    AONBS,GHDDR  
5T3G          VFREE    AONBS,HDRSAVE
5T?# ...P6  
5TH6          LDX   2  FX2  
5W2Q          LDX   0  AWORK1(2)
5WGB          BNZ   0  Q3   
5X22          CALL  0  SCA  
5XFL          CHANGEPER 3                  [GIVE MT BACK TO CPA 
5X^=          HUNT     1,AONBS,GREN        [FIND RENAME BLOCK   
5YDW          CHAIN    1,3                 [CHAIN RENAME AFTER CPA  
5YYG          LDX   4  2                   [REMEMBER ADDRESS OF REWIND BLOCK
5^D6          CHANGEACT 3                  [CHANGE INTO CPA 
5^XQ          LOCK     4
62CB          MURDER   4                   [GET RID OF REWIND ACTIVITY  
62M8 ...     BNZ   7  NOWPR 
62X2    Q3  
63BL          PUTREP   5
63W=          TRACE    5,RENMTREP   
64*W          UPPLUS   1
64N? ...PFA   BNZ   5  PFAIL               [J IF INSECURE ENTRANT   
652N          DFLOAD   ,TSN,0   
657W          BNG   0  PFAIL               [J IF XENOTAPE   
65*6          LDX   0  AWORK3(2)
65SQ          BNZ   0  PFAIL
66#B          MFREE    AONBS,GHDDR  
66S2          MHUNT    2,AONBS,HDRSAVE  
67?L          NAMETOP  2,AONBS,GHDDR
67R=          CALL  6  RENAME              [RESET NAME IN DIRECTORY ENTRY   
68=W    PFAIL   
68QG          KEEPREP  5,TAPEFAIL          [SET REPLY IF TAPE FAILED
69=6          BRN      OUT                 [J TO EXIT   
69PQ    XBRKIN  
6=9B          GEOERR   1,XBRKIN            [GEOERR IF BREAKIN OCCURS
6=P2    NOSD  GEOERR   1,NOSYSDOC   
6?8L    [SUBROUTINE WHICH SEARCHES FOR COMMAND ACTIVITY 
6?N=    SCA 
6#7W          LDX   3  2                   [LOAD ADDRESS OF CURRENT ACTIVITY
6#MG    SCA1  LDX   3  FPTR(3)             [LOOK AT NEXT BLOCK  
6*76          LDX   4  ATYPE(3)            [TEST IF CPA 
6*LQ          SMO      FX1  
6B6B          BXU   4  TACT,SCA1           [BRANCH IF NOT CPAT  
6BL2          LDX   4  JOBNO(3) 
6C5L          TXU   4  JOBNO(2)            [TEST IF CORRECT JOB NO  
6CK=          BCS      SCA1                [IF NOT,J FOR NEXT   
6D4W          EXIT  0  0                   [IF OK,EXIT  
6DJG    #     SUBROUTINE TO CHANGE THE NAME IN THE DIRECTORY ENTRY  
6F46    #     TAPE SPECIFIED BY FILE/FABSNB (ZERO LOCAL NAME)   
6FHQ    #     NEW NAME SPECIFIED BY AONBS/GHDDR 
6G3B    RENAME  
6GH2          SBX   6  FX1  
6H2L          OPENDIR  XBRKIN,GENERAL,ERASING,QUERY 
6H43 ...#UNS  FPGPT 
6H5D ...(   
6H6T ...      MHUNT    3,FILE,ENT   
6H8= ...      LDX   0  EINCLOOK(3)  
6H9M ...      BPZ   0  PROC1                  [J IF NOT IN USE BY DUMPER
6H?4 ...      CLOSETOP  
6H#F ...      KEEPREP  5,DUMPTAPE   
6H*W ...      BRN      OUT  
6HC? ...PROC1   
6HDN ...)   
6HG=          SETUPTAB  
6H^W          TABSET
6JFG          SETNCORE 6,1,FILE,FLOCNB  
6J^6          MHUNT    2,AONBS,GHDDR
6KDQ          LDN   4  A1+2(2)  
6KYB          LDN   5  A1(1)
6LD2          MOVE  4  3
6LXL          STOZ     A1+3(1)  
6MC=          STOZ     A1+4(1)  
6MWW          STOZ     A1+5(1)  
6NBG          GETDIR   2                   [IS NEW NAME IN USE BY FILE  
6NW6 ...      TESTREP  NOFILE,S3,VRYWRONG,S3
6P*Q ...S3B   CLOSETOP  
6PTB          MFREE    FILE,FLOCNB  
6Q*2          SETREP   ALREADY  
6QSL          BRN      S7   
6R#=    S3  
6SR6          MHUNT    3,FILE,ENT   
6TQB          MHUNT    2,AONBS,GHDDR
6W=2          LDN   4  A1+2(2)  
6WPL          LDN   5  ELOC1(3) 
6X9=          MOVE  4  6                   [PUT IN NEW NAME 
6YN6          MHUNT    1,FILE,FLOCNB
6^7Q          LDN   5  1
6^MB          ORS   5  ATYPE(1)            [SET MAG TAPE BIT
7272          LDN   5  A1(1)
72LL          MOVE  4  5                   [SET UP DETAILS FOR GETDIR   
72^3 ...      LDCT  0  #600 
73?D ...      ADN   0  #7777
73KW          ANDX  0  A1+4(1)             [GEN NO. 
745G          BNZ   0  S2F                 [J IF NOT ZERO OTHERWISE 
74K6          LDCT  0  #100                [SET BIT INDICATING ZERO GEN.
754Q    S2F   STO   0  A1+4(1)  
755D ...      GETDIR   2                 [CALCULATE NEW NAME BEFORE 
7566 ...      TESTREP  OK,S2G,NOFILE,S2H   [OLD ONE DELETED 
756F ...      TESTREP  VRYWRONG,S3B 
756S ...      TESTREPN WRGEN,XGDER  
757G ...      CLOSETOP  
7588 ...      MFREE    FILE,FLOCNB  
758W ...      SETREP   WRGEN
759J ...      BRN      S7   
75== ...XGDER   
75=Y ...      GEOERR   1,RENAMEGD   
75?L ...S2G 
75## ...      MFREEW   FILE,ENT 
75*2 ...S2H 
75*N ...      TABULATE [GET BACK TO OLD ENTRY   
75BB ...      FREETAB   
75C4 ...      MHUNT    3,FILE,ENT   
75CQ ...      NAMETOP  3,FILE,FRB   
75DD ...      MHUNT    1,FILE,FLOCNB
75F6 ...      MHUNT    2,AONBS,GHDDR       [UPDATE GEN NO IN ENT & GHDDR
75FS ...      LDX   0  A1+4(1)             [FROM FLOCNB 
75GG ...      STO   0  EGEN(3)  
75GM ...      LDCT  4  #600                      [ONLY UPDATE GEN. NO.  
75GS ...      ANDX  4  A1+6(2)                   [IN GHDDR IF RELATIVE  
75G^ ...      BZE   4  S2J                        [GEN. NO. GIVEN   
75H8 ...      STO   0  A1+6(2)  
75HR ...S2J 
75JB          LDX   4  ENUSE(3) 
7642          LDX   5  4
76HL          ADN   5  1
773=          BZE   4  S2C                 [J IF NO TRAP RECORDS
77GW    S2A 
782G          READ                         [READ ENTRY  
78G6          BCT   4  S2A  
78^Q    S2C 
79FB          LDX   4  5
79^2    S2B 
7=DL          DELETE                       [DELETE ENTRY
7=Y=          BCT   4  S2B  
7?2F ...      MHUNT    1,FILE,FLOCNB
7?4N ...      LDX   0  A1+4(1)                [RESET GEN. NO. IN FLOCNB 
7?6X ...      BNZ   0  S2D                    [TO POSITION CORRECTLY
7?96 ...      LDCT  0  #100                   [IF GEN. 0
7??* ...      STO   0  A1+4(1)  
7?*J ...S2D 
7?CW          GETDIR   2
7?XG ...      TESTREP  OK,S4,NOFILE,S45 
7#C6          GEOERR   1,RENAMEMT   
7#WQ    S4  
7*25 ...      MFREEW   FILE,ENT 
7*5D ...S45 
7*8R ...      MFREE    FILE,FLOCNB  
7*#8 ...#UNS  ILOGACC   
7**H ...(   
7*BW ...      LDX   4  5
7*D9 ...S45A  HUNT2    2,FILE,FRB          [LOCATE ENT  
7*FJ ...      BCT   4  S45A 
7*GX ...      NAMETOP  2,FILE,FWB   
7*J= ...      INSERT
7*KK ...      TESTREP  OK,S45B,FNEARLY,S45B 
7*LY ...      GEOERR   1,RENAMEMT   
7*N? ...S45B  MHUNT    1,FILE,FWB   
7*PL ...      NAMETOP  1,FILE,ENT          [SAVE AS ENT 
7*Q^ ...      BCT   5  £
7*S# ...)   
7*W2    S4A   LDX   4  5
7B*L    S5    HUNT2    2,FILE,FRB   
7BT=          BCT   4  S5   
7C#W          NAMETOP  2,FILE,FWB   
7CSG          INSERT                       [PUT ENTRY IN NEW POSITION   
7D#6          TESTREP  OK,S6,FNEARLY,S6 
7DRQ          GEOERR   1,RENAMEMT   
7F?B    S6  
7FR2          MFREE    FILE,FWB 
7G=L          BCT   5  S4A  
7G#* ...#UNS  ILOGACC   
7GB4 ...(   
7GCR ...      LDX   0  AWORK4(2)
7GFG ...      BPZ   0  S6A  
7GH9 ...      LDN   5  CWRITE   
7GJY ...      LOGACCESS 2,5 
7GLM ...S6A   MFREE    FILE,ENT 
7GNB ...)   
7GQ=          CLOSETOP                     [CLOSE DIRECTORY 
7H9W          SETREP   OK   
7HPG    S7  
7J96          ADX   6  FX1  
7JNQ          EXIT  6  0
7K8B    SERCHA  
7KN2          HUNT     2,AONBS,GHDDR
7L7L          EXIT  1  0
7LM=          MENDAREA 50,K99RENAMEMT   
7M6W    #END
^^^^ ...33415765000200000000