NEWDIR867

(George Source)

Macros used: ALTLEND, BS, BXE, CHEKPRIV, CLOSE, CLOSETOP, CREATEB, ERRORX, FJOCA, FREECORE, FSHENTRY, GETDIR, HUNT, HUNT2B, HUNTW, INSERT, JBC, JBS, JFREZFCB, KEEPREP, LONGSET, LONGSTOP, MBS, MENDAREA, MFREE, MFREEW, MHUNT, MHUNTW, NAME, NAMETOP, NEWUSER, OPEN, OPENREL, OPENSYS, OWNERCHE, PUTREP, READDICT, READLEX, REPALLER, SEG, SEGENTRY, SETNCORE, SETREP, SETREP2, SINM551, SINMAC1, TESTREP, TESTREP2, TESTRPN2, TOPFCB, UP, UPPLUS, VFREEW

NEWDIR867.txt
22FL    [   
22^=    [THIS VERSION INCLUDES: 
23DW    [1.   OPENSYS   
23YG    [2.   BREAKIN ON OPEN   
24D6    [3.   LESS DUMPER FREEZING  
24QH ...[4.   TWIN SYSTEMS  
24W2 ...      SEG      NEWDIR,2,EDWARD  MOON ,FILESTORE,G3UGSI  
24^F ...[   
254Y ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LIMITED 1982
258C ...[     THIS EXCLUDES CODE UNDER #SKI G3UGSI  
25?W ...[   
25CB          SEGENTRY K1NEWDIR,Z1NEWDIR
25X2          SEGENTRY K2NEWDIR,Z2NEWDIR
26BL          SEGENTRY K3NEWDIR,Z3NEWDIR
26W=          SEGENTRY K4NEWDIR,Z4NEWDIR
27*W          SEGENTRY K5NEWDIR,Z5NEWDIR
27TG    [   
282N ...      FSHENTRY K7NEWDIR,Q7NEWDIR,,Q7NEWDIR  
287W ...[   
288L ...#OPT  G3UGSI=0  
289B ...#SKI  G3UGSI
28=6 ...(   
28=W ...# MACRO TO PREVENT M551 AND SECURITY INTERFACE CLASH
28?L ...      SINM551   
28#B ...)   
28*6    # THIS ROUTINE HAS ENTRIES FOR THE MAKEDIR COMMAND AND THE TEMPDIR MACRO
28SQ    #     FOR MAKEDIR IT SETS UP AND APPENDS A SUITABLE DICTIONARY ENTRY AND
29#B    #     IF NECESSARY MAKES UP A PSEUDO USERNAME.  
29S2    #     FOR TEMPDTR THE TEMPORARY DIRECTORY IS SET UP WITH A PSEUDO USERNA
2=?L    XERNOTO        +ERNOTOWNER  
2=R=    XERNAME        +ERNAME  
2?=W    XERMAKAL       +ERMAKAL 
2?QG    XERMAKPR       +ERMAKPR 
2#=6    XERMAKPS       +ERMAKPS 
2#PQ    XERMAK         +ERMAK   
2*9B    SLAN           4HC1 
2*P2    NOSA           #41  
2B8L    NEWUSER     8HNEWUSER   
2BN=    [   
2C7W    Z1NEWDIR
2CMG    # ENTRY FROM NEWDIR MACRO   
2D76          LDN   4  4
2DLQ          BRN      NOTPSEUDO
2F6B    [   
2FL2    Z2NEWDIR
2G5L    # ENTRY WITH ONE PARAMETER FROM MAKEDIR,PSEUDO  
2GK=          LDN   4  1
2H4W          BRN      PSEUD
2HJG    [   
2J46    Z3NEWDIR
2JHQ    # ENTRY WITH TWO PARAMETERS FROM MAKEDIR,NOT PSEUDO 
2K3B          LDN   4  2
2KH2    NOTPSEUDO   
2L2L ...      LDN   5  FLOG-1   
2LG=          BRN      NPSEU
2L^W    [   
2MFG    Z4NEWDIR
2M^6    # ENTRY WITH THREE PARAMETERS FROM MAKEDIR,PSEUDO   
2NDQ          LDN   4  3
2NYB          BRN      PSNAM
2PD2    [   
2PXL    Z5NEWDIR
2QC=    # ENTRY FROM  TEMPDIRA MACRO
2QWW          LDN   4  0
2RBG          SETNCORE 10,1,FILE,FABSNB 
2RW6          LDN   0  10   
2S*Q          STO   0  A1(1)               [RECORD HEADER   
2STB          FJOCA    1,2                 [GET USERNAME & JOBNAME  
2T*2          ADN   1  JUSER               [MOVE THEM INTO ABSNB
2TSL          MHUNTW   2,FILE,FABSNB       [JUST SET UP SO W IS OK  
2W#=          ADN   2  A1+1 
2WRW          MOVE  1  3
2X?G          SBN   1  JUSER-JNAME  
2XR6          ADN   2  3
2Y=Q          MOVE  1  3
2YQB          LDN   0  1                   [SET UP REEL AND GENERATION NUMBERS  
2^=2          STO   0  3(2) 
2^PL          STO   0  4(2) 
329=          SMO      FX1                 [SET  UP  LANG  WORD 
32NW          LDX   0  SLAN 
338G          STO   0  5(2) 
33N6    PSEUD CALL  5  NXUZA               [GET A MADE UP USERNAME IN A CREATE B
347Q    PSNAM LDN   5  FPSEU               [LENGTH OF PSEUDO DICTIONARY ENTRY   
34MB    NPSEU   
3572          SETNCORE 3,3,FILE,ADICT   
35LL          BZE   4  SETFL               [NO DICT ENTRY FOR TEMPDIRA  
366=          SETUPCOR 5,3,FILE,FWB        [INSERT BLOCK FOR DICTIONARY ENTRY   
36KW          STO   5  A1(3)               [RECORD HEADER   
375G          STOZ     A1+1(3)  
37K6          LDN   1  A1+1(3)  
384Q          LDN   2  A1+2(3)  
38JB          SMO      A1(3)
3942          MOVE  1  510                 [ZEROISE BLOCK   
39HL          LDN   0  1
3=3=          STO   0  CNEWZ(3)            [SET UP NEW FORMAT WORD  
3=GW          ADN   3  CUSER
3?2G          MHUNTW   2,FILE,CREATE
3?G6          ADN   2  CEUSE1              [LOCATE USERNAME IN THE CREATE BLOCK 
3?^Q          MOVE  2  3                   [MOVE IT INTO CUSER  
3#FB          HUNT     2,FILE,FABSNB
3#^2          SMO      A1(2)
3*DL          ADN   2  A1-6                [LOCATE LOCALNAME IN THE FABSNB AND  
3*Y=          ADN   3  CLOCN-CUSER         [MOVE IT INTO CLOCN  
3BCW          MOVE  2  3
3BXG          LDX   0  GSIGN               [NEGATIVE
3CC6          ORS   0  CPSEU-CLOCN(3)      [MARKER FOR PSEUDO DIRECTORY 
3CWQ          LDEX  0  4
3DBB          ANDN  0  1
3DW2          BNZ   0  SETFL               [J IF PSEUDO 
3F*L          STOZ     CPSEU-CLOCN(3)      [ZEROISE PSEUDO MARKER   
3FT=          LDX   0  ACES 
3G#W          ADN   3  CPASS-CLOCN  
3GSG          STO   0  0(3)                [PUT SPACES IN   
3H#6          STO   0  1(3)                [THE PASSWORD
3HRQ          STO   0  2(3) 
3J?B    SETFL   
3JR2          SETNCORE 6,3,FILE,FLOCNB  
3K=L          MHUNT    2,FILE,FABSNB
3KQ=          ADN   3  A1   
3L9W          SMO      A1(2)
3LPG          ADN   2  A1-6                [LOCATE LAST NAME IN THE FABSNB AND  
3M96          MOVE  2  6                   [MOVE IT INTO THE FLOCNB 
3MNQ          MHUNT    2,FILE,FABSNB       [RECOVER POINTER 
3N8B          LDN   0  6
3NN2          SBS   0  A1(2)               [REDUCE LENGTH FOR OPENING THE DIRECT
3P7L    WTLOOP  
3PM=          OPEN     TBR,GENERAL,QUERY,LEAVE     [OPEN NEW DIRECTORY'S DIRECTO
3Q6W          TESTRPN2 OK,NAME             [ERROR IN HIGHER DIRECTORY   
3Q?# ...      BZE   4  NOCHEKA             [TEMPDIRA MACRO  
3QCQ ...#UNS FTS1   
3QJ8 ...(   
3QNL ...      TOPFCB   2
3QT4 ...      JFREZFCB 2,RFROZEN
3Q^G ...)   
3R66          LDX   0  4
3RKQ          SBN   0  4
3S5B          BZE   0  NOCHEK              [DONT CHECK OWNERSHIP IF NEWDIR MACRO
3SK2          OWNERCHE  
3SN6 ...#UNS FTS1   
3SR= ...(   
3SWB ...      TESTREP2 NOINFACC,RFROZEN,NOALLACC,RFROZEN
3S^G ...)   
3T4L          TESTREP2 OK,NOCHEK
3TJ=          CLOSE                        [DIR 
3W3W          LDX   3  XERNOTO(1)   
3WHG          BRN      NOTBRK              [CLEAR UP BLOCKS & REPORT ERROR  
3X36    NOCHEKA 
3XGQ          GETDIR   3                   [WE WANT TO WAIT FOR ERASING IF TEMPD
3Y2B          BRN      NOCHEKX  
3YG2    NOCHEK  
3Y^L          GETDIR   1                   [TEST TO SEE IF NAME ALREADY USED
3^F=    NOCHEKX 
3^YW          MHUNTW   3,FILE,ENT   
42DG          TESTRPN2 NOFILE,USED1 
42Y6          JBC      NTMPD,3,BETEMP      [J UNLESS SUPERIOR IS TEMPORARY  
43CQ          MHUNTW   1,FILE,CREATE
43XB          BS       1,CETEMP            [IF SO MAKE THIS ONE TEMPORARY TOO   
44C2          MFREEW   FILE,FWB 
44WL          ORX   4  GSIGN
45B=    NTMPD   
45TW          LDN   2  EUSE1(3) 
46*G          MHUNTW   3,FILE,ADICT 
46T6          ADN   3  A1   
47#Q          MOVE  2  3                   [MOVE IN SUPUSER NAME
47SB          BZE   4  TEMPS               [J IF TEMPDIRA MACRO 
48#2          BNG   4  TEMPS               [J. IF TEMPDIR   
48RL          MHUNTW   3,FILE,FWB   
49?=          ADN   3  CSUPUSER 
49QW          MOVE  2  3                   [MOVE IN CSUPUSER
4==G          SBN   2  EUSE1
4=Q6          FREECORE 2
4?9Q          OPENSYS  TBREAK,DICTIONARY,GENERAL
4?PB          LDX   0  4
4#92          SBN   0  2
4#NL          BNZ   0  PSDUS               [J IF PSEUDO OR MACRO
4*8=          READDICT                     [GET THE DICT ENTRY OF THE SUPERIOR U
4*MW          MHUNTW   3,FILE,ADICTENT  
4B7G          LDX   0  CPSEU(3) 
4BM6          BNG   0  PSDIR               [J IF SUPUSER IS PSEUDO FOR NONPSEUDO
4C6Q ...      CHEKPRIV 0,NEWUSER,NOPRIV    [J TO NOPRIV UNLESS USER HAS PRIVILEG
4CLB          MHUNTW   2,FILE,ADICTENT  
4D62          LDX   3  2
4DKL          ADN   2  CUSER
4F5=          ADN   3  A1   
4FJW          MOVE  2  3                   [MOVE UP USER NAME   
4G4G          SBN   3  A1   
4GJ6          ALTLEND  3,3  
4H3Q          MHUNTW   2,FILE,ADICTENT  
4HHB          NAME     2,FILE,ADICT 
4J32          BRN      PSDUS
4JGL    TEMPS   
4K2=          SBN   2  EUSE1
4KFW          FREECORE 2
4K^G    PSDUS   
4LF6          CALL  5  SETADICT            [GET ADICT WITH NEW USERNAME 
4LYQ          OPENSYS  ZBREAK,LEXICON,WRITE 
4MDB    [   
4MY2    [     CODE TO PREVENT MAKING NON-TEMP DIR DURING DUMP WHEN ONE OF SAME  
4NCL    [NAME WAS ERASED
4NX=    [   
4PBW          JBC      NOTDUMPING,,BFERUS  [J IF NOT DUMPING
4PWG          BNG   4  NOTDUMPING          [OR IF TEMPORARY 
4QB6          BZE   4  NOTDUMPING          [OR TEMPDIRA 
4QTQ          LDN   2  BMISC
4R*B          HUNT2B   2,FI,FERUS          [FIND PROHIBITED NAME BLOCK IN MISC C
4RT2          HUNTW    1,FILE,ADICT 
4S#L          LDX   0  FERUSNUM(2)         [NO. OF NAMES IN LIST
4SS=          BZE   0  NOTDUMPING   
4T?W          LDX   5  A1(1)               [LOAD NAME   
4TRG          LDX   6  A1+1(1)             [ BEING  
4W?6          LDX   7  A1+2(1)             [  CREATED   
4WQQ    NEXTUSER
4X=B          TXU   5  FERUSER(2)          [JUMP
4XQ2          TXU   6  FERUSER+1(2)        [ IF NAME
4Y9L          BXE   7  FERUSER+2(2),RASE   [  PROHIBITED
4YP=          ADN   2  FERUSLEN            [GET PTR TO NEXT NAME
4^8W          BCT   0  NEXTUSER            [& TEST UNTIL NONE LEFT  
4^NG          BRN      NOTDUMPING          [NAME OK SO PROCEED  
5286    RASE                               [NAME IS PROHIBITED  
52MQ          FREECORE 1                   [ADICT   
537B          LDN   0  1
53M2          SBX   0  4
546L          BZE   0  USEDX               [GET ANEW NAME IF IT WAS A MADE-UP NA
54L=          LONGSET  ADUMPWT,(GEOERR)    [PREPARE TO WAIT FOR END OF DUMP 
555W          LDN   7  3
55KG    NEXTCLOSE   
5656          CLOSETOP                     [LEXICON,DICTIONARY & DIR
56JQ          BCT   7  NEXTCLOSE
574B          LONGSTOP TBR,,INCFREZ        [OUTPUT WAITING MESSAGE & WAIT   
575Y ...WAITLAB 
57J2          BRN      WTLOOP              [TRY AGAIN   
583L    [   
58H=    NOTDUMPING  
592W          READLEX                      [THE 1ST ADICT CONTAINS THE NEW USERN
59GG          TESTRPN2 NOUSER,USED  
5=26          READLEX                      [THE 1ST ADICT BLOCK IS NOW SUPUSER'S
5=FQ          MHUNTW   2,FILE,ASELFLEX  
5=^B          LDX   0  4
5?F2          SBN   0  2
5?YL          BZE   0  REAL                [J IF NON PSEUDO 
5#D=          SBN   0  2
5#XW          BZE   0  REAL                [J IF NEWDIR MACRO   
5*CG          LDCT  1  #600 
5*X6          BNG   4  PSONLY              [J IF TD MACS
5BBQ          BZE   4  PSONLY              [J IF TEMPDIRA   
5BWB          LDCT  1  #400 
5CB2    PSONLY  
5CTL          ORS   1  GSUPUSER(2)         [SET PSEUDO &/OR LEMP BITS   
5D*=    REAL
5DSW          NAME  2,FILE,ASUPLEX  
5F#G          MHUNTW   1,FILE,CREATE
5FS6          ADN   2  GLUSER   
5G?Q          ADN   1  CEUSE1              [MOVE IN NEW USERNAME
5GRB          MOVE  1  3
5H?2          NEWUSER                      [INSERT NEW LEXICON ENTRY
5HQL          CLOSETOP                     [LEXICON 
5J==          BZE   4  TDMAC               [J IF TEMPDIRA   
5JPW          BNG   4  TDMAC               [J IF TEMP BECAUSE SUPERIOR IS   
5JQR ...[     THIS SECTION IS ONLY COMPILED IF THE G3 USER GROUP
5JRN ...[     SECURITY INTERFACE ENHANCEMENT IS SWITCHED ON 
5JSK ...#SKI G3UGSI                        [G3UG SECURITY INTERFACE 
5JTG ...(   
5JWC ...      MHUNTW   3,FILE,FWB   
5JX# ...      LDX   5  CPSEU(3) 
5JY9 ...      BNG   5  REAL2
5J^6 ...      NAME     3,FILE,ADICTENT  
5K23 ...      SINMAC1  CPASS(3),5,2 
5K2Y ...      MHUNTW   3,FILE,ADICTENT  
5K3T ...      NAME     3,FILE,FWB   
5K4Q ...      LDN   1  5
5K5M ...      LDN   2  CPASS(3) 
5K6J ...      MOVE  1  3
5K7F ...REAL2   
5K8B ...)   
5K9G          CALL  5  SETADICT 
5KP6          READDICT                     [GET DICTIONARY POSITIONED TO INSERT 
5L8Q          INSERT
5LNB          CLOSETOP                     [CLOSE THE DICTIONARY
5M82          MFREEW   FILE,FWB 
5MML    TDMAC   
5N7=          LDX   0  4
5NLW          SBN   0  2
5P6G          BZE   0  TRAP                [SET TRAP FOR REAL USER  
5PL6          SBN   0  2
5Q5Q          BNZ   0  NOTRAP              [J IF PSEUDO 
5QKB    TRAP
5R52          SETNCORE 5,2,FILE,FTRAP      [FOR TRAPADD BY MAKEFILE 
5RJL          MHUNTW   1,FILE,CREATE
5S4=          LDN   0  5
5SHW          STO   0  ETRAPRH(2)   
5T3G          LDN   0  2                   [READ TRAP   
5TH6          STO   0  ETRAPMODES(2)
5TN# ...#UNS  ILOGACC   
5TTG ...      BS       2,EDEFTRAP         [INDICATE THIS IS DEFAULT TRAP
5W2Q          ADN   1  CEUSE1   
5WGB          ADN   2  ETRUSER1 
5X22          MOVE  1  3
5XFL    NOTRAP  
5X^=          MHUNTW   1,FILE,CREATE
5Y4B ...#UNS FNSAD  
5Y7G ...      MBS      1,CEONLINE,CECOOR,CEINDEXF,CECARE
5Y=L ...#UNS FNSAD  
5Y*Q ...#SKI
5YDW          MBS      1,CEONLINE,CECOOR,CEALLINCS,CEINDEXF,CECARE  
5YYG          BNZ   4  NOTEMPBIT
5^D6          BS       1,CETEMP 
5^XQ    NOTEMPBIT   
62CB          LDEX  7  4
62X2          SBN   7  1
63BL          BZE   7  PSEUDOBIT           [J IF PSEUDO 
63W=          SBN   7  2
64*W          BNZ   7  NOPSEUDOBIT         [J UNLESS PSEUDO 
64TG    PSEUDOBIT   
65*6          BS       1,CEPSEUDO          [PSEUDO-DIRECTORY
65SQ    NOPSEUDOBIT 
66#B          LDN   0  INDEXDIR 
66S2          STO   0  CEINDEX(1)   
66TP ...#UNS FNSAD  
66XD ...(   
66^7 ...      BZE   4  NOSET              [NO 'DIRBELOW' BIT IF TEMPDIR 
672W ...      TOPFCB   3
674K ...      JBS      NOSET,3,BFDIRBELOW   
676# ...      MBS      3,BFDIRBELOW,BFDIRUPDATE 
6783 ...NOSET   
679Q ...)   
67CJ ...      OPENREL  TBR,GENERAL,CREATE,QUERY 
67KB ...      TESTREP   ALREADY,NOTBRK  
67R=          MFREEW   FILE,FLOCNB  
68=W          MFREE    FILE,FABSNB  
68?^ ...RETFROMA
68QG          BNZ   4  MADE                [J UNLESS TEMPDIRA   
69=6          FJOCA    1,2                 [GET X1->JOBBLOCK
69PQ          BS       1,JBTEMP            [MARK 'TEMPDIR EXISTS'   
6=9B          CLOSE                        [TEMP DIR
6=BJ ...NCLOSINB
6=P2          SETREP2  OK   
6?8L          UPPLUS   2
6?N=    MADE
6#7W          CLOSE 
6#*4 ...NCLOSINB2   
6#MG          SETREP2  OK   
6*76          UPPLUS   1
6*LQ    NAME
6B6B          BZE   4  (GEOERR)            [J IF TEMPDIRA   
6BL2          LDX   3  XERNAME(1)   
6C5L    NOTBRK  
6CK=          LDN   7  0                   [REMEMBER NOT BREAKIN CASE   
6D4W          BRN      REPALREADY   
6DJG    USED1   
6F46          LDN   7  0
6FHQ          JBC      NOWAIT,3,BEERASE    [J UNLESS 'TO BE ERASED' 
6G3B          LDX   7  ELOC1(3) 
6GH2          LONGSET  #12,(GEOERR),7      [PREPARE TO WAIT FOR ERASURE TO FINIS
6H2L    NOWAIT  
6HG=          FREECORE 3
6H^W          CLOSETOP                     [SUPERIOR DIR
6JFG          BNZ   7  WAIT                [J IF LONGWAIT REQD  
6J^6          LDX   3  XERMAKAL(1)  
6KDQ    REPALREADY  
6KYB          KEEPREP  5,ALREADY
6LD2    WTBRK                              [FREE BLOCKS BEFORE UP IF BROKEN IN  
6LXL          MFREEW   FILE,ADICT   
6MC=    NOPRIVY 
6MWW          MFREEW   FILE,CREATE  
6NBG          MFREE    FILE,FABSNB  
6NW6          MFREEW   FILE,FLOCNB  
6NXN ...RETFORERR   
6P*Q          BNZ   7  TBR                 [J IF BREAKIN
6PTB          BZE   4  SETREP              [SET REPLY IF TEMPDIRA   
6Q*2          VFREEW   FILE,FWB 
6QSL          LDEX  4  4
6R#=          SBN   4  4
6RRW          BNZ   4  XERR                [REPORT ERROR IF COMMAND 
6S?G    SETREP  
6SR6          PUTREP   5
6T=Q          UPPLUS   1
6TQB    WAIT
6W=2          LONGSTOP WTBRK
6WPL          BRN      WTLOOP              [TRY AGAIN   
6X9=    XERR
6XNW          ERRORX   3
6Y8G          UPPLUS   1
6YN6    NOPRIV  
6^7Q          LDX   3  XERMAKPR(1)  
6^#Y ...#UNS FTS1   
6^G6 ...      CLOSETOP                    [ DICT.   
6^MB          CLOSE                        [CLOSE SUPERIOR DIR ONLY ONLY
7272    NOPRIVZ 
72LL          LDN   7  0
736=          BRN      NOPRIVY             [CLEAR UP BLOCKS & REPORT ERROR  
73KW    PSDIR   
745G          LDX   3  XERMAKPS(1)  
74K6          CLOSETOP  
754Q          CLOSETOP  
75JB          MFREEW   FILE,ADICTENT
7642          BRN      NOPRIVZ  
76HL    USED
773=          MFREEW   FILE,ASELFLEX
77GW    USEDX   
782G          CLOSETOP  
78G6          BZE   4  NONEG               [J IF TEMPDIRA   
78^Q          BNG   4  NONEG               [J IF TO BE TEMP. SINCE SUPERIOR IS  
79FB          CLOSE                        [DICT
79^2          MFREEW   FILE,FWB 
7=DL    NONEG   
7=Y=          CLOSE                        [SUP CIR 
7?CW          LDEX  0  4
7?XG          SBN   0  2
7#C6          BNG   0  PSTH                [J IF TEMPDIR OR MAKEDIR WITH ONE PAR
7#WQ          SBN   0  2
7*BB          BZE   0  NOTBRK   
7*W2          MFREE    CPB,CUNI            [FREE FIRST PARAMETER BLOCK  
7B*L          MHUNT    2,FILE,FNAME 
7BT=          NAMETOP  2,CPB,CUNI   
7C#W          LDX   3  XERMAK(1)
7CSG          BRN      NOTBRK   
7D#6    PSTH
7DRQ          MFREEW   FILE,CREATE  
7F?B          MFREEW   FILE,FLOCNB  
7FR2          MFREEW   FILE,ADICT   
7G=L          HUNT     1,FILE,FABSNB
7GQ=          LDN   0  6
7H9W          ADS   0  A1(1)               [RESTORE LENGTH BEFORE GOING BACK
7HPG          BRN      PSEUD               [MAKE UP ANOTHER PSEUDO USERNAME 
7J96    NXUZA                              [THIS ROUTINE PUTS THE NEXT USERNAME 
7JNQ          SBX   5  FX1                 [UP BY THE SYSTEM INTO A FILE/CREATE 
7K8B          CREATEB   
7KN2          LDCT  1  #600                [IT UPDATES THIS NAME IN FIXED CORE  
7L7L          ADN   1  2                   [SET UP MODIFIER 
7LM=    VAGAN LDCH  0  AUSE(1)             [PICK UP A  CHARACTER
7M6W          SBN   0  1                   [REDUCE IT BY 1  
7MLG          SMO      FX1  
7N66          TXL   0  NOSA                [TEST NOT LESS THAN 'A'  
7NKQ          BCS      VUPD                [JUMP IF CHAR0LESS THAN 'A'  
7P5B          DCH   0  AUSE(1)             [OTHERWISE REPLACE UPDATED CHARACTER 
7PK2          MHUNTW   2,FILE,CREATE
7Q4L          ADN   2  CEUSE1              [INTO THE FILE/CREATE BLOCK  
7QJ=          LDN   1  AUSE 
7R3W          MOVE  1  3
7RHG          ADX   5  FX1  
7S36          EXIT  5  0
7SGQ    SETADICT
7T2B          SBX   5  FX1  
7TG2          SETNCORE 3,2,FILE,ADICT   
7T^L          MHUNTW   1,FILE,CREATE
7WF=          ADN   1  CEUSE1   
7WYW          ADN   2  A1   
7XDG          MOVE  1  3
7XY6          ADX   5  FX1  
7YCQ          EXIT  5  0
7YXB    VUPD  LDN   0  #72                 [REPLACE CHARACTER WITH A 'Z'
7^C2          DCH   0  AUSE(1)             [AND UPDATE THE CHARACTER MODIFIER   
7^WL          LDX   0  1                   [TEST WHETHER NECESSARY TO   
82B=          SRL   0  2                   [CHANGE WORD MODIFIER
82TW          BZE   0  VDOWN               [JUMP IF NECESSARY   
83*G          LDCT  0  #200                [OTHERWISE DECREMENT CHARACTER   
83T6          SBX   1  0                   [MODIFIER AND LOOK AT NEXT MOST  
84#Q          BRN      VAGAN               [SIGNIFICANT CHARACTER   
84SB    VDOWN SBN   1  1                   [DECREMENT WORD MODIFIER AND SET 
85#2          LDCT  0  #600                [CHARACTER MODIFIER TO 3THEN LOOK
85RL          ADX   1  0                   [AT NEXT MOST SIGNIFICANT CHARACTER  
86?=          BRN      VAGAN
86QW    ZBREAK  
87=G          CLOSETOP                     [DICTIONARY  
87Q6    TBREAK  
889Q          CLOSETOP                     [DIRECTORY   
88PB    TBR 
8992          UP
89?9 ...#UNS FTS1   
89*D ...(   
89CM ...RFROZEN 
89FW ...      REPALLER  
89J5 ...      UPPLUS   1
89L# ...)   
89NL    [   
8=8=          MENDAREA 20,K99NEWDIR 
8=MW    #END
^^^^ ...04256470000200000000
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1