MACROS RM59B

(George Source)

MACROS RM59B.txt
22FL ...[??? FNORM SECT FILE FGN 6 DOC  
2FL2    #MAC  FNORM 
2G5L    #STR  %A
2GK=    #SKI
2H4W    (   
2HJG          DOWN     DECODE,2 
2J46    )   
2JHQ    #STR  %A
2K3B    (   
2KH2          LDN   0  %A   
2L2L          SMO      FX2  
2LG=          STO   0  EXEC3               [SET MODE PARAM IN EXEC3 
2L^W          DOWN     DECODE,1 
2MFG    )   
2M^6    #NOR
2N8Y ...[??? USERNORM SECT FILE FGN 6 DOC   
2NDQ    #MAC  USERNORM  
2NYB          LDEX  0  %A   
2PD2          SMO      FX2  
2PXL          STO   0  ACOMMUNE6
2QC=    #STR  NOERRMESS,%B  
2QWW    (   
2RBG    #STR  %B
2RW6          GEOERR 1,USERNORM 
2S*Q          DOWN  NORMALUS,4  
2STB    )   
2T*2    #STR  NOERRMESS,%B  
2TSL    #SKI
2W#=          DOWN     NORMALUS,7   
2WRW    #NOR
2X3N ...[??? FINDNAME SECT FILE FGN 6 DOC   
2X?G    #MAC      FINDNAME  
2XR6          DOWN     LEXIFIND,1   
2Y=Q    #NOR
2YQB ...[??? OWNERCHE SECT FILE FGN 6 DOC   
2^PL    #MAC  OWNERCHE  
2^PY ...[     THIS MACRO CHECKS IF FILES IN THE DIRECTORY OPEN AT THE TOP LEVEL 
2^Q= ...[     ARE OWNED BY THE PROPER USER. 
2^QK ...#UNS  FTS1  
2^RJ ...(   
2^SH ...#STR  NOADJ,%A  
2^TG ...#SKI
2^WF ...(   
2^XD ...      LDN   0  1
2^YC ...      SMO      FX2  
2^^B ...      STO   0  ACOMMUNE8
322* ...)   
323# ...#STR  NOADJ,%A  
324? ...(   
325= ...      SMO      FX2  
3269 ...      STOZ     ACOMMUNE8
3278 ...)   
3287 ...)   
329=          DOWN OWNERCHE,1   
32NW    #NOR
338G ...[??? CHECKOWN SECT FILE FGN 6 DOC   
347Q    #MAC  CHECKOWNER
34#Y ...[     THIS MACRO CHECKS IF THE ENTRANT,WHOSE NAME IS IN THE 1ST FABSNB  
34G6 ...[     IS OWNED BY THE PROPER USER.  
34MB          DOWN  OWNERCHE,2  
3572    #NOR
35LL ...[??? PROPUSER SECT FILE FGN 6 DOC   
375G    #MAC  PROPUSER  
379C ...[     CHECKS WHETHER A USER, WHOSE NAME IS IN CPREFIX IN THE CURRENT
37*# ...[     ACTIVITY BLOCK, IS A PROPER USER. IF NOT, THE PROPER USER NAME
37F9 ...[     IS LEFT IN ACOMMUNE1-3
37K6          DOWN     LEXIFIND,2   
384Q    #NOR
38JB ...[??? DICTJOB SECT FILE FGN 6 DOC
3=3=    #MAC  DICTJOB   
3=77 ...[     DICTJOB MACRO KEEPS A COUNT OF JOBS RUNNING IN A USER & DOES OTHER
3=?4 ...[     ENTRY POINTS: 1-JOB,ETC.  2-ENDJOB,ETC.   3-ERASE 
3=B^ ...[     DICTJOB  3  IS THE SAME AS JOBQCHEC (WHICH WAS ALREADY IN USE)
3=GW    #STR  %A,5  
3?2G    #SKI
3?G6    (   
3?^Q          LDX   0  %B   
3#FB          SMO      FX2  
3#^2          STO   0  ACOMMUNE1
3*DL    )   
3*Y=          DOWN     DICTJOB,%A   
3BCW    #NOR
3BMN ...[??? FILELOG SECT FILE FGN 6 DOC
3BXG    #MAC         FILELOG
3CC6          DOWN      FILELOG,1   
3CWQ    #NOR
3D6J ...[??? TEMPDIRA SECT FILE FGN 6 DOC   
3DBB    #MAC  TEMPDIRA  
3DW2          FJOCA    1,FX2
3F*L          LDCT  0  #002 
3FT=          ANDX  0  JMISC(1) 
3G#W          BNZ   0  M1TEMPDIRA   
3GSG          DOWN  NEWDIR,5
3H#6          BRN      %A   
3HRQ          BRN      %B   
3J?B    M1TEMPDIRA  
3JR2    #NOR
3K=L ...[??? FREEALL SECT FILE FGN 6 DOC
3KQ=    #MAC  FREEALL   
3L24 ...[  FREES ALL BS BLOCKS IN A FRB OF FULLB FORMAT & ALSO FREES THE FRB
3L9W          MHUNTW   2,FILE,FRB   
3LPG          NAME     2,BSTB,FULLB 
3M96          FREEBAX                      [FREE BS BLOCKS IN FULLB 
3MNQ          MFREE    BSTB,EMPTYB     [FREE CORE   
3N8B    #NOR
3NN2 ...[??? TESTNAME SECT FILE FGN 6 DOC   
3QLG    #MAC  TESTNAME  
3QPL ...[     THIS  TESTS  TWO  NAMES  AND  SETS  X7  ZERO   IF   THEY  ARE 
3QSQ ...[     NOT  ALIKE     %A=LENGTH OF NAME    %B, %C  CONTAIN   THE 
3QXW ...[     STARTING    ADDRESSES   OF  THE  TWO   NAMES  
3R32 ...[     IT  USES   X7  AND  X0
3R66          NGN   0  %A                  [SET  UP   X0   AS  COUNT
3RKQ    TTEST   
3S5B          SMO      0
3SK2          LDX   7  %A+%B               [ LOAD   INTO  X7   FIRST  WORD  
3T4L          SMO      0                   [J  IF  NOTSAME  
3TJ=          TXU   7  %A+%C
3W3W          BCS      NOTSAME  
3WHG          ADN   0  1                   [ADD  ONE   TO  COUNT
3X36          BNZ   0  TTEST               [ J   IF  COUNT   NOT   EXPIRED  
3XGQ          LDN   7  1                   [SET   X7   FOR   ALIKE  
3Y2B          BRN      TOUT 
3YG2    NOTSAME 
3Y^L          LDN   7  0
3^F=    TOUT                               [SET    X7  FOR   NOTALIKE   
3^YW    #NOR
42DG ...[??? TESTNAMX SECT FILE FGN 6 DOC   
43CQ    #MAC  TESTNAMX  
43JY ...[     THIS MACRO TESTS 2 NAMES AND BRANCHES TO %D IF THEY ARE NOT EQUAL 
43Q6 ...[     %E IS A WORK-ACCUMULATOR ,X7 BEING THE DEFAULT VALUE  
43XB          NGN   0  %A   
44C2    M1TESTNAMX  
44WL    #STR  %E
45B=    (   
45TW          SMO      0
46*G          LDX   %E %A+%B
46T6          SMO      0
47#Q          TXU   %E %A+%C
47SB    )   
48#2    #STR  %E
48RL    #SKI
49?=    (   
49QW          SMO      0
4==G          LDX   7  %A+%B
4=Q6          SMO      0
4?9Q          TXU   7  %A+%C
4?PB    )   
4#92          BCS      %D   
4#NL          ADN   0  1
4*8=          BNZ   0  M1TESTNAMX   
4*MW    #NOR
4*XN ...[??? TESTUSER SECT FILE FGN 6 DOC   
4B7G    #MAC  TESTUSER                     [TESTS IF WORD"%A CONTAINS"   :" 
4BM6    #ACC  %A
4C6Q    (   
4CLB          LDX   0  %A   
4D62          BXE   0  HCOLUSER,%B  
4DKL    )   
4F5=    #ACC  %A
4FJW    #SKI
4G4G          BXE   %A HCOLUSER,%B  
4GJ6    #NOR
4GRY ...[??? UNNORM SECT FILE FGN 6 DOC 
4H3Q    #MAC  UNNORM
4HHB    #STR  %A
4J32    #SKI
4JGL          DOWN     NNORM,1  
4K2=    #STR  %A
4KFW    (   
4K^G    #STR  %A,FULL   
4LF6    #SKI
4LYQ          DOWN     NNORM,1  
4MDB    #STR  %A,TWO
4MY2    #SKI
4NCL          DOWN     NNORM,2  
4NX=    #STR  %A,LOC
4PBW    #SKI
4PWG          DOWN     NNORM,3  
4QB6    #STR  %A,FULL   
4QTQ    (   
4R*B    #STR  %A,TWO
4RT2    (   
4S#L    #STR  %A,LOC
4SS=          GEOERR   1,UNNORM 
4T?W    )   
4TRG    )   
4W?6    )   
4WQQ    #NOR
4X=B ...[??? ERASE SECT FILE FGN 6 DOC  
4XQ2    #MAC  ERASE 
4X^S ...[     THIS MACRO ERASES THE FILE WHOSE FABSNB IS IN THE CHAIN.  
4Y9L          DOWN     ERASEA,2 
4YP=    #NOR
4^8W ...[??? ERASEND SECT FILE FGN 6 DOC
4^NG    #MAC  ERASEND   
4^Y# ...[     SAME AS ERASE BUT DIRECTORY ABOVE TO-BE-ERASED FILE IS OPEN   
5286          DOWN     ERASEA,1 
52MQ    #NOR
537B ...[??? CREATEB SECT FILE FGN 6 DOC
53M2    #MAC  CREATEB   
53WS ...[     THIS MACRO SETS UP A GENERAL PURPOSE FILE/CREATE BLOCK
546L          SETNCORE CREALEN,1,FILE,CREATE
54L=    #MOD  %A
555W    #SKI
55KG    (   
5656    #STR  %A,1  
56JQ          LDX   %A 1
574B    )   
57J2          ADN   1  A1   
583L          STOZ     0(1) 
58H=          LDX   0  1
592W          ADN   1  1
59GG          MOVE  0  CREALEN-1
5=26    #STR  1,%A  
5=FQ    #SKI
5=^B          SBN   1  A1+1 
5?F2    #STR  1,%A  
5?YL          LDX   1  FX1  
5#D=    #NOR
5#XW ...[??? FRIGMONF SECT FILE FGN 6 DOC   
5*X6    #MAC  FRIGMONF  
5B4# ...[     THIS MACRO IS A FRIG TO CREATE A WORKFILE OPEN TO A CPAT INSIDE   
5B9G ...[     THE SYSTEM AND ACCESSIBLE BY COMMAND EG LISTFILE  
5BBQ          CREATEWF                     [SETS UP A WORKFILE FCB,FEXTRA AND   
5BWB                                       [CHAINS IT AT THE TOP OF THE STACK   
5CB2          OPENWORK M1FRIGMONF,GENERAL   
5CTL          TESTRPN2 OK,M1FRIGMONF
5D*=    #STR  %B
5DSW    #SKI
5F#G          FILEMOVE 0,-1                [MAKE IT BOTTOM FILE 
5FS6          BRN      M2FRIGMONF   
5G?Q    M1FRIGMONF  
5GRB    #STR  %A
5H?2          BRN      %A   
5HQL    #STR  %A
5J==    #STR
5JPW          GEOERR   1,FRIGMONF   
5K9G    M2FRIGMONF  
5KP6    #NOR
5L8Q ...[??? FINDFCB SECT FILE FGN 6 DOC
5MML    #MAC  FINDFCB   
5MMY ...[   
5MN= ...[ ACCS USED AS FOLLOWS  
5MNJ ...[  X0 TESTNAMX  
5MNW ...[  X1 FCBRING POINTER   
5MP8 ...[  X2 POINTER TO THE REQUIRED NAME IN FABS  
5MPG ...[  X3 =0 IF USER NAME OR ELSE POINTER TO SUPUSER NAME   
5MPS ...[  X4 LOCAL NAME USER NAME IDICATOR . 0=FLOC1,3= FME1   
5MQ6 ...[  X5 FIRST WORD OF REQ NAME OR GENERAL WORK WORD   
5MQD ...[  X6 =0 IF ON DIR RING OR =1 IF ON HALF RING   
5MQQ ...[  X7 FCB COUNT 
5MR4 ...[   
5MRH ...[   THIS MACRO SEARCHES THROUGH BOTH THE OPEN AND HALF-OPEN FILE CHAINS 
5MXD ...[   FOR AN FCB WHOSE NAME IS GIVEN IN A FILE/FABSNB POINTED TO BY %A.   
5N3* ...[   THE POINTER TO THE FCB IF FOUND IS GIVEN IN %B. 
5N7=          LDX   1  %A   
5NLW          LDN   2  %B   
5P6G          CALL  0  M1FINDFCB
5PL6    #OPT  M2FINDFCB=1   
5Q5Q    #SKI  M2FINDFCB 
5QKB    (   
5R52          BRN      M3FINDFCB
5RJL    #DEF  M1FINDFCB=0?  
5S4=          STO   0  GEN0                [STORE LINK IN GEN0  
5SHW          STO   1  GEN1                [KEEP %A IN GEN1 
5T3G          LDN   0  3
5TH6          LDN   1  GEN2                [ACCUMULATORS 3 TO 7 DUMPED  
5W2Q          MOVE  0  5                   [ IN GEN2 TO GEN6
5WCT ...
5WSY ...      NGX   5  GEN1 
5X=3 ...      STO   2  GEN1 
5XM6 ...      HUNT  2,FILE,FABSNB   
5Y49 ...      ADX   5  A1(2)
5YF# ...      ADX   2  5         [POINTER DOWN FABS 
5YWC ...      ADN   2  A1         [POINTS TO REQ NAME   
5^?G ...      SBN   5  1      [ARE WE AT THE TOP OF THE FABS
5^NK ...
625N ...      LDN   3  0         [SET X34 TO INDICATE USERNAME  
62GR ...      LDN   4  FME1-FLOC1   
62XW ...      BZE   5  M4FINDFCB        [X2 POINTS TO TOP NAME MUST BE USER 
63#^ ...
63Q4 ...      LDX   0  0(2) 
6477 ...      ADN   2  1
64J= ...      SBX   0  HCOLUSER         [SEE IF USER COLON  
64^* ...      BZE   0  M4FINDFCB         [YES IT IS 
65BD ...
65RH ...      SBN   2  1           [LOOKING FOR LOCAL NAME  
668L ...      SBN   5  3
66KP ...      LDX   3  2         [SO SET X3 TO SUPUSER  
672S ...      LDN   4  0
67CX ...      SBN   3  3
67T2 ...      BZE   5  M4FINDFCB         [SUPUSER IS TOP OF FABS
68=5 ...
68M8 ...      SBN   3  2         [SUPUSER IS NOT TOP SO ADJUST X3   
694? ...
69FB ...M4FINDFCB   
69WF ...
6=?J ...      LDX   5  0(2)         [LOAD COMPARISON WORD   
6=NM ...      LDN   6  1         [INDICATE HALF OPEN CHAIN  
6?5Q ...      BASEFCB 1,HALF,M10FINDFCB,7   
6?GT ...[   
6?XY ...M5FINDFCB   
6#*3 ...      BZE   4  M8FINDFCB         [DO LOCAL TEST 
6#Q6 ...M6FINDFCB                     [USERNAME TEST
6*79 ...      BXE   5  FME1-FCBRING(1),M11FINDFCB   
6*J# ...M7FINDFCB   
6*^C ...      NEXTFCB 1,DIR,M6FINDFCB,7 
6BBG ...      BRN      M10FINDFCB   
6BRK ...
6C8N ...M8FINDFCB               [LOCAL NAME TEST
6CKR ...      BXE   5  FLOC1-FCBRING(1),M11FINDFCB  
6D2W ...M9FINDFCB   
6DC^ ...      NEXTFCB 1,DIR,M8FINDFCB,7 
6DT4 ...
6F=7 ...M10FINDFCB               [FCB NOT FOUND ON THIS SEARCH  
6FM= ...      BZE   6  M10AFINDFCB         [FINISHED BOTH HALF AND DIR  
6G4* ...      LDN   6  0         [INDICATE DIR CHAIN
6GFD ...      BASEFCB 1,DIR,M10AFINDFCB,7   
6GWH ...      BRN      M5FINDFCB         [RETURN TO SEARCH DIR  RING
6H?L ...
6HNP ...M10AFINDFCB            [GIVE REPLY NOTFOUND 
6J5S ...      KEEPREP 7,NOTFOUND
6JGX ...      BRN      M16FINDFCB   
6JY2 ...
6K*5 ...M11FINDFCB               [THIS ROUTINE CHECKS FURTHER DETAILS OF FCB
6KQ8 ...      LDX   5  1(2) 
6L7? ...      SMO      4
6LJB ...      BXU   5  FLOC2-FCBRING(1),M12FINDFCB         [COMPARE REST OF NAME
6L^F ...
6MBJ ...      LDX   5  2(2) 
6MRM ...      SMO      4
6N8Q ...      BXE   5  FLOC3-FCBRING(1),M13FINDFCB  
6NKT ...
6P2Y ...M12FINDFCB         [RETURN TO SEARCH
6PD3 ...      LDX   5  0(2) 
6PT6 ...      BZE   4  M9FINDFCB         [LOCAL NAME EXIT   
6Q=9 ...      BRN      M7FINDFCB         [USER NAME EXIT
6QM# ...
6R4C ...M13FINDFCB               [FIRST NAME OK 
6RFG ...      BZE   3  M14FINDFCB         [USER SO NO FURTHER NAME CHECK NECC   
6RWK ...      TESTNAMX 3,0(3),FUSER1-FCBRING(1),M12FINDFCB,5    [LOCAL NAME CHEC
6S?N ...
6SNR ...M14FINDFCB               [FINAL CHECK FOR TO BE ERASED DIRS 
6T5W ...      LDX   5  FCOMM-FCBRING(1) 
6TG^ ...      ANDN  5  1
6TY4 ...      BNZ   5  M12FINDFCB   
6W*7 ...      SBN   1  FCBRING         [EVERYTHING OK   
6WQ= ...      LDX   5  1
6WTG ...#STR %C 
6WYQ ...#SKI
6X42 ...(   
6X7* ...      BZE   6  M15FINDFCB         [FILE ALREADY OPEN
6XJD ...      LDX   4  FPTR(1)      [CHAIN BLOCKS ON FILE CHAIN 
6X^H ...      TRANSFCB 5,HALF,FILE  
6YBL ...      LDX   1  4
6YRP ...      CHAIN 1,BFILE+1      [CHAIN FINDEXF BLOCK 
6^8S ...
6^KX ...M15FINDFCB  
6^SD ...)   
7232 ...      LDX   2  5
72D5 ...      KEEPREP 7,OK  
72T8 ...
73=? ...M16FINDFCB  
73MB ...      PUTREP 7  
745G          TRACEIF  K6OPEN,99,299,7,HALFREP  
74K6          LDN   0  GEN2                [RESTORE X3 TO X7
754Q          LDN   1  3
75JB          MOVE  0  5
7642          LDX   1  GEN1 
76HL          STO   2  0(1)                [PUT -> IN %B
773=          LDX   1  FX1  
77GW          LDX   2  FX2  
782G          BRN      (GEN0)   
78G6    #FREE M2FINDFCB 
78^Q    #DEF  M2FINDFCB=0   
79FB    M3FINDFCB   
79^2    )   
7=DL    #NOR
7=ND ...[??? READLEX SECT FILE FGN 6 DOC
7=Y=    #MAC  READLEX   
7?CW          DOWN     USELEX,1 
7?XG    #NOR
7#7# ...[??? NEWUSER SECT FILE FGN 6 DOC
7#C6    #MAC  NEWUSER   
7#WQ          DOWN     USELEX,2 
7*BB    #NOR
7*L8 ...[??? FREELEX SECT FILE FGN 6 DOC
7*W2    #MAC  FREELEX   
7B*L          DOWN     USELEX,3 
7BT=    #NOR
7C#W ...[??? NOOWNERA SECT FILE FGN 6 DOC   
7CSG ...#MAC NOOWNERACC 
7D#6 ...#MEN OWNERCHE   
7DRQ ...#TRA K55OWNERCHE
7F?B ...      BRN      K56OWNERCHE  
7FR2 ...#END
7G=L ...#NOR
^^^^ ...07372056001100000000
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1