e _vߋt ***THIS VOLUME DOES NOT CONTAIN A HARDWARE BOOTABLE SYSTEM *** RZbjrt:#z xQz kzNNz*O:z INI -- INDEX FILE BIT MAP I/O ERROR INI -- INDEX FILE HEADER I/O ERROR INI -- STORAGE BIT` XRMSKIT30MAY79102744RMSKIT [001,001] DECFILE11A g r  sQrl^rl^rl^rsrl^rjL_r(^rkQ"SrwrwxQrwy dl^sdl^dl^dl^dl^dl^rll^rl^l^rl^ rwl^!rl_" d#sd$d%d&d'd(rw)r *r xQ+rs,rsxQ-r.rxQ/r0rxQ1r2rxQ3r4rxQ;*!; R M S 1 1 . C M D VERSION 1.8.;O2; COPYRIGHT (C) 1979 DIGITAL EQUIPMENT CORP.;I>; COMMAND FILE TO INSTALL RMS-11 ONTO AN RSX-11M USER SYSTEM.;(F; YOU MUST BE LOGGED INTO A PRIVILEGED ACCT TO EXECUTE THIS CMD FILE.;K;).ENABLE SUBSTITUTION .SETF MAGL .SETF SDKD.SETS ORGUIC "''".SETS SYSDIR "[001,001]".SETS ODLDIR "[001,020]".SETS CMDDIR "[001,024]".SETS OURSYS "[001,054]"SET /UIC='SYSDIR'D.IFNINS PIP INS $PIP.IFNINS LBR INS $LBR.IFNINS FLX INS $FLX;S.100: J.ASKS [2:4] DEV WHAT DEVICE IS YOUR DISTRIBUTION KIT MOUNTED ON (NO COLON).IFT .GOTO 200A;F); *** INVALID DEVICE MNEMONIC ENTERED ***S;E .GOTO 100Y.200: .SETS DISDEV DEV[1:2]E3.IF DISDEV EQ "MT" .OR .IF DISDEV EQ "MM" .SETT MAGU.SETS SYSD "''"S.IF SYSD EQ "DK" .SETT SDK;"<.ASK RLB WILL YOU BE USING THE RMS RESIDENT LIBRARY (RMSSEQ).IFF MAG .GOTO 300.SETS OPT "FLX"0 .GOTO 400U.300:D.SETS OPT "PIP" .400:P;I;NF; THE RMS-11 DISTRIBUTION KIT CONTAINS THE RMS-11 UTILITY TASK IMAGES.F; IT ALSO CONTAINS THE OLB, ODL AND CMD FILES REQUIRED TO RE-TASKBUILDE; THE RMS-11 UTILITIES IF THE NEED SHOULD EVER ARISE (E.G., TO INCOR-E; PORATE FUTURE PATCHES RELEASED BY THE RMS GROUP). THESE FILES WILLMB; BE UNLOADED FROM THE DISTRIBUTION KIT ONTO YOUR SYSTEM DISK INTOC; DIRECTORIES 'ODLDIR' AND 'CMDDIR' IF YOU ANSWER "YES" TO THE NEXTFG; QUESTION. OTHERWISE, THEY WILL BE LEFT ON THE DISTRIBUTION KIT UNTIL4; THEY ARE NEEDED ...-;DH.ASK OCL DO YOU WANT THE RMS UTILITY TASKBUILD FILES ON YOUR SYSTEM DISK;T;O@; DELETE ALL OLD RMS-11 FILES THAT MAY EXIST ON YOUR SYSTEM DISK;S-PIP LB:'SYSDIR'RMS11.ODL;*,MAKRMSODL.CMD;*/DE8PIP LB:'SYSDIR'RMS11R.ODL;*,RMS11S.ODL;*,RMS11X.ODL;*/DE8PIP LB:'SYSDIR'RMS12X.ODL;*,RMSRLX.ODL;*,RMSRLS.ODL;*/DE8PIP LB:'SYSDIR'RMSLIB.OLB;*,RMSFUN.OBJ;*,RMSMAC.MLB;*/DE; 'PIP LB:'SYSDIR'RMSRES.*;*,RMSSEQ.*;*/DEI; +PIP SY:'ODLDIR'RMSUTL.OLB;*,RMSIFL.OLB;*/DETEPIP SY:'ODLDIR'BCKBLD.ODL;*,RSTBLD.ODL;*,CNVBLD.ODL;*,DSPBLD.ODL;*/DES8PIP SY:'ODLDIR'DEFBLD.ODL;*,DFNBLD.ODL;*,IFLBLD.ODL;*/DEEPIP SY:'ODLDIR'RMSODL.ODL;*,RMSCNV.ODL;*,IFLRSX.ODL;*,RMSUTL.ODL;*/DEB+PIP SY:'ODLDIR'RMSRES.ODL;*,RMSSEQ.ODL;*/DE ;'EPIP SY:'CMDDIR'BCKBLD.CMD;*,RSTBLD.CMD;*,CNVBLD.CMD;*,DSPBLD.CMD;*/DE.8PIP SY:'CMDDIR'DEFBLD.CMD;*,DFNBLD.CMD;*,IFLBLD.CMD;*/DE+PIP SY:'CMDDIR'RMSRES.CMD;*,RMSSEQ.CMD;*/DEB;Y!; REMOVE THE OLD RMS-11 UTILITIES; REM ...BCK REM ...RST REM ...DSP REM ...DFN REM ...DEF REM ...CNV REM ...IFL;L+; DELETE THE OLD RMS-11 UTILITY TASK IMAGESL;D PIP LB:''RMSBCK.TSK;*/DE PIP LB:''RMSRST.TSK;*/DE PIP LB:''RMSDSP.TSK;*/DE PIP LB:''RMSDFN.TSK;*/DE PIP LB:''RMSDEF.TSK;*/DE PIP LB:''RMSCNV.TSK;*/DE PIP LB:''RMSIFL.TSK;*/DE;R=; UNLOAD THE NECESSARY RMS-11 FILES FROM THE DISTRIBUTION KITE;M.IFF MAG .GOTO DKLOADY%'OPT' LB:'SYSDIR' = 'DEV':'SYSDIR'*.* .IFF RLB .SETS S1 "RMSSEQ.*;*" .IFT RLB .SETS S1 "RMSSEQ.MAP;*"PIP LB:'SYSDIR''S1'/DE2.IFF SDK 'OPT' LB:'' = 'DEV':'OURSYS'*.TSK5.IFT OCL 'OPT' SY:/UI = 'DEV':'ODLDIR'*.*,'CMDDIR'*.*. .GOTO UPDSLB.DKLOAD:?'OPT' LB:'SYSDIR' = 'DEV':'SYSDIR'*.ODL,*.CMD,*.MLB,*.OLB,*.OBJS@.IFT RLB 'OPT' LB:'SYSDIR' = 'DEV':'SYSDIR'RMSSEQ.TSK,RMSSEQ.STB2.IFF SDK 'OPT' LB:'' = 'DEV':'OURSYS'*.TSK..IFT OCL 'OPT' SY:'ODLDIR' = 'DEV':'ODLDIR'*.*..IFT OCL 'OPT' SY:'CMDDIR' = 'DEV':'CMDDIR'*.*.UPDSLB:;I0; REPLACE THE TOP-LEVEL RMS-11 MODULES IN SYSLIB;E0LBR LB:'SYSDIR'SYSLIB/RP = LB:'SYSDIR'RMSFUN.OBJ.IFT SDK .GOTO RKSYS;S0; MAKE THE RMS-11 UTILITY TASK IMAGES CONTIGUOUS;C1PIP LB:''/CO/NV = LB:''RMSBCK.TSKRPIP LB:''RMSBCK.TSK/PU1PIP LB:''/CO/NV = LB:''RMSRST.TSK'PIP LB:''RMSRST.TSK/PU1PIP LB:''/CO/NV = LB:''RMSDEF.TSKPIP LB:''RMSDEF.TSK/PU1PIP LB:''/CO/NV = LB:''RMSDFN.TSK'PIP LB:''RMSDFN.TSK/PU1PIP LB:''/CO/NV = LB:''RMSCNV.TSK PIP LB:''RMSCNV.TSK/PU1PIP LB:''/CO/NV = LB:''RMSDSP.TSKRPIP LB:''RMSDSP.TSK/PU;S; INSTALL THE RMS-11 UTILITIES;';; THE FOLLOWING INSTALL COMMANDS SHOULD BE INCLUDED IN YOUR'6; SYSTEM STARTUP FILE TO INSURE THE AVAILABLITY OF THE%; UTILITIES AFTER A SYSTEM BOOTSTRAP.O; INS LB:''RMSBCKINS LB:''RMSRST.INS LB:''RMSDSP/INS LB:''RMSDFNFINS LB:''RMSDEFRINS LB:''RMSCNVS .GOTO LOALIB;';S.RKSYS:N;S;@; SINCE YOUR SYSTEM DISK IS AN RK DEVICE, YOU WILL GE GIVEN THEB; OPTION OF LOADING ONLY THOSE RMS-11 UTILITIES THAT YOU NEED ...;-;U .GOTO ENDSUB.GETDEV:B.ASKS [2:4] DV WHAT DISK DEVICE DO YOU WANT RMS'UTL' ON (NO COLON).IFT .RETURNI;L!; *** INVALID DEVICE MNEMONIC ***T;B .GOTO GETDEV;N.UWANT:S6.ASK X DO YOU WANT THE RMS'UTL' UTILITY IN YOUR SYSTEM.IFF X .RETURN;S .GOSUB GETDEV; REM ...'UTL'.IF DV EQ DEV .GOTO INSUTL$PIP 'DV':''RMS'UTL'.TSK;*/DE4'OPT' 'DV':'' = 'DEV':''RMS'UTL'.TSK7PIP 'DV':''/CO/NV = 'DV':''RMS'UTL'.TSK1"PIP 'DV':''RMS'UTL'.TSK/PU.INSUTL:INS 'DV':''RMS'UTL'V.RETURNK.ENDSUB:;U.SETS UTL "BCK" .GOSUB UWANT;<.SETS UTL "RST" .GOSUB UWANT; .SETS UTL "DSP"* .GOSUB UWANT;D.SETS UTL "CNV" .GOSUB UWANT;T.SETS UTL "DFN"L .GOSUB UWANT;M.SETS UTL "DEF" .GOSUB UWANT;.LOALIB:.IFF RLB .GOTO NOLIB;G; ?; THE RMS-11 RESIDENT LIBRARY HAS ALREADY BEEN LOADED ONTO YOUR>?; LIBRARY DEVICE IN 'SYSDIR' BUT IT IS NOT CONTIGUOUS, SO ...';S-PIP LB:'SYSDIR'/CO/NV = LB:'SYSDIR'RMSSEQ.TSKLPIP LB:'SYSDIR'RMSSEQ.TSK/PU;S;>A; ------------- INSTALL THE RMS RESIDENT LIBRARY --------------;A; RMS RESIDENT LIBRARY SHOULD BE INSTALLED BY THE SYSTEM MANAGER.:; REFER TO CHAPTER 8 OF THE RMS-11 USERS GUIDE FOR HELP ON&; INSTALLING THE RMS RESIDENT LIBRARY.;AA; ---------------------------------------------------------------N;I.NOLIB: ;ESET /UIC='ORGUIC'O;U;B; *** RMS-11 SYSTEM INSTALLATION (VERSION 1.8) IS NOW COMPLETE ***;I;B:'SYSDIR'/CO/NV = LB:'SYSDIR'RMSSEQ.TSKLPIP LB:'SYSDIR'RMSSEQ.TSK/PU;S;>A; ------------- INSTALL THE RMS RESIDENT LIBRARY --------------;A; RMS RESIDENT LIBRARY SHOULD BE INSTALLED BY THE SYSTEM MANAGER.:; REFER TO CHAPTER 8 OF THE RMS-11 USERS GUIDE FOR HELP ON&; INSTALLING THE RMS RESIDENT LIBRARY.;AA; ---------------------------------------------------------------N;I.NOLIB: ;ESET /UIC='ORGUIC'O;U;B; *** RMS-11 SYSTEM ;; C B L V 4 0 . C M D;.; COPYRIGHT (c) 1979 DIGITAL EQUIPMENT CORP.;I; COMMAND FILE TO INSTALL COBOL V4.0 ONTO AN RSX-11M OR IAS SYSTEM USING; VERSION 1.8 OF RMS.;J; YOU MUST BE LOGGED INTO A PRIVILEGED ACCT TO EXECUTE THIS COMMAND FILE.;A; YOU MUST HAVE MOUNTED THE COBOL V4.0 DISTRIBUTION KIT PRIOR TO"; EXECUTING THIS COMMAND FILE !!!;;.ENABLE SUBSTITUTION .SETF MAG.SETS ORGUIC "''".SETS SYSDIR "[1,1]".IFNINS PIP INS $PIP.IFNINS LBR INS $LBR.IFNINS FLX INS $FLX;4.100:MJ.ASKS [2:4] DEV WHAT DEVICE IS YOUR DISTRIBUTION KIT MOUNTED ON (NO COLON).IFT .GOTO 200O; *; *** INVALID DEVICE MNEUMONIC ENTERED ***; .GOTO 100 .200:S.SETS DISDEV DEV[1:2]I4.IF DISDEV EQ "MT" .OR .IF DISDEV EQ "MM" .SETT MAG.SETS SYSD "''"L;..IFF MAG .GOTO 300.SETS OPT "FLX"U .GOTO 400O.300:I.SETS OPT "PIP"E.400:U2.ASK IAS ARE YOU INSTALLING COBOL ON AN IAS SYSTEM.IFT IAS .GOTO 5009.ASKS MAP WHAT DEVICE IS TO BE ASSIGNED TO MP: (NO COLON)FASN 'MAP':=MP:A.SETS OLBDIR "[1,20]"C.SETS CMDDIR "[1,24]"K.SETS MAPDIR "[1,34]").SETS SOUDIR "''".SETS SYSUIC "''"E6.SETS KITDIR "[200,210]*.*,[200,100]*.CBL,*.OBJ,*.OLB".SETS BLD "TKB"I.SETS CBL "...CBL".SETS MRG "...MRG".SETS RFM "...RFM" .GOTO 600K.500:..SETS MAP "LB".SETS OLBDIR "[11,45]".SETS CMDDIR "[11,45]".SETS MAPDIR "[111,45]"K.SETS SOUDIR "[311,45]"O.SETS SYSUIC "[11,1]"I=.SETS KITDIR "[100,120]CBLBLD.ODL,[200,100]*.CBL,*.OBJ,*.OLB":!.IFNINS STB INS LB:'SYSUIC'SLOTKBT.SETS BLD "STB"C.SETS CBL "$$$CBL".SETS MRG "$$$MRG".SETS RFM "$$$RFM"UFD LB:'CMDDIR'TUFD LB:'MAPDIR'CUFD LB:'SOUDIR'R.600:2;*; REMOVE OLD COBOL FILES;"PIP LB:'SYSDIR'COBLIB.OLB;*/DEPIP LB:'SYSDIR'COBOVR.OLB;*/DEPIP LB:'OLBDIR'CBLLIB.OLB;*/DEPIP LB:'CMDDIR'CBLBLD.CMD;*/DEPIP LB:'CMDDIR'CBLBLD.ODL;*/DE6PIP LB:'CMDDIR'CBLMRG.CMD;*,LB:'CMDDIR'REFRMT.CMD;*/DE6PIP LB:'SOUDIR'CBLMRG.CBL;*,LB:'SOUDIR'REFRMT.CBL;*/DE<PIP 'MAP':'MAPDIR'CBLMRG.MAP;*,'MAP':'MAPDIR'REFRMT.MAP;*/DE PIP 'MAP':'MAPDIR'COBOL.MAP;*/DEPIP LB:'SYSDIR'CID.OBJ;*/DEPIP LB:'SYSDIR'CIROT0.ODL;*/DEPIP LB:'SYSDIR'CIROT3.ODL;*/DEPIP LB:'SYSDIR'CIO017.ODL;*/DEPIP LB:'SYSDIR'CIO027.ODL;*/DEPIP LB:'SYSDIR'CIO037.ODL;*/DEPIP LB:'SYSDIR'CIO047.ODL;*/DEPIP LB:'SYSDIR'CIO057.ODL;*/DEPIP LB:'SYSDIR'CIO067.ODL;*/DEPIP LB:'SYSDIR'CIO077.ODL;*/DE;C.IFF IAS .GOTO 650".OPEN #0 'SYSD':'ORGUIC'CBLBLD.CMD.DATA #0 ;CBLBLD.CMD .DATA #0 ;M.DATA #0 ;THIS FILE IS THE COMMAND FILE FOR TKB TO BUILD THE COBOL-11 OVERLAYMI.DATA #0 ;STRUCTURE FOR VERSION 4.0 COBOL. THE OVERLAY DESCRIPTOR FILE ISD.DATA #0 ;CBLBLD.ODL .DATA #0 ;F.DATA #0 LB:'SYSUIC'COBOL,'MAP':'MAPDIR'COBOL=LB:'CMDDIR'CBLBLD.ODL/MP".DATA #0 TASK = $$$CBL ;TASK NAME).DATA #0 UNITS = 14 ;NUMBER OF LUNS USEDO!.DATA #0 STACK = 512 ;STACK SIZE. .DATA #0 ;H.DATA #0 ;THE FOLLOWING COMMAND DEFINES THE INTERNAL STORAGE USED BY THEO.DATA #0 ;COMPILER (WFBLK) FOR PROCESSING THE SOFTWARE VIRTUAL MEMORY WORKFILE.A-.DATA #0 ;THE MINIMUM VALUE FOR THIS AREA IS: .DATA #0 ;".DATA #0 ; WFBLK:6000 (OCTAL) .DATA #0 ;P.DATA #0 ;THE NET EFFECT OF EXTENDING THE SIZE OF THESE AREAS IS TO SPEED UP THEQ.DATA #0 ;COMPILER. EXTENSION OF THESE AREAS SHOULD BE IN BLOCKS OF 2000 (OCTAL).0Q.DATA #0 ;THE MINIMUM VALUE OF WFBLK=6000 YIELDS A COBOL WHICH WILL RUN SLOWLY IN.DATA #0 ;MINIMUM USER MEMORY. .DATA #0 ;.DATA #0 EXTSCT = WFBLK:6000 .DATA #0 ;.DATA #0 EXTSCT = $$FSR1:6300H .DATA #0 ; .DATA #0 ;CALL PARAMETERS FOLLOW.DATA #0 GBLDEF = CATBSZ:01.DATA #0 GBLDEF = NEWMAG:1 ;NEW MAG TAPE ENABLED(+.DATA #0 GBLDEF = PREFIX:000000 ;NULL/NULLO'.DATA #0 GBLDEF = POSFIX:005015 ;CR/LF ,.DATA #0 GBLDEF = CBLVER:032040 ;ASCII " 4",.DATA #0 GBLDEF = CBLEDI:020060 ;ASCII "0 "?.DATA #0 ;GBLDEF = CBLCOD:20106 ;"F " FOR FIELD TEST COMPILERSIB.DATA #0 GBLDEF = CBLCOD:20040 ;" " FOR NON-FIELD TEST COMPILERSA.DATA #0 GBLDEF = BUFCNT:1 ;1 FOR SINGLE 2 FOR DOUBLE BUFFERING6+.DATA #0 GBLDEF = RSTSSW:0 ;NON-0 FOR RSTSO .DATA #0 ;L.DATA #0 ;NOW WE DEFINE THE DEVICE DEFAULTS FOR THE VARIOUS LUNS USED BY THE.DATA #0 ;COMPILER.0 .DATA #0 ;G.DATA #0 ASG = TI:1,TI:2,SY:3,SY:4,SY:5,SY:6,SY:7,SY:8,SY:9,SY:10,SY:11R .DATA #0 ASG = SY:12,SY:13,SY:14 .DATA #0 ;#.DATA #0 ;LOGICAL UNIT ASSIGNMENTS:F .DATA #0 ;*.DATA #0 GBLDEF = MSGLUN:2 ;CONSOLE OUTPUT-.DATA #0 GBLDEF = SRCLUN:3 ;SOURCE INPUT FILEE6.DATA #0 GBLDEF = LSTLUN:4 ;SOURCE OUTPUT LISTING FILE..DATA #0 GBLDEF = OBJLUN:5 ;OBJECT OUTPUT FILE*.DATA #0 GBLDEF = ODLLUN:6 ;ODL OUPUT FILE-.DATA #0 GBLDEF = CRFLUN:7 ;CREF SCRATCH FILEI4.DATA #0 GBLDEF = CPYLUN:10 ;COPY LIBRARY INPUT FILE*.DATA #0 GBLDEF = WRKLUN:11 ;WORK FILE ONE-.DATA #0 GBLDEF = WF2LUN:12 ;SECOND WORK FILES..DATA #0 GBLDEF = INTLUN:13 ;INTERMEDIATE FILEF.DATA #0 GBLDEF = FIRLUN:14 ;FIRST OF THREE SCRATCH FILES USED BY SORTC.DATA #0 GBLDEF = INLUN:0 ;NOT USED BUT MUST BE DEFINED FOR SORTING D.DATA #0 GBLDEF = MULBUF:0 ;NOT USED BUT MUST BE DEFINED FOR SORTINGD.DATA #0 GBLDEF = OUTLUN:0 ;NOT USED BUT MUST BE DEFINED FOR SORTINGC.DATA #0 GBLDEF = XLUN:0 ;NOT USED BUT MUST BE DEFINED FOR SORTINGP,.DATA #0 GBLDEF = TTDEV:44524 ;TI FOR RSTS/E .DATA #0 ;K.DATA #0 ;LOGICAL UNITS ARE ASSIGNED TO THE USER COBOL PROGRAM BY THE COBOLL#.DATA #0 ;OBJECT TIME SYSTEM (OTS).L .DATA #0 / .CLOSE #0O".OPEN #0 'SYSD':'ORGUIC'CBLMRG.CMDR.DATA #0 LB:'SYSUIC'CBLMRG,LB:'MAPDIR'CBLMRG=CBLMRG,LB:'SYSDIR'COBLIB/LB,RMSLIB/LB .DATA #0 /.DATA #0 TASK = $$$MRG .DATA #0 / .CLOSE #0T".OPEN #0 'SYSD':'ORGUIC'REFRMT.CMDR.DATA #0 LB:'SYSUIC'REFRMT,LB:'MAPDIR'REFRMT=REFRMT,LB:'SYSDIR'COBLIB/LB,RMSLIB/LB .DATA #0 /.DATA #0 TASK = $$$RFM .DATA #0 / .CLOSE #0E.650: ;;*; COPY FILES FROM THE DISTRIBUTION DEVICE;S&'OPT' 'SYSD':'ORGUIC' = 'DEV':'KITDIR';B!; PLACE IN THE APPROPRIATE AREAS/;C9PIP LB:'SYSDIR'COBLIB.OLB/NV/RE='SYSD':'ORGUIC'COBLIB.OLBS9PIP LB:'SYSDIR'COBOVR.OLB/NV/RE='SYSD':'ORGUIC'COBOVR.OLBR9PIP LB:'OLBDIR'CBLLIB.OLB/NV/RE='SYSD':'ORGUIC'CBLLIB.OLBC9PIP LB:'CMDDIR'CBLBLD.ODL/NV/RE='SYSD':'ORGUIC'CBLBLD.ODLS9PIP LB:'CMDDIR'CBLBLD.CMD/NV/RE='SYSD':'ORGUIC'CBLBLD.CMDR9PIP LB:'CMDDIR'CBLMRG.CMD/NV/RE='SYSD':'ORGUIC'CBLMRG.CMDC9PIP LB:'CMDDIR'REFRMT.CMD/NV/RE='SYSD':'ORGUIC'REFRMT.CMDE9PIP LB:'SOUDIR'CBLMRG.CBL/NV/RE='SYSD':'ORGUIC'CBLMRG.CBLA9PIP LB:'SOUDIR'REFRMT.CBL/NV/RE='SYSD':'ORGUIC'REFRMT.CBL/5PIP LB:'SYSDIR'CID.OBJ;1/NV/RE='SYSD':'ORGUIC'CID.OBJ.;/; PERFORM INSTALLATIONV;L'BLD' @LB:'CMDDIR'CBLBLD.CMD REM 'CBL''.IFT IAS .GOTO 7001PIP LB:'SYSUIC'COBOL.TSK/NV/RE=LB:[1,54]COBOL.TSKL.700:SINS LB:'SYSUIC'COBOL.TSK6CBL 'SYSD':'ORGUIC'CBLMRG/-ODL=LB:'SOUDIR'CBLMRG/ERR:26CBL 'SYSD':'ORGUIC'REFRMT/-ODL=LB:'SOUDIR'REFRMT/ERR:2TKB @LB:'CMDDIR'CBLMRG.CMDTKB @LB:'CMDDIR'REFRMT.CMD REM 'MRG'B REM 'RFM'SINS LB:'SYSUIC'CBLMRG.TSK INS LB:'SYSUIC'REFRMT.TSK=;SE; CLEAN UP AREAS. (COMMENT OUT DELETIONS IF THESE FILES ARE DESIRED)I;B6PIP LB:'SOUDIR'CBLMRG.CBL;*,LB:'SOUDIR'REFRMT.CBL;*/DE>PIP 'SYSD':'ORGUIC'CBLMRG.OBJ;*,'SYSD':'ORGUIC'REFRMT.OBJ;*/DE.IFT IAS .GOTO 8006PIP LB:'CMDDIR'CBLMRG.CMD;*,LB:'CMDDIR'REFRMT.CMD;*/DE.800:C.IFF IAS .GOTO 900<PIP 'MAP':'MAPDIR'CBLMRG.MAP;*,'MAP':'MAPDIR'REFRMT.MAP;*/DE.900:R:2TKB @LB:'CMDDIR'CBLMRG.CMDTKB @LB:'CMDDIR'REFRMT.CMD REM 'MRG'B REM 'RFM'SINS LB:'SYSUIC'CBLMRG.TSK INS LB:'SYSUIC'REFRMT.TSK=;SE; CLEAN UP AREAS. (COMMENT OUT DELETIONS IF THESE FILES ARE DESIRED)I;B6PIP LB:'SOUDIR'CBLMRG.CBL;*,LB:'SOUDIR'REFRMT.CBL;*/DE>PIP 'SYSD':'ORGUIC'CBLMRG.OBJ;*,'SYSD':'ORGUIC'REFRMT.OBJ;*/DE.IFT IAS;(; M A K R M S O D L . C M D 11-FEB-1979 ; .ENABLE SUBSTITUTION.; .ONERROR EXIT.;@; This procedure will produce an RMS-11 overlay description file5; for your program. The file will be of type ".ODL".; .GOTO CONT0 .NAMERR: .;;K; Please enter only the name of the file. The type field will be supplied.; .CONT0: .;4 .ASKS [1:9.] OUTFIL Enter name for ODL output file .IFF .GOTO NAMERR.;E .ASK RMSRES Are you using the RMSRES full-function resident library .IFF RMSRES .GOTO CONT1; 8; If you use the RMSRES full-function resident library, <; you do not need the overlay descriptions produced by this ; command procedure.>; Use the file "LB:[1,1]RMSRLX.ODL" supplied with your system.;0 .GOTO EXIT .CONT1: .; .OPEN 'OUTFIL'.ODLeH .ASK RMSSEQ Are you using the RMSSEQ limited-function resident library6.; THIS COMMAND PROCEDURE CANNOT BE RUN ON RSTS/E, SO 4.; DO NOT BOTHER ASKING THE QUESTION. ASSUME FALSE...; .ASK RSTSE Is your operating system RSTS/E .SETF RSTSE .IFF RSTSE .GOTO CONT2e .SETF ASYNC .GOTO CONT3 .CONT2: .;6 .ASK ASYNC Are you using asynchronous I/O operations .CONT3: .;( .ASK CREATE Are you creating any files4 .ASK EXTEND Are you explicitly extending any files1 .ASK ERASE Are you erasing (deleting) any files .; .SETF SEQ .SETF SEQCREd .SETF SEQROPe .SETF SEQREDT .SETF SEQWRIC .SETF SEQUPD .SETF SEQOPTS) .ASK SEQ Are you using sequential filesA .IFF SEQ .GOTO NOSEQS .IFF CREATE .GOTO NOCRE1e/ .ASK SEQCRE Are you creating sequential files .NOCRE1: .;8 .ASK SEQROP Are you using sequential record operations .IFF SEQROP .GOTO NOSEQ0 .ASK SEQRED Are you reading sequential records0 .ASK SEQWRI Are you writing sequential records1 .ASK SEQUPD Are you updating sequential recordsiG .ASK SEQOPT Do you want all sequential record operations concatenatedE .NOSEQ: .;.; .SETF REL .SETF RELCRE .SETF RELROPy .SETF RELREDt .SETF RELWRIF .SETF RELUPDE .SETF RELDELE .SETF RELOPT' .ASK REL Are you using relative files  .IFF REL .GOTO NOREL. .IFF CREATE .GOTO NOCRE2e- .ASK RELCRE Are you creating relative filesN .NOCRE2: .;E6 .ASK RELROP Are you using relative record operations .IFF RELROP .GOTO NOREL. .ASK RELRED Are you reading relative records. .ASK RELWRI Are you writing relative records/ .ASK RELUPD Are you updating relative records;/ .ASK RELDEL Are you deleting relative recordsE .ASK RELOPT Do you want all relative record operations concatenatedR .NOREL: .;.; .SETF IDX .SETF IDXCREi .SETF IDXROP .SETF IDXRED. .SETF IDXWRIO .SETF IDXUPD .SETF IDXDEL .SETF IDXOPTv& .ASK IDX Are you using indexed files .IFF IDX .GOTO NOIDXc .IFF CREATE .GOTO NOCRE3P, .ASK IDXCRE Are you creating indexed files .NOCRE3: .;s5 .ASK IDXROP Are you using indexed record operations  .IFF IDXROP .GOTO NOIDX- .ASK IDXRED Are you reading indexed recordsg- .ASK IDXWRI Are you writing indexed recordsl. .ASK IDXUPD Are you updating indexed records. .ASK IDXDEL Are you deleting indexed recordsH .ASK IDXOPT Do you want GET-UPDATE and GET-PUT operations concatenated .NOIDX: .;/ .ASK BLOCK Are you using block I/O operationsD: .ASK MISC Are you using FLUSH, FREE, TRUNCATE, or REWIND;o; <<< WORKING ... >>>s;N.; .; DEBUG:S6.; WRITE ANSWERS OUT INTO THE FILE FOR LATER REFERENCE.; .ENABLE DATA;0; File "'OUTFIL'.ODL" created by "MAKRMSODL.CMD"; 3; Options chosen for this overlay description file:D;r; RMSRES 'RMSRES'x; RMSSEQ 'RMSSEQ'D; RSTSE 'RSTSE';g; CREATE 'CREATE'.; EXTEND 'EXTEND'w; ERASE 'ERASE';T ; SEQ 'SEQ'; SEQCRE 'SEQCRE'I; SEQROP 'SEQROP' ; SEQRED 'SEQRED'k; SEQWRI 'SEQWRI'.; SEQUPD 'SEQUPD's; SEQOPT 'SEQOPT'U;T ; REL 'REL'; RELCRE 'RELCRE'.; RELROP 'RELROP'D; RELRED 'RELRED'S; RELWRI 'RELWRI'I; RELUPD 'RELUPD'N; RELDEL 'RELDEL'A; RELOPT 'RELOPT'I;O ; IDX 'IDX'; IDXCRE 'IDXCRE' ; IDXROP 'IDXROP'f; IDXRED 'IDXRED'c; IDXWRI 'IDXWRI'; IDXUPD 'IDXUPD'; IDXDEL 'IDXDEL'; IDXOPT 'IDXOPT'g; ; BLOCK 'BLOCK'; MISC 'MISC'; .DISABLE DATA'.; .;+ %.; RMS-11 PROTOTYPE ODL 11-MAY-1979E.;.;=.; THIS ODL FILE DESCRIBES A 9KB RMS-11 OVERLAY STRUCTURE. TOEE.; CONSERVE TASK ADDRESS SPACE, EVERY RMS RECORD OPERATION(E.G. $GET,DB.; $PUT, $UPDATE, ETC.) FOR EACH FILE ORGANIZATION IS CONTAINED INB.; A SEPARATE OVERLAY. THE INITIAL OVERLAY LOADED FOR A PARTICULARA.; OPERATION MAY, IN TURN, CAUSE THE LOADING OF ONE OR MORE ADDI-DF.; TIONAL OVERLAYS. THE MORE OVERLAYS REQUIRED, THE LONGER THE OVERALL9.; OPERATION TAKES. THUS, THE INTENT OF THIS ODL FILE, ASRA.; IT APPEARS HERE, IS SOLELY TO OPTIMIZE FOR SPACE USAGE WITHOUTS.; REGARD TO PERFORMANCE.T.;@.; TO CUSTOMIZE THIS PROTOTYPE ODL FILE, FOLLOW THE INSTRUCTIONSD.; STEP-BY-STEP. TO SELECT A PARTICULAR INDIVIDUAL FACTOR STATEMENT,=.; REMOVE THE SEMI-COLON FROM THE FIRST CHARACTER OF THE LINE .; CONTAINING THE FACTOR.M.;.; NOTE:.;G.; 1. IF YOU NEED MORE INFORMATION ON HOW TO OPTIMIZE THIS ODL FOR YOUR D.; SPECIFIC APPLICATION, REFER TO CHAPTER 8 OF THE "RMS-11 USER'S .; GUIDE".L.;=.; 2. IF YOU USE THE FULL-FUNCTION RMS RESIDENT LIBRARY KNOWNID.; AS RMSRES, THERE IS NO NEED TO MODIFY THIS PROTOTYPE ODL FILE.D.; RMSRES INCLUDES ALL RMS FUNCTIONS (I.E., SEQUENTIAL, RELATIVE,F.; AND INDEXED FILE SUPPORT) AND, SINCE IT IS MEMORY RESIDENT, DOES*.; NOT INCUR THE COST OF DISK OVERLAY I/O..;?.; 3. A SECOND, LIMITED FUNCTION MEMORY RESIDENT LIBRARY CALLEDO?.; RMSSEQ IS ALSO AVAILABLE FOR YOUR USE. RMSSEQ IS INTENDEDE=.; FOR USE IN THOSE SYSTEMS ENVIRONMENTS IN WHICH PHYSICAL C.; MEMORY IS LIMITED BUT SOME SHARING OF RMS-11 CODE IS DESIRED.SB.; THIS RESIDENT LIBRARY CONTAINS CERTAIN MODULES COMMON TO THEA.; PROCESSING OF ALL FILE ORGANIZATIONS AS WELL AS THE GET ANDN:.; PUT OPERATIONS FOR THE SEQUENTIAL FILE ORGANIZATION.A.; UNLIKE YOUR USE OF RMSRES, WHICH MAKES MODIFICATION OF THIS B.; PROTOTYPE UNNECESSARY, YOU MIGHT WANT TO USE BOTH RMSSEQ ANDF.; A MODIFIED PROTOTYPE ODL. SO DOING COULD PROVIDE MEMORY RESIDENT>.; SEQUENTIAL FILE SUPPORT (FROM RMSSEQ) AND OPTIMIZED DISK?.; RESIDENT OVERLAY INDEXED FILE SUPPORT (FROM THE MODIFIED .; PROTOTYPE).R.;.;E.; 4. RSTS/E USERS MUST, AFTER ALL THE STEPS BELOW HAVE BEEN FOLLOWEDAC.; AND THE PROPER EDITS MADE, PERFORM ONE FINAL GLOBAL EDIT. ALLT>.; INSTANCES OF THE STRING LB:[1,1] MUST BE CHANGED TO LB:..;.;-.;.;.;.;M.;***************************************************************************OM.; STEP 1 ******************* DECLARE RMS-11 ROOT ******************* M.;***************************************************************************T.;8.; THE FACTOR "RMSROT" IS REFERENCED IN YOUR TASK'S ODL /.; FILE FOR INCLUSION IN THE ROOT OF YOUR TASK.A.;.S10Y: .ENABLE DATAI;RMSROT: .FCTR LB:[1,1]RMSLIB/LB:RMSSYM:R0AUTO:R0IMPA-RMROOT .DISABLE DATAB.;.; GOTO STEP 2.GOTO S2.S2: .;N.;****************************************************************************&.; STEP 2 * SELECT RMS-11 ROOT MODULES .;*********E.;5.; IN THIS STEP, YOU SELECT THOSE ROUTINES WHICH MUST*(.; BE INCLUDED IN THE ROOT OF YOUR TASK..;K.; IF: 1). YOUR SYSTEM IS RSTS/E, OR 2). YOU WILL ONLY USE SYNCHRONOUS I/O, E.; AND YOU WILL BE USING RMSSEQ (THE LIMITED FUNCTION MEMORY RESIDENTD).; LIBRARY), SELECT THE FOLLOWING FACTOR:M.;!.IFT RSTSE .IFT RMSSEQ .GOTO S20Y!.IFF ASYNC .IFT RMSSEQ .GOTO S20Y. .GOTO S20N.S20Y: .ENABLE DATA*-RMROOT: .FCTR LB:[1,1]RMSLIB/LB:R0EXSY-RMSIX0* .DISABLE DATAE.;.; GOTO STEP 3L.;.GOTO S3 .S20N: .;I .;***********U.S21: .;.;* STEP 2-1 *H.;*************L.;<.; IF YOUR SYSTEM IS NOT RSTS/E AND YOU WILL BE USING RMSSEQ9.; AND MAY USE ASYNCHRONOUS I/O, THE SELECT THE FOLLOWINGW.; FACTOR, ELSE GO TO STEP 2-2.F.;.IFT RSTSE .GOTO S21N;!.IFT RMSSEQ .IFT ASYNC .GOTO S21YT .GOTO S21N.S21Y: .ENABLE DATA.-RMROOT: .FCTR LB:[1,1]RMSLIB/LB:R0EXEC-RMSIX0 .DISABLE DATA0.;.; GO TO STEP 3O.GOTO S3.; .S21N: .;L .;************.S22: .; .; STEP 2-2 * .;***********;.;@.; IF YOUR SYSTEM IS NOT RSTS/E, OR IF RSTS/E, YOU ARE NOT USING-.; RMSSEQ, THEN SELECT THE FOLLOWING FACTORS.T.;.IFF RSTSE .GOTO S22YM!.IFT RSTSE .IFF RMSSEQ .GOTO S22Y/ .GOTO S22N.S22Y: .ENABLE DATAF0RMROOT: .FCTR RMSIOM-RMSCBL-RMSCOM-RMSEXE-RMSIX0BRMSIOM: .FCTR LB:[1,1]RMSLIB/LB:R0CACH:R0RLCH:R0MAPC:R0RWBF:R0UNLK;RMSCBL: .FCTR LB:[1,1]RMSLIB/LB:R0RTCB:R0ACBB:R0RTDB:R0MDATS-RMSCOM: .FCTR LB:[1,1]RMSLIB/LB:R0RMSE:R0IDPB .DISABLE DATA*.;.; GOTO STEP 2-3 .GOTO S23 .; .S22N: .;* .;***********O.S23: .; .; STEP 2-3 *O .;***********U.;.;F.; IF YOU ARE NOT RSTS/E, AND MAY USE ASYNCHRONOUS I/O, GOTO STEP 2-4.I.; ELSE, IF RSTS/E, OR IF YOU ARE USING SYNCHRONOUS I/O ONLY, THEN SELECTD.; THE FOLLOWING FACTORS.R.;.IFF RSTSE .IFT ASYNC .GOTO S24F.IFT RSTSE .GOTO .S23Y.IFF ASYNC .GOTO S23YB .GOTO S23N.S23Y: .ENABLE DATAMBRMSEXE: .FCTR LB:[1,1]RMSLIB/LB:R0EXSY:R0RSES:R0WTBS:R0RMSA:R0IFLF .DISABLE DATA.;.; GOTO STEP 3.;.GOTO S3 .S23N: .; .;***********:.S24: .; .; STEP 2-4 *3 .;***********-.;D.; IF YOU WANT TO PERFORM JUST ASYNCHRONOUS I/O, OR IF YOU WANT THE E.; CAPABILITY TO PERFORM EITHER SYNCHRONOUS OR ASYNCHRONOUS I/O, THENC .; SELECT THE FOLLOWING FACTORS..;.IFT ASYNC .GOTO S24Y; .GOTO S24N.S24Y: .ENABLE DATAFBRMSEXE: .FCTR LB:[1,1]RMSLIB/LB:R0EXEC:R0RSET:R0WATB:R0RMSA:R0IFLF .DISABLE DATA.;.; GOTO STEP 3.GOTO S3 .S24N: .;RN.;****************************************************************************N.;****************************************************************************.S3: .;EN.; STEP 3 ***************** DECLARE RMS-11 CO-TREE *****************N.;****************************************************************************.;>.; THE FOLLOWING IS THE STARTING FACTOR FOR THE RMS11 CO-TREE.B.; THE FACTOR NAME "RMSALL" IS REFERENCED IN YOUR TASK'S ODL FILE..;D.; THE "RMSFIL" FACTOR DECLARES THE OVERLAY STRUCTURE FOR ALL RMS-11.; FILE OPERATIONS.*.;D.; THE "RMSREC" FACTOR DECLARES THE OVERLAY STRUCTURE FOR ALL RMS-11.; RECORD OPERATIONS.*.; .ENABLE DATA .NAME RMS11$RMSALL: .FCTR RMS11-*(RMSFIL,RMSREC) .DISABLE DATA*.;.; GOTO STEP 4.GOTO S4N.;****************************************************************************.S4: .;IN.;****************************************************************************3.; STEP 4 * FILE OPERATION OVERLAY STRUCTURE * 8.;******************************************************.;D.; IN THIS STEP, THE MODULES WHICH ARE COMMON TO ALL FILE OPERATIONSK.; ARE DECLARED. THERE IS NO SELECTION REQUIRED ON YOUR PART. NOTE THAT THEA=.; CURRENT DEFINITION OF THE FILE OPERATION OVERLAY STRUCTURET3.; MINIMIZES OVERLAY I/O FOR FILE OPERATIONS. THUS,*;.; YOU NEED ONLY SELECT THE FILE OPERATIONS DESIRED.; DON'T*).; BOTHER ABOUT REDUCING EVEN FURTHER THE*F.; NUMBER OF OVERLAY I/O OPERATIONS INVOLVED. IT IS BETTER TO OPTIMIZEC.; THE RECORD OPERATION OVERLAY STRUCTURE, WHICH HAS MORE OVERLAYS,F.; AS WELL AS THE OPERATIONS THAT ARE MOST FREQUENTLY USED (I.E. THEREG.; IS A BIGGER PAYOFF IN OPTIMIZING RECORD OPERATION OVERLAY STRUCTURESA8.; THAN THERE IS IN OPTIMIZING FILE OPERATION OVERLAYS)..; .ENABLE DATA .NAME RMSFABFRMSFIL: .FCTR RMSFAB-RMSFL3RMSFL: .FCTR LB:[1,1]RMSLIB/LB:R0CLCM-RMFILE-RMSFL0 GRMSFL0: .FCTR (RMSCR0,RMSOPN-RMSDPC-RMSCON,RMSFNM,RMSCLS-RMSDIS-RMSMIC)I;OBRMSOPN: .FCTR LB:[1,1]RMSLIB/LB:R0OPFL-RMSOP0-RMSEQO-RMRELO-RMIDXO4RMSDPC: .FCTR LB:[1,1]RMSLIB/LB:R0DPYC:R0CKSM-RMSFL14RMSFL1: .FCTR LB:[1,1]RMSLIB/LB:R0ALDB:R0ALBD:R0ALIOBRMSCON: .FCTR LB:[1,1]RMSLIB/LB:R0CCLN:R0ALBS-RMSCNS-RMRCNR-RMXCNXIRMSFNM: .FCTR LB:[1,1]RMSLIB/LB:R0PRFN:R0XPFN:R0MKWA:R0ASLN:R0INIT-RMSFL1IRMSCLS: .FCTR LB:[1,1]RMSLIB/LB:R0CKSM-RMEXTD-RMR1RL-RMSEQC-RMRELC-RMIDXCL;RMSDIS: .FCTR LB:[1,1]RMSLIB/LB:R0CCLN-RMSDSS-RMRDSR-RMXDSX, .DISABLE DATAM.;.; GOTO STEP 5.GOTO S5.S5: .;N.;****************************************************************************".; STEP 5 * SELECT $CREATE MODULES .;********* .;4.; IN THIS STEP, YOU MUST SELECT THOSE MODULES WHICHD.; SUPPORT THE "CREATE-FILE" FUNCTION REQUIRED BY YOUR TASK, IF ANY..;H.; IF YOU DO NOT WANT TO CREATE ANY NEW RMS FILES IN YOUR TASK (E.G. ALLI.; FILES USED BY THE TASK HAVE ALREADY BEEN CREATED), THEN GOTO STEP 5-1.B&.; ELSE, SELECT THE FOLLOWING FACTORS..;.; .ENABLE DATA .NAME RMSCREP .DISABLE DATAS.IFF CREATE .GOTO S51*.S50Y: .ENABLE DATA*9RMSCR0: .FCTR RMSCRE-RMCREA-RMCRIX-(RM0X11-RM0X21,RM0X31)TBRMCREA: .FCTR LB:[1,1]RMSLIB/LB:R0CRXI:R0CRFL:R0MFNB:R0RD50-RMSCR2 .DISABLE DATAW.;.; GOTO STEP 6.GOTO S6.; .S50N: .;E .;***********T.S51: .; .; STEP 5-1 *O .;***********O.;B.; IF YOU DO NOT WANT TO CREATE ANY NEW RMS FILES, THEN SELECT THE.; FOLLOWING FACTOR..; .ENABLE DATA .NAME RMDCRE; .DISABLE DATAH.IFF CREATE .GOTO S51Y .GOTO S51N.S51Y: .ENABLE DATAPRMSCR0: .FCTR RMDCRE .DISABLE DATA5.;.; GOTO STEP 6.GOTO S6 .S51N: .;MN.;****************************************************************************.S6: .;:E.; STEP 6 * SELECT COMMON $OPEN,$CREATE, AND DIRECTORY ACCESS MODULES .;*********;.;C.; IN THIS STEP, YOU MUST SELECT THOSE MODULES WHICH WILL BE NEEDEDN#.; FOR ALL GENERAL FILE OPERATIONS.T.;.; IF RSTS/E, GOTO STEP 6-1.B.; ELSE, SELECT THE FOLLOWING FACTORS FOR THE RSX/IAS ENVIRONMENT.;.IFT RSTSE .GOTO S61.S60Y: .ENABLE DATAC&RMFILE: .FCTR LB:[1,1]RMSLIB/LB:R0RXAC4RMSOP0: .FCTR LB:[1,1]RMSLIB/LB:R0RXDI:R0MFNB:R0RD504RMSCR2: .FCTR LB:[1,1]RMSLIB/LB:R0RXCR:R0RXMD:R0RXDI-RMSER1: .FCTR LB:[1,1]RMSLIB/LB:R0RXMD-RMSOP0E .DISABLE DATAD.;.; GOTO STEP 7.GOTO S7.; .S60N: .;; .;***********Y.S61: .; .; STEP 6-1 *L .;***********E.;8.; IF RSTS/E, THEN SELECT ALL OF THE FOLLOWING FACTORS..;.IFT RSTSE .GOTO S61YE .GOTO S61N.S61Y: .ENABLE DATAR&RMFILE: .FCTR LB:[1,1]RMSLIB/LB:R0REOP-RMSOP0: .FCTR LB:[1,1]RMSLIB/LB:R0MFNB:R0RD50 &RMSCR2: .FCTR LB:[1,1]RMSLIB/LB:R0RECRRMSER1: .FCTR RMSOP0 .DISABLE DATA0.;.; GOTO STEP 7.GOTO S7 .S61N: .;RN.;****************************************************************************.S7: .; 2.; STEP 7 * SELECT IMPLICIT FILE EXTENSION MODULES .;*********E.;9.; IN THIS STEP, YOU MUST SELECT THOSE MODULES WHICH WILL /.; IMPLICITLY EXTEND YOUR FILES, WHEN REQUIRED.E.;?.; IF YOU ARE USING THE RMSSEQ RESIDENT LIBRARY, GOTO STEP 7-1.0,.; ELSE, SELECT THE FOLLOWING THREE FACTORS..;.IFT RMSSEQ .GOTO S71,.S70Y: .ENABLE DATAM&RMEXTD: .FCTR LB:[1,1]RMSLIB/LB:R0EXTD-RMR1RL: .FCTR LB:[1,1]RMSLIB/LB:R1RLBK:R1NXBK*&RMR1WL: .FCTR LB:[1,1]RMSLIB/LB:R1WTLS .DISABLE DATA*.;D.; NOTE: THE ABOVE THREE FACTORS ARE REFERENCED BY SEVERAL DIFFERENTD.; FACTORS THROUGHOUT THIS PROTOTYPE ODL. IF YOU CONCATENATE FACTORSD.; FOR OPTIMIZATION PURPOSES, AND END UP WITH TASK-BUILDER DUPLICATE@.; DEFINITION TYPE ERRORS, THEN ONE OF THESE FACTORS IS INVOLVEDE.; IF ONE OF THE FOLLOWING ENTRY-POINTS IS NAMED BY THE TASK-BUILDER.0.;.; FACTOR MODULE ENTRY-POINT.; ------ ------ -----------.;.; RMEXTD R0EXTD $EXTD.; RMR1RL R1RLBK $RLBK1,#.; R1NXBK $NXBK1, $GTBK1, $MPBK1;.; RMR1WL R1WTLS $WTLSTF.;.; GOTO STEP 8.GOTO S8.; .S70N: .;; .;***********H.S71: .; .; STEP 7-1 *F .;***********E.;/.; IF YOU ARE USING THE RMSSEQ RESIDENT LIBRARYT+.; THEN SELECT THE FOLLOWING THREE FACTORS.E.; .ENABLE DATA .NAME RMDEXTI .NAME RMDRLBI .NAME RMDWTLL .DISABLE DATAT.IFT RMSSEQ .GOTO S71Y .GOTO S71N.S71Y: .ENABLE DATAERMEXTD: .FCTR RMDEXTRMR1RL: .FCTR RMDRLBRMR1WL: .FCTR RMDWTL .DISABLE DATAR.;.; GOTO STEP 8.GOTO S8 .S71N: .;$N.;****************************************************************************.S8: .;2.; STEP 8 * SELECT EXPLICIT $EXTEND,$ERASE MODULES .;*********I.;D.; IN THIS STEP, YOU MUST SELECT THOSE MODULES WHICH WILL EXPLICITLY5.; EXTEND YOUR FILES, OR EXPLICITLY ERASE YOUR FILES.A.;D.; IF YOU WANT TO USE THE $EXTEND AND/OR $ERASE FUNCTIONS, THEN GOTOD.; STEP 8-1. ELSE, IF YOU DO NOT WANT ANY OF THESE FUNCTIONS, SELECT.; THE FOLLOWING FACTOR..; .ENABLE DATA .NAME RMDMIC8 .DISABLE DATA1.IFT ERASE .GOTO S81.IFT EXTEND .GOTO S81*.S80Y: .ENABLE DATA*RMSMIC: .FCTR RMDMIC .DISABLE DATA .;.; GOTO STEP 9.GOTO S9.; .S80N: .;; .;***********.S81: .; .; STEP 8-1 * .;***********D.;J.; IF YOU WANT EITHER THE $EXTEND AND/OR THE $ERASE FUNCTIONS, THEN SELECT.; THE FOLLOWING FACTOR..;.IFT EXTEND .GOTO S81Y.IFT ERASE .GOTO S81Y .GOTO S81N.S81Y: .ENABLE DATAWRMSMIC: .FCTR RMSERA-RMSEXTE .DISABLE DATAL.;.; GOTO STEP 8-2 .GOTO S82 .S81N: .;I .;***********T.S82: .; .; STEP 8-2 * .;***********T.; .; $ERASE.I.; IF YOU WANT THE ERASE FILE FUNCTION, THEN SELECT THE FOLLOWING FACTOR,T.; ELSE GOTO STEP 8-3..;.IFT ERASE .GOTO S82YS .GOTO S83.S82Y: .ENABLE DATA;-RMSERA: .FCTR LB:[1,1]RMSLIB/LB:R0ERFL-RMSER1S .DISABLE DATAE.;.; GOTO STEP 8-4 .GOTO S84. .S82N: .;E .;***********Y.S83: .; .; STEP 8-3 * .;***********1.;H.; IF YOU DO NOT WANT THE ERASE FILE FUNCTION, THEN SELECT THE FOLLOWING .; FACTOR..; .ENABLE DATA .NAME RMDERAT .DISABLE DATAS.IFF ERASE .GOTO S83N*.S83Y: .ENABLE DATA;RMSERA: .FCTR RMDERA .DISABLE DATA .;.; GOTO STEP 8-4 .GOTO S84T .S83N: .;O .;***********;.S84: .; .; STEP 8-4 * .;***********2.; .; $EXTENDK.; IF YOU WANT THE EXPLICIT EXTEND FILE FUNCTION, THEN SELECT THE FOLLOWING .; FACTOR, ELSE GOTO STEP 8-5..;.IFT EXTEND .GOTO S84Y .GOTO S85 .S84Y: .ENABLE DATA;4RMSEXT: .FCTR LB:[1,1]RMSLIB/LB:R0EXT0:R2BFMT-RMSFL1 .DISABLE DATAO.;.; GOTO STEP 9.GOTO S9 .S84N: .;E .;***********B.S85: .; .; STEP 8-5 *O .;***********..;H.; IF YOU DO NOT WANT THE EXPLICIT EXTEND FILE FUNCTION, THEN SELECT THE.; FOLLOWING FACTOR..; .ENABLE DATA .NAME RMDDXT- .DISABLE DATA*.IFF EXTEND .GOTO S85Y .GOTO S85N.S85Y: .ENABLE DATAFRMSEXT: .FCTR RMDDXT .DISABLE DATAN.;.; GOTO STEP 9.GOTO S9 .S85N: .;IN.;****************************************************************************.S9: .;04.; STEP 9 * SELECT SEQUENTIAL FILE OPERATION MODULES .;*********S.;?.; IN THIS STEP, YOU MUST SELECT THE "SEQUENTIAL" ORGANIZATION ;<.; FILE OPERATIONS WHICH CORRESPOND TO THE FEATURES YOU HAVE.; SELECTED IN PREVIOUS STEPS..;H.; IF NO SEQUENTIAL FILE CREATION IS REQUIRED, THEN SELECT THE FOLLOWING.; FACTOR, ELSE GOTO STEP 9-1..; .ENABLE DATA .NAME RMDCRSD .DISABLE DATAT.IFF SEQCRE .GOTO S90Y .GOTO S91*.S90Y: .ENABLE DATA*RM0X11: .FCTR RMDCRS .DISABLE DATA*.;.; GOTO STEP 9-2 .GOTO S92 .S90N: .;S .;***********O.S91: .; .; STEP 9-1 ** .;*********** .;E.; IF SEQUENTIAL FILE CREATION IS REQUIRED, THEN SELECT THE FOLLOWINGO .; FACTOR..;.IFT SEQCRE .GOTO S91Y .GOTO S91N.S91Y: .ENABLE DATAP-RM0X11: .FCTR LB:[1,1]RMSLIB/LB:R1CRFL:R1CRCKQ .DISABLE DATAE.;.; GOTO STEP 9-3 .GOTO S93 .S91N: .;- .;*********** .S92: .; .; STEP 9-2 *S .;***********F.;H.; IF YOU ARE NOT USING ANY SEQUENTIAL FILE FILE OPERATIONS, THEN SELECT-.; THE FOLLOWING FACTORS, ELSE GOTO STEP 9-3..; .ENABLE DATA .NAME RMDSQO .NAME RMDSQC .NAME RMDCNS* .NAME RMDDSSE .DISABLE DATAR.IFF SEQ .GOTO S92YH .GOTO S93H.S92Y: .ENABLE DATAORMSEQO: .FCTR RMDSQORMSEQC: .FCTR RMDSQCRMSCNS: .FCTR RMDCNSRMSDSS: .FCTR RMDDSS .DISABLE DATAL.;.; GOTO STEP 10T .GOTO S10G .S92N: .;3 .;***********S.S93: .; .; STEP 9-3 * .;***********E.;D.; IF YOU ARE USING SEQUENTIAL FILE FILE OPERATIONS, THEN SELECT THE.; FOLLOWING FACTORS.E.;.IFT SEQ .GOTO S93YC .GOTO S93N.S93Y: .ENABLE DATAE&RMSEQO: .FCTR LB:[1,1]RMSLIB/LB:R1OPFL&RMSEQC: .FCTR LB:[1,1]RMSLIB/LB:R1CLOS&RMSCNS: .FCTR LB:[1,1]RMSLIB/LB:R1CONP-RMSDSS: .FCTR LB:[1,1]RMSLIB/LB:R1DISC-RMR1WLO .DISABLE DATA .;.; GOTO STEP 10 .GOTO S10D .S93N: .;MN.;****************************************************************************.S10: .;3.; STEP 10 * SELECT RELATIVE FILE OPERATION MODULES .;**********.;=.; IN THIS STEP, YOU MUST SELECT THE "RELATIVE" ORGANIZATION ;<.; FILE OPERATIONS WHICH CORRESPOND TO THE FEATURES YOU HAVE.; SELECTED IN PREVIOUS STEPS..;G.; IF RELATIVE FILE CREATION IS NOT REQUIRED, THEN SELECT THE FOLLOWING1.; FACTOR, ELSE GOTO STEP 10-1.B.; .ENABLE DATA .NAME RMDCRR .DISABLE DATAT.IFF RELCRE .GOTO S100Y: .GOTO S101.S100Y: .ENABLE DATARM0X21: .FCTR RMDCRR .DISABLE DATA*.;.; GOTO STEP 10-2 .GOTO S102 .S100N: .;.;************ .S101: .; .; STEP 10-1 *.;************.;K.; IF RELATIVE FILE CREATION IS REQUIRED, THEN SELECT THE FOLLOWING FACTOR.E.;.IFT RELCRE .GOTO S101YE .GOTO S101N .S101Y: .ENABLE DATAIRM0X21: .FCTR LB:[1,1]RMSLIB/LB:R2CRFL:R2CRCK:R2WPLG:R2BFMT:R0CKSM-RMSFL1 .DISABLE DATA .;.; GOTO STEP 10-3E .GOTO S103 .S101N: .;.;************ .S102: .;L.; STEP 10-2 *.;************.;F.; IF YOU ARE NOT USING ANY RELATIVE FILE FILE OPERATIONS, THEN SELECT..; THE FOLLOWING FACTORS, ELSE GOTO STEP 10-3..; .ENABLE DATA .NAME RMDRLO* .NAME RMDRLCI .NAME RMDCNR .NAME RMDDSRU .DISABLE DATAC.IFF REL .GOTO S102Y .GOTO S103.S102Y: .ENABLE DATARMRELO: .FCTR RMDRLORMRELC: .FCTR RMDRLCRMRCNR: .FCTR RMDCNRRMRDSR: .FCTR RMDDSR .DISABLE DATAR.;.; GOTO STEP 11 .GOTO S11T.;************ .S103: .;S.; STEP 10-3 *.;************.;B.; IF YOU ARE USING RELATIVE FILE FILE OPERATIONS, THEN SELECT THE.; FOLLOWING FACTORS.I.;.IFT REL .GOTO S103Y .GOTO S103NO.S103Y: .ENABLE DATA&RMRELO: .FCTR LB:[1,1]RMSLIB/LB:R2OPFL&RMRELC: .FCTR LB:[1,1]RMSLIB/LB:R2CLOS&RMRCNR: .FCTR LB:[1,1]RMSLIB/LB:R2CONP&RMRDSR: .FCTR LB:[1,1]RMSLIB/LB:R2DISC .DISABLE DATAR.;.; GOTO STEP 11R .GOTO S11 .S103N: .;N.;****************************************************************************.S11: .;0.; STEP 11 * SELECT INDEX FILE OPERATION MODULES .;**********.;<.; IN THIS STEP, YOU MUST SELECT THE "INDEXED" ORGANIZATION <.; FILE OPERATIONS WHICH CORRESPOND TO THE FEATURES YOU HAVE.; SELECTED IN PREVIOUS STEPS..; .ENABLE DATA .NAME RMDCLSB .NAME RMDCRX: .NAME RMDIDX .NAME RMDOPNM .NAME RMDCNX .NAME RMDDSXB .NAME RMDCXX: .DISABLE DATAE.;L.; IF INDEX FILE CREATION IS NOT REQUIRED, THEN SELECT THE FOLLOWING FACTOR,.; ELSE GOTO STEP 11-1.*.;.IFF IDXCRE .GOTO S110Y1 .GOTO S111.S110Y: .ENABLE DATARM0X31: .FCTR RMDCRXRMCRIX: .FCTR RMDCXX .DISABLE DATAU.;.; GOTO STEP 11-2E .GOTO S112 .S110N: .;.;************ .S111: .;N.; STEP 11-1 *.;************.;@.; IF INDEX FILE CREATION IS REQUIRED, THEN SELECT THE FOLLOWING .; FACTORS.E.;.IFT IDXCRE .GOTO S111YA .GOTO S111N..S111Y: .ENABLE DATA&RMCRIX: .FCTR LB:[1,1]RMSLIB/LB:R3CRFLRM0X31: .FCTR (RM0X32,RM0X33)T&RM0X32: .FCTR LB:[1,1]RMSLIB/LB:R3CRCK;RM0X33: .FCTR LB:[1,1]RMSLIB/LB:R3WPLG:R0CKSM:R0ALBD-RMEXTD .DISABLE DATA .;.; GOTO STEP 11-3C .GOTO S113 .S111N: .;.;************ .S112: .;T.; STEP 11-2 *.;************.;H.; IF YOU ARE NOT USING ANY INDEX FILE-FILE OPERATIONS, THEN SELECT THE *.; FOLLOWING FACTORS, ELSE GOTO STEP 11-3..;.IFF IDX .GOTO S112Y .GOTO S113.S112Y: .ENABLE DATARMIDXC: .FCTR RMDCLSRMSIX0: .FCTR RMDIDXRMIDXO: .FCTR RMDOPNRMXCNX: .FCTR RMDCNXRMXDSX: .FCTR RMDDSX .DISABLE DATA,.;.; GOTO STEP 12M .GOTO S12 .S112N: .;.;************ .S113: .;R.;* STEP 11-3 *D.;************.;A.; IF YOU ARE USING INDEX FILE-FILE OPERATIONS AND, ADDITIONALLY,E@.; THE LIMITED FUNCTION LIBRARY RMSSEQ, SELECT THE THE FOLLOWING .; FACTOR, ELSE GO TO STEP 11-4..; .IFT IDX .IFT RMSSEQ .GOTO S113Y .GOTO S114.S113Y: .ENABLE DATARMSIX0: .FCTR RMDIDX .DISABLE DATAM.;.; GO TO STEP 11-5 .GOTO S115 .S113N: .; .;*********** .S114: .;T.;* STEP 11-4 * .;*************S.;.;:.; IF YOU ARE USING INDEX FILE FILE-OPERATIONS BUT ARE NOT-.; USING RMSSEQ, SELECT THE FOLLOWING FACTOR:*.; .IFT IDX .IFF RMSSEQ .GOTO S114Y .GOTO S114NO.S114Y: .ENABLE DATA-RMSIX0: .FCTR LB:[1,1]RMSLIB/LB:R0RLSB:R0GETBT .DISABLE DATAI.;.; GOTO STEP 11-5T .GOTO S115.; .S114N: .; .;***********O .S115: .;T.;* STEP 11-5 *E.;*************0.;.;3.; IF YOU ARE USING INDEX FILE-FILE OPERATIONS THEN .; SELECT THE FOLLOWING FACTORS..;.IFT IDX .GOTO S115Y .GOTO S115N*.S115Y: .ENABLE DATA&RMIDXC: .FCTR LB:[1,1]RMSLIB/LB:R3CLOS-RMIDXO: .FCTR LB:[1,1]RMSLIB/LB:R3OPFL:R3RPLGW&RMXCNX: .FCTR LB:[1,1]RMSLIB/LB:R3CONP&RMXDSX: .FCTR LB:[1,1]RMSLIB/LB:R3DISC .DISABLE DATA .;.; GOTO STEP 12L .GOTO S12G .S115N: .;N.;****************************************************************************.;.;.;.;N.;****************************************************************************.S12: .;5.; STEP 12 * RECORD OPERATION OVERLAY STRUCTURE *S9.;*******************************************************[.;B.; THE PURPOSE OF THIS STEP IS TO DEFINE THE OVERLAY STRUCTURE FORG.; RECORD OPERATIONS ON ALL FILE ORGANIZATIONS. SINCE RECORD OPERATIONSIC.; TEND TO BE USED MUCH MORE THAN FILE OPERATIONS, ANY EFFORT SPENT*H.; IN MINIMIZING OVERLAYS IN THIS AREA WILL HAVE SUBSTANTIAL PERFORMANCE .; PAYOFFS..;:.; RMSSQ0 ---- SEQUENTIAL FILE RECORD OPERATIONS (STEP 13)8.; RM0X26 ---- RELATIVE FILE RECORD OPERATIONS (STEP 14)7.; RM0X36 ---- INDEXED FILE RECORD OPERATIONS (STEP 15)*".; RMSBLK ---- BLOCK I/O (STEP 16)E.; RMMISC ---- MISC. RECORD OPERATIONS $REWIND,$FREE,$FLUSH,$TRUNCATEC$.; $FLUSH, AND $TRUNCATE (STEP 17).; .ENABLE DATA .NAME RMSRABT9RMSREC: .FCTR RMSRAB-(RMSSQ0,RM0X26,RM0X36,RMSBLK,RMMISC)P .DISABLE DATAI.;.; GOTO STEP 13IN.;****************************************************************************.S13: .;2.; STEP 13 * RMS SEQUENTIAL FILE RECORD OPERATIONS .;**********.;D.; IN THIS STEP, YOU MUST SELECT THE RECORD OPERATIONS, IF ANY, THATB.; YOU WILL UTILIZE ON THE SEQUENTIAL FILES ACCESSED BY YOUR TASK..;8.; IF YOU ARE NOT USING SEQUENTIAL FILES, GOTO STEP 13-8H.; ELSE, IF YOU ARE USING THE RMSSEQ RESIDENT LIBRARY, GO TO STEP 13-7.5.; ELSE, SELECT THE APPROPRIATE MODULES IN THIS STEP.I.IFF SEQROP .GOTO S138.; .; SEQ: ROOT.;H.; THE FOLLOWING SET OF FACTORS MUST BE SELECTED IF YOU WANT SEQUENTIAL 5.; FILE RECORD OPERATIONS. THEY MAKE UP THE "ROOT" OF*>.; THE SEQUENTIAL FILE RECORD OPERATION OVERLAY STRUCTURE. ANYF.; OPTIMIZATION OF THIS OVERLAY STRUCTURE MUST ENSURE THAT THIS "ROOT"@.; IS ALWAYS IN MEMORY WHEN ANY SEQUENTIAL FILE RECORD OPERATION.; IS PERFORMED..; .ENABLE DATA .NAME RMSSEQT .DISABLE DATA .IFT RMSSEQ .GOTO S137.IFT SEQROP .GOTO S130YE .GOTO S130NP.S130Y: .ENABLE DATA)RMSSQ0: .FCTR RMSSEQ-RMR1RL-RMEXTD-RMSQOPG;RMSQOP: .FCTR LB:[1,1]RMSLIB/LB:R1WTLS:R1CKEF:R1DELE-RMSQORF .DISABLE DATAA6.IFF SEQOPT .DATA RMSQOR: .FCTR (RMIN10,RMOU1P,RMOU1U)5.IFT SEQOPT .DATA RMSQOR: .FCTR RMIN10-RMOU1P-RMOU1UT.;C.; RMIN10 ---- $GET/$FIND OPERATIONS FOR SEQUENTIAL FILE(STEP 13-1)I@.; RMOU1P ---- $PUT OPERATION FOR THE SEQUENTIAL FILE(STEP 13-3)K.; RMOU1U ---- $UPDATE/$DELETE OPERATION FOR THE SEQUENTIAL FILE(STEP 13-5).;D.; NOTE: IF YOU WANT TO ELIMINATE ALL OVERLAYS WITHIN THE SEQUENTIALI.; FILE RECORD OPERATIONS, THEN CONCATENATE THE ABOVE FACTORS AS FOLLOWS-E.; FROM: (RMIN10,RMOU1P,RMOU1U).; TO: RMIN10-RMOU1P-RMOU1U.;.; GOTO STEP 13-1) .GOTO S131 .S130N: .;.;************ .S131: .;O.; STEP 13-1 *.;************.;.; SEQ: $GET, $FINDT.;I.; IF YOU WANT TO READ, OR UPDATE, SEQUENTIAL FILES, YOU MUST SELECT THE P).; FOLLOWING FACTOR, ELSE GOTO STEP 13-2.A.;.IFT SEQRED .GOTO S131YS.IFT SEQUPD .GOTO S131YI .GOTO S132.S131Y: .ENABLE DATA3RMIN10: .FCTR LB:[1,1]RMSLIB/LB:R1GET:R1GSET:R1GBLDT .DISABLE DATA .;.; GOTO STEP 13-3L .GOTO S133 .S131N: .; .;*********** .S132: .;M .;STEP 13-2 *U .;*********** .;L.; IF YOU DO NOT WANT TO READ, OR UPDATE, A SEQUENTIAL FILE, THEN SELECT THE.; FOLLOWING FACTOR..; .ENABLE DATA .NAME RMDS10A .DISABLE DATAU#.IFF SEQRED .IFF SEQUPD .GOTO S132YE .GOTO S132NF.S132Y: .ENABLE DATARMIN10: .FCTR RMDS10 .DISABLE DATAT.;.; GOTO STEP 13-3G .GOTO S133 .S132N: .; .;*********** .S133: .;0 .;STEP 13-3 *] .;***********:.; .; SEQ: $PUT.;F.; IF YOU WANT TO WRITE TO SEQUENTIAL FILES, THEN SELECT THE FOLLOWING.; FACTOR, ELSE GOTO STEP 13-4.*.;.IFT SEQWRI .GOTO S133YN .GOTO S134.S133Y: .ENABLE DATA:RMOU1P: .FCTR LB:[1,1]RMSLIB/LB:R1PUT:R1PSET:R1PUNR:R1PBLD .DISABLE DATAE.;.; GOTO STEP 13-5U .GOTO S135 .S133N: .; .;*********** .S134: .;F .;STEP 13-4 *L .;*********** .;D.; IF YOU DO NOT WANT TO WRITE TO SEQUENTIAL FILES, THEN SELECT THE .; FOLLOWING FACTOR..; .ENABLE DATA .NAME RMDS1P* .DISABLE DATAS.IFF SEQWRI .GOTO S134YA .GOTO S134NO.S134Y: .ENABLE DATARMOU1P: .FCTR RMDS1P .DISABLE DATAS.;.; GOTO STEP 13-5 .GOTO S135 .S134N: .; .;***********S .S135: .;L .;STEP 13-5 * .;***********M.;.; SEQ: $UPDATER.;;.; IF YOU WISH TO UPDATE RECORDS IN A SEQUENTIAL FILE, THEN4.; SELECT THE FOLLOWING FACTOR, ELSE GOTO STEP 13-6..;.IFT SEQUPD .GOTO S135YO .GOTO S136 .S135Y: .;F.IFF SEQOPT .DATA RMOU1U: .FCTR LB:[1,1]RMSLIB/LB:R1UPDA:R1UBLD:R1PSET?.IFT SEQOPT .DATA RMOU1U: .FCTR LB:[1,1]RMSLIB/LB:R1UPDA:R1UBLDG.;I.; NOTE: IF RMOU1U IS CONCATENATED WITH RMOU1P IN FACTOR RMSQOR (STEP 13)GF.; THEN REMOVE THE ":R1PSET" NAME FROM THE ABOVE RMOU1U FACTOR, ELSE0.; THE SYMBOL "$PSET1" WILL BE MULTIPLY DEFINED..;.; GOTO STEP 14 .GOTO S14R .S135N: .; .;***********E .S136: .;C .;STEP 13-6 * .;***********T.;=.; IF YOU DO NOT WANT TO UPDATE RECORDS IN A SEQUENTIAL FILE,$.; THEN SELECT THE FOLLOWING FACTOR..; .ENABLE DATA .NAME RMDS1U .DISABLE DATAT.IFF SEQUPD .GOTO S136YM .GOTO S136NA.S136Y: .ENABLE DATARMOU1U: .FCTR RMDS1U .DISABLE DATAP.;.; GOTO STEP 14E .GOTO S14T .S136N: .;.;************ .S137: .;E.; STEP 13-7 *.;************.;3.; IF YOU ARE USING THE RMSSEQ RESIDENT LIBRARY AND D.; IF YOU WANT THE UPDATE RECORD FUNCTION, THEN SELECT THE FOLLOWING.; FACTOR, ELSE GOTO STEP 13-8. .;#.IFT RMSSEQ .IFT SEQUPD .GOTO S137YQ .GOTO S138.S137Y: .ENABLE DATA;RMSSQ0: .FCTR RMSSEQ-LB:[1,1]RMSLIB/LB:R1UPDA:R1UBLD:R1DELEE .DISABLE DATAQ.;.; GOTO STEP 14T .GOTO S14S.;************ .S138: .; .; STEP 13-8 *.;************.;B.; IF YOU DO NOT WANT ANY SEQUENTIAL FILE RECORD OPERATIONS, OR IFC.; USING THE RMSSEQ RESIDENT LIBRARY AND YOU DO NOT WANT THE UPDATES>.; RECORD FUNCTION, THEN YOU MUST SELECT THE FOLLOWING FACTOR..; .ENABLE DATA .NAME RMDDSQO .DISABLE DATAE.IFF SEQROP .GOTO S138Y #.IFT RMSSEQ .IFF SEQUPD .GOTO S138Y .GOTO S138NL.S138Y: .ENABLE DATARMSSQ0: .FCTR RMDDSQ .DISABLE DATAD.;.; GOTO STEP 14T .GOTO S14G .S138N: .;N.;****************************************************************************.S14: .;1.; STEP 14 * RMS RELATIVE FILE RECORD OPERATIONS .;**********.;D.; IN THIS STEP, YOU MUST SELECT THE RECORD OPERATIONS, IF ANY, THAT@.; YOU WILL UTILIZE ON THE RELATIVE FILES ACCESSED BY YOUR TASK..;7.; IF YOU ARE NOT USING RELATIVE FILES, GOTO STEP 14-9,I5.; ELSE, SELECT THE APPROPRIATE FACTORS IN THIS STEP.Y.IFF RELROP .GOTO S149.;.; REL: ROOT, $FINDT.;J.; THE FOLLOWING SET OF FACTORS MUST BE SELECTED IF YOU WANT RELATIVE FILE0.; RECORD OPERATIONS. THEY MAKE UP THE "ROOT" OF<.; THE RELATIVE FILE RECORD OPERATION OVERLAY STRUCTURE. ANYF.; OPTIMIZATION OF THIS OVERLAY STRUCTURE MUST ENSURE THAT THIS "ROOT">.; IS ALWAYS IN MEMORY WHEN ANY RELATIVE FILE RECORD OPERATION.; IS PERFORMED..;.; .ENABLE DATA .NAME RMSRELF .DISABLE DATA .IFT RELROP .GOTO S140YH .GOTO S140N .S140Y: .ENABLE DATA"RM0X26: .FCTR RMSREL-RMIO2C-RMIO2A4RMIO2C: .FCTR LB:[1,1]RMSLIB/LB:R2IOCK:R2CALC:R0CKSM .DISABLE DATAIO.IFF RELOPT .DATA RMIO2A: .FCTR LB:[1,1]RMSLIB/LB:R2FIND:R2GSET-(RMIO2G,RMIO2P)EM.IFT RELOPT .DATA RMIO2A: .FCTR LB:[1,1]RMSLIB/LB:R2FIND:R2GSET-RMIO2G-RMIO2P .;@.; NOTE: TO COMBINE ALL RELATIVE FILE RECORD OPERATIONS INTO ONE5.; OVERLAY, CHANGE THE ABOVE FACTOR AS FOLLOWS:E.; FROM: -(RMIO2G,RMIO2P)..; TO: -RMIO2G-RMIO2PD.;.; GOTO STEP 14-1 .GOTO S141 .S140N: .;.;************ .S141: .; .; STEP 14-1 *.;************.;6.; REL: $GET-$UPDATE-$DELETE COMBINED INTO ONE OVERLAYE.; IF YOU WANT TO READ, UPDATE, OR DELETE RECORDS IN A RELATIVE FILE,R4.; SELECT THE FOLLOWING FACTOR, ELSE GOTO STEP 14-2..;.IFT RELRED .GOTO S141YO.IFT RELUPD .GOTO S141YT.IFT RELDEL .GOTO S141YL .GOTO S142.S141Y: .ENABLE DATA3RMIO2G: .FCTR LB:[1,1]RMSLIB/LB:R2GET-RMIO2U-RMIO2D; .DISABLE DATA,.;.; GOTO STEP 14-3G .GOTO S143 .S141N: .;.;************ .S142: .;N.; STEP 14-2 *.;************.;L.; IF YOU DO NOT WANT TO READ, UPDATE, OR DELETE RECORDS IN A RELATIVE FILE,$.; THEN SELECT THE FOLLOWING FACTOR..; .ENABLE DATA .NAME RMDR2GT .DISABLE DATAS0.IFF RELRED .IFF RELUPD .IFF RELDEL .GOTO S142Y .GOTO S142NE.S142Y: .ENABLE DATARMIO2G: .FCTR RMDR2G .DISABLE DATA .;.; GOTO STEP 14-34 .GOTO S143 .S142N: .;.;************ .S143: .;2.; STEP 14-3 *.;************.; .; REL: $PUTE.; IF YOU WANT TO WRITE RECORDS INTO A RELATIVE FILE, THEN SELECT THE4).; FOLLOWING FACTOR, ELSE GOTO STEP 14-4.W.;.IFT RELWRI .GOTO S143YE .GOTO S144.S143Y: .ENABLE DATAARMIO2P: .FCTR LB:[1,1]RMSLIB/LB:R2PUT:R2PSET:R2BFMT:R2EXTD-RMEXTD .DISABLE DATA.;.; GOTO STEP 14-5D .GOTO S145 .S143N: .;.;************ .S144: .;A.; STEP 14-4 *.;************.;H.; IF YOU DO NOT WANT TO WRITE RECORDS INTO A RELATIVE FILE, THEN SELECT.; THE FOLLOWING FACTOR..; .ENABLE DATA .NAME RMDR2PP .DISABLE DATAA.IFF RELWRI .GOTO S144YA .GOTO S144NE.S144Y: .ENABLE DATARMIO2P: .FCTR RMDR2P .DISABLE DATA4.;.; GOTO STEP 14-5T .GOTO S145 .S144N: .;.;************ .S145: .; .; STEP 14-5 *.;************.;.; REL: $UPDATEED.; IF YOU WANT TO UPDATE RECORDS IN A RELATIVE FILE, THEN SELECT THE).; FOLLOWING FACTOR, ELSE GOTO STEP 14-6..;.IFT RELUPD .GOTO S145Y .GOTO S146 .S145Y: .;?.IFF RELOPT .DATA RMIO2U: .FCTR LB:[1,1]RMSLIB/LB:R2UPDA:R2PSET8.IFT RELOPT .DATA RMIO2U: .FCTR LB:[1,1]RMSLIB/LB:R2UPDA.;>.; IF $PUT AND $UPDATE ARE CONCATENATED INTO ONE OVERLAY, THENE.; DELETE THE ":R2PSET" NAME FROM THE FACTOR ABOVE, ELSE THE SYMBOL%.; "$PSET2" WILL BE MULTIPLY DEFINED.5.;.; GOTO STEP 14-7 .GOTO S147 .S145N: .;.;************ .S146: .;I.; STEP 14-6 *.;************.;G.; IF YOU DO NOT WANT TO UPDATE RECORDS IN A RELATIVE FILE, THEN SELECT.; THE FOLLOWING FACTOR..; .ENABLE DATA .NAME RMDR2U[ .DISABLE DATA2.IFF RELUPD .GOTO S146Y .GOTO S146N .S146Y: .ENABLE DATARMIO2U: .FCTR RMDR2U .DISABLE DATAA.;.; GOTO STEP 14-7E .GOTO S147 .S146N: .;.;************ .S147: .; .; STEP 14-7 *.;************.;.; REL: $DELETEBG.; IF YOU WANT TO DELETE RECORDS FROM A RELATIVE FILE, THEN SELECT THE *).; FOLLOWING FACTOR, ELSE GOTO STEP 14-8.*.;.IFT RELDEL .GOTO S147YN .GOTO S148.S147Y: .ENABLE DATA&RMIO2D: .FCTR LB:[1,1]RMSLIB/LB:R2DELE .DISABLE DATA.;.; GOTO STEP 15R .GOTO S15S .S147N: .;.;************ .S148: .;G.; STEP 14-8 *.;************.;J.; IF YOU DO NOT WANT TO DELETE RECORDS FROM A RELATIVE FILE, THEN SELECT .; THE FOLLOWING FACTOR..; .ENABLE DATA .NAME RMDR2D* .DISABLE DATAR.IFF RELDEL .GOTO S148YA .GOTO S148NR.S148Y: .ENABLE DATARMIO2D: .FCTR RMDR2D .DISABLE DATAG.;.; GOTO STEP 15E .GOTO S15; .S148N: .;.;************ .S149: .;.; STEP 14-9 *.;************.;C.; IF YOU DO NOT WANT ANY RELATIVE FILE RECORD OPERATIONS, THEN YOU $.; MUST SELECT THE FOLLOWING FACTOR..; .ENABLE DATA .NAME RMDDRL* .DISABLE DATA .IFF RELROP .GOTO S149Y .GOTO S149NA.S149Y: .ENABLE DATARM0X26: .FCTR RMDDRL .DISABLE DATA.;.; GOTO STEP 15R .GOTO S15S .S149N: .;N.;****************************************************************************.S15: .;0.; STEP 15 * RMS INDEXED FILE RECORD OPERATIONS .;**********.;D.; IN THIS STEP, YOU MUST SELECT THE RECORD OPERATIONS, IF ANY, THAT?.; YOU WILL UTILIZE ON THE INDEXED FILES ACCESSED BY YOUR TASK.T.;<.; IF YOU DO NOT WANT INDEXED FILE SUPPORT, GOTO STEP 15-10,5.; ELSE, SELECT THE APPROPRIATE FACTORS IN THIS STEP. .IFF IDXROP .GOTO S1510T.;.; .; IDX: ROOT.;I.; THE FOLLOWING SET OF FACTORS MUST BE SELECTED IF YOU WANT INDEXED FILE*8.; RECORD OPERATIONS. AS SUCH THEY MAKE UP THE "ROOT" OF;.; THE INDEXED FILE RECORD OPERATION OVERLAY STRUCTURE. ANY*F.; OPTIMIZATION OF THIS OVERLAY STRUCTURE MUST ENSURE THAT THIS "ROOT"D.; WILL ALWAYS BE PRESENT WHENEVER ANY INDEXED FILE RECORD OPERATION.; IS PERFORMED..; .ENABLE DATA .NAME RMSIDXO .DISABLE DATA.IFT IDXROP .GOTO S150YP .GOTO S150N .S150Y: .ENABLE DATA0RM0X36: .FCTR RMSIDX-RMOU3C-RMOU3D-RMOU3E-RMIO31BRMOU3C: .FCTR LB:[1,1]RMSLIB/LB:R3FROO:R3GKEY:R3FPAT:R3MISC:R3WBKT;RMOU3D: .FCTR LB:[1,1]RMSLIB/LB:R3FRFA:R3FNDR:R3NBKT:R3KREFBRMOU3E: .FCTR LB:[1,1]RMSLIB/LB:R3SDBK:R3SKRE:R0CMKY:R0CKSM:R0GPTR .DISABLE DATAI.;.; GOTO STEP 15-1T .GOTO S151 .S150N: .; .;***********S .S151: .; .;STEP 15-1 *D .;***********D.;A.; IDX: $GET-$FIND,$UPDATE-$DELETE,$PUT OVERLAYED WITH EACH OTHEREF.; IF YOU WANT TO READ, WRITE, DELETE, OR UPDATE RECORDS IN AN INDEXEDA.; FILE, YOU MUST SELECT THE FOLLOWING FACTOR WHICH DESCRIBES THE,3.; INDEXED FILE RECORD OPERATION OVERLAY STRUCTURE.D.;.IFT IDXRED .GOTO S151YR.IFT IDXWRI .GOTO S151Y.IFT IDXDEL .GOTO S151YL.IFT IDXUPD .GOTO S151YY .GOTO S151NR .S151Y: .;6.IFF IDXOPT .DATA RMIO31: .FCTR (RMIO3G,RMIO3U,RMIO3P)6.IFT IDXOPT .DATA RMIO31: .FCTR RMIO3G-(RMIO3U,RMIO3P).;H.; NOTE: IF YOU WANT TO INCLUDE THE GET/FIND OPERATIONS IN THE "ROOT" OF?.; THE INDEX FILE RECORD OPERATION OVERLAY STRUCTURE, AND THUS D9.; OPTIMIZE GET-UPDATE PROGRAMMING SEQUENCES, THEN CHANGEI.; THE ABOVE FACTOR AS FOLLOWS:O.; FROM: (RMIO3G,RMIO3U,RMIO3P).; TO: RMIO3G-(RMIO3U,RMIO3P)I.;.; GOTO STEP 15-2T .GOTO S152 .S151N: .; .;*********** .S152: .;T .;STEP 15-2 *Y .;***********P.;.; IDX: $GET,$FINDG.; IF YOU WANT TO READ, UPDATE, OR DELETE RECORDS FROM AN INDEXED FILE,3:.; THEN SELECT THE FOLLOWING FACTORS, ELSE GOTO STEP 15-3..;.IFT IDXRED .GOTO S152YI.IFT IDXUPD .GOTO S152YN.IFT IDXDEL .GOTO S152YH .GOTO S153.S152Y: .ENABLE DATA:RMIO3G: .FCTR LB:[1,1]RMSLIB/LB:R3GET:R3FIND-RMIN3S-RMIN3KBRMIN3K: .FCTR LB:[1,1]RMSLIB/LB:R3GSET:R3GTRE:R3GRPT:R3FRRF:R3FRKE;RMIN3S: .FCTR LB:[1,1]RMSLIB/LB:R3FRSE:R3POSE:R3POSR:R3FRRV* .DISABLE DATAT.;.; GOTO STEP 15-4* .GOTO S154 .S152N: .; .;*********** .S153: .; .;STEP 15-3 *R .;*********** .;H.; IF YOU DO NOT WANT TO READ, UPDATE, OR DELETE RECORDS FROM AN INDEXED*.; FILE, THEN SELECT THE FOLLOWING FACTOR..; .ENABLE DATA .NAME RMDX3GT .DISABLE DATA /.IFF IDXRED .IFF IDXUPD .IFF IDXDEL .GOTO S153Y] .GOTO S153NE.S153Y: .ENABLE DATARMIO3G: .FCTR RMDX3G .DISABLE DATAS.;.; GOTO STEP 15-4: .GOTO S154 .S153N: .; .;***********: .S154: .;S .;STEP 15-4 ** .;***********T.;.; IDX: $UPDATE, $DELETE@.; IF YOU WANT TO UPDATE, OR DELETE, RECORDS IN AN INDEXED FILE,:.; THEN SELECT THE FOLLOWING FACTORS, ELSE GOTO STEP 15-5..;.IFT IDXUPD .GOTO S154YD.IFT IDXDEL .GOTO S154YE .GOTO S155.S154Y: .ENABLE DATADRMIO3U: .FCTR LB:[1,1]RMSLIB/LB:R3UPDA:R3USET:R3RPLC-(RMOU3Q,RMIO3D);RMIO3D: .FCTR LB:[1,1]RMSLIB/LB:R3DELE:R3DSET:R3SKDL-RMOU33F .DISABLE DATAS.;.; GOTO STEP 15-6 .GOTO S156 .S154N: .; .;************ .S155: .; .;STEP 15-5 *T .;************.;G.; IF YOU DO NOT WANT TO UPDATE, OR DELETE, RECORDS IN AN INDEXED FILE,,$.; THEN SELECT THE FOLLOWING FACTOR..; .ENABLE DATA .NAME RMDX3UE .DISABLE DATA.#.IFF IDXUPD .IFF IDXDEL .GOTO S155YI .GOTO S155N1.S155Y: .ENABLE DATARMIO3U: .FCTR RMDX3U .DISABLE DATA,.;.; GOTO STEP 15-6E .GOTO S156 .S155N: .; .;*********** .S156: .;L .;STEP 15-6 *D .;***********3.; .; IDX: $PUTI.; IF YOU WANT TO WRITE NEW RECORDS INTO AN INDEXED FILE, THEN SELECT THE).; FOLLOWING FACTOR, ELSE GOTO STEP 15-7. .;.IFT IDXWRI .GOTO S156Y .GOTO S157.S156Y: .ENABLE DATA<RMIO3P: .FCTR LB:[1,1]RMSLIB/LB:R3PUT:R3PSET-(RMOU3Q,RMOU33) .DISABLE DATAD.;.; GOTO STEP 15-8P .GOTO S158 .S156N: .; .;***********1 .S157: .;E .;STEP 15-7 *O .;***********U.;E.; IF YOU DO NOT WANT TO WRITE NEW RECORDS INTO AN INDEXED FILE, THEN*.; SELECT THE FOLLOWING FACTOR..; .ENABLE DATA .NAME RMDX3P .DISABLE DATAT.IFF IDXWRI .GOTO S157YA .GOTO S157NE.S157Y: .ENABLE DATARMIO3P: .FCTR RMDX3P .DISABLE DATA7.;.; GOTO STEP 15-8T .GOTO S158 .S157N: .;.;************ .S158: .; .; STEP 15-8 *.;************.;E.; IF YOU SELECTED THE WRITE (STEP 15-6), UPDATE & DELETE (STEP 15-4)S8.; FUNCTIONS, THEN YOU MUST SELECT THE FOLLOWING FACTOR,.; ELSE GOTO STEP 16.O.;.IFT IDXWRI .GOTO S158YC.IFT IDXUPD .GOTO S158Y,.IFT IDXDEL .GOTO S158YL .GOTO S16R .S158Y: .;F.IFF IDXOPT .DATA RMOU33: .FCTR LB:[1,1]RMSLIB/LB:R3PIXC:R3FRRV:R3DLSI?.IFT IDXOPT .DATA RMOU33: .FCTR LB:[1,1]RMSLIB/LB:R3PIXC:R3DLSIT.;D.; IF THE READ/FIND FUNCTIONS (STEP 15-2) WERE CONCATENATED INTO THE>.; INDEX FILE ROOT MODULES AS DESCRIBED IN STEP 15-1, THEN THEH.; ":R3FRRV" NAME MUST BE REMOVED FROM THE ABOVE FACTOR, ELSE THE SYMBOL$.; "$FRRV" WILL BE MULTIPLY DEFINED..;.; GOTO STEP 15-9 .GOTO S159 .S158N: .; .;***********G .S159: .; .;STEP 15-9 *T .;*********** .;,.; IDX: GENERAL PUT/UPDATE OVERLAY STRUCTUREK.; IF YOU SELECTED THE WRITE (STEP 15-6), AND/OR UPDATE/DELETE (STEP 15-4),,@.; FUNCTIONS, THEN YOU MUST SELECT ALL OF THE FOLLOWING FACTORS,.; ELSE GOTO STEP 16.E.;C.; IF ANY OF THE FOLLOWING FACTORS ARE CONCATENATED FOR PERFORMANCEED.; PURPOSES, THEN YOU SHOULD BE AWARE THAT THERE ARE SEVERAL MODULESE.; WHICH ARE REFERENCED MANY TIMES IN THE FOLLOWING FACTORS. IN ORDERTA.; TO TASK-BUILD SUCCESSFULLY, YOU MUST ENSURE THAT THERE ARE NO *H.; DUPLICATE DEFINITIONS. THE FOLLOWING TABLE CAN BE USED AS A GUIDELINE0.; AS TO WHERE DUPLICATE DEFINITIONS WILL OCCUR..;!.; MODULE FACTOR ENTRY-POINT(S)M!.; ------ ------ --------------T.;.; R3BSRT RMOU3F $BSRT.; RMOU3H $BSRT.; RMOU3A RMOU34 \N&.; RMOU35 - $ALOC, $BFMT, $EXTD.; RMOU36 / .; RMOU3P /.;.IFT IDXWRI .GOTO S159YA.IFT IDXUPD .GOTO S159YI.IFT IDXDEL .GOTO S159YI .GOTO S16;.S159Y: .ENABLE DATA+RMOU3Q: .FCTR (RMOU34,RMOU35,RMOU36,RMOU3P);;P=; IDX: INSERT USER-DATA RECORD INTO PRIMARY INDEX DATA BUCKETI;=RMOU34: .FCTR LB:[1,1]RMSLIB/LB:R3IUDR-(RMOU3F,RMOU3G,RMOU3A) 4RMOU3F: .FCTR LB:[1,1]RMSLIB/LB:R3IUDI:R3BSRT:R3IUDC4RMOU3G: .FCTR LB:[1,1]RMSLIB/LB:R3BSPL:R3BRRV:R3URRV;=; IDX: INSERT RECORD POINTER INTO DATA LEVEL OF ALTERNATE KEYD;;6RMOU35: .FCTR LB:[1,1]RMSLIB/LB:R3ISID-(RMOU3H,RMOU3A)4RMOU3H: .FCTR LB:[1,1]RMSLIB/LB:R3ISDI:R3BSRT:R3SSPL;9D; IDX: UPDATE ANY INDEX BUCKET WITH POINTER TO OLD AND SPLIT BUCKETS;,=RMOU36: .FCTR LB:[1,1]RMSLIB/LB:R3UIDX:R3IKEY-(RMOU3M,RMOU3A) 4RMOU3M: .FCTR LB:[1,1]RMSLIB/LB:R3IKYI:R3KSPL:R3ROOT;(%; IDX: CREATE NEW INDEX WHEN REQUIREDB;,-RMOU3P: .FCTR LB:[1,1]RMSLIB/LB:R3MKID-RMOU3A ;[&; IDX: ALLOCATE AND FORMAT NEW BUCKETS;D4RMOU3A: .FCTR LB:[1,1]RMSLIB/LB:R3ALOC:R3BFMT-RMEXTD .DISABLE DATA5.;.; GOTO STEP 16 .GOTO S16( .S159N: .;.;************* .S1510: .;.; STEP 15-10 *R.;*************D.;L.; IF YOU DO NOT WANT ANY INDEX FILE RECORD OPERATIONS, THEN YOU MUST SELECT.; THE FOLLOWING FACTOR..; .ENABLE DATA .NAME RMDDIX .DISABLE DATAM.IFF IDXROP .GOTO S1510Y .GOTO S1510N.S1510Y: .ENABLE DATARRM0X36: .FCTR RMDDIX .DISABLE DATAM.;.; GOTO STEP 16 .GOTO S16: .S1510N: .; N.;****************************************************************************.S16: .;.; STEP 16 * BLOCK I/O .;**********.;.; BLOCK I/O: $READ,$WRITE.;D.; IF YOU WANT THE BLOCK I/O (READ/WRITE) OPERATIONS, THEN YOU MUST 4.; SELECT THE FOLLOWING FACTOR, ELSE GOTO STEP 16-1..;.IFT BLOCK .GOTO S160Y .GOTO S161.S160Y: .ENABLE DATA&RMSBLK: .FCTR LB:[1,1]RMSLIB/LB:R0RWBI .DISABLE DATAS.;.; GOTO STEP 17 .GOTO S17T .S160N: .;.;************ .S161: .;T.; STEP 16-1 *.;************.;C.; IF YOU DO NOT WANT THE BLOCK I/O FUNCTIONS, THEN YOU MUST SELECT*.; THE FOLLOWING FACTOR..; .ENABLE DATA .NAME RMDBLK .DISABLE DATAR.IFF BLOCK .GOTO S161Y .GOTO S161NO.S161Y: .ENABLE DATARMSBLK: .FCTR RMDBLK .DISABLE DATAH.;.; GOTO STEP 17L .GOTO S17P .S161N: .;N.;****************************************************************************.S17: .;1.; STEP 17 * MISC: $FLUSH,$FREE,$TRUNCATE,$REWIND .;**********.;B.; IF YOU WANT ANY OF THESE MISCELLANEOUS FUNCTIONS, THEN YOU MUST5.; SELECT THE FOLLOWING FACTORS, ELSE GOTO STEP 17-1.T.;.IFT MISC .GOTO S170YF .GOTO S171.S170Y: .ENABLE DATABRMMISC: .FCTR LB:[1,1]RMSLIB/LB:R0FREE:R1TRUN:R0RWIN:R2CALC-RMWATRBRMWATR: .FCTR LB:[1,1]RMSLIB/LB:R0WATR:R0MAGT-RMR1WL-RMR1RL-RMEXTD .DISABLE DATA1.;.; GOTO STEP 18* .GOTO S18* .S170N: .;.;************ .S171: .;*.; STEP 17-1 *.;************.;D.; IF YOU DO NOT WANT ANY OF THESE MISCELLANEOUS FUNCTIONS, THEN YOU$.; MUST SELECT THE FOLLOWING FACTOR..; .ENABLE DATA .NAME RMDDMCC .DISABLE DATA .IFF MISC .GOTO S171Y .GOTO S171NI.S171Y: .ENABLE DATARMMISC: .FCTR RMDDMC .DISABLE DATAI.;.; GOTO STEP 18L .GOTO S18E .S171N: .;N.;****************************************************************************.S18: .;.; STEP 18 * THE END .;**********.;<.; HAVE YOU DELETED ALL THE SEMICOLONS (;) THAT APPLY TO THE.; FACTORS YOU HAVE SELECTED ?N.;**************************************************************************** .ENABLE DATA;; ; end of ODL file "'OUTFIL'.ODL";B .DISABLE DATAM; ,; your file "'OUTFIL'.ODL" has been created. .CLOSEC .EXIT: .;D; ; end of procedure MAKRMSODL.CMD;.GOTO S18E .S171N: .;N.;****************************************************************************.S18: .;.; STEP 18 * THE END .;**********.;<.; HAVE YOU DELETED ALL THE SEMICOLONS (;) THAT APPLY TO THE.; FACTORS YOU HAVE SELECT;+$; RMS-11 PROTOTYPE ODL 11-MAY-1979;;<; THIS ODL FILE DESCRIBES A 9KB RMS-11 OVERLAY STRUCTURE. TOD; CONSERVE TASK ADDRESS SPACE, EVERY RMS RECORD OPERATION(E.G. $GET,A; $PUT, $UPDATE, ETC.) FOR EACH FILE ORGANIZATION IS CONTAINED INA; A SEPARATE OVERLAY. THE INITIAL OVERLAY LOADED FOR A PARTICULAR@; OPERATION MAY, IN TURN, CAUSE THE LOADING OF ONE OR MORE ADDI-E; TIONAL OVERLAYS. THE MORE OVERLAYS REQUIRED, THE LONGER THE OVERALL8; OPERATION TAKES. THUS, THE INTENT OF THIS ODL FILE, AS@; IT APPEARS HERE, IS SOLELY TO OPTIMIZE FOR SPACE USAGE WITHOUT; REGARD TO PERFORMANCE.;Y?; TO CUSTOMIZE THIS PROTOTYPE ODL FILE, FOLLOW THE INSTRUCTIONSPC; STEP-BY-STEP. TO SELECT A PARTICULAR INDIVIDUAL FACTOR STATEMENT, <; REMOVE THE SEMI-COLON FROM THE FIRST CHARACTER OF THE LINE; CONTAINING THE FACTOR.;R; NOTE:,; F; 1. IF YOU NEED MORE INFORMATION ON HOW TO OPTIMIZE THIS ODL FOR YOURC; SPECIFIC APPLICATION, REFER TO CHAPTER 8 OF THE "RMS-11 USER'S, ; GUIDE".;I<; 2. IF YOU USE THE FULL-FUNCTION RMS RESIDENT LIBRARY KNOWNC; AS RMSRES, THERE IS NO NEED TO MODIFY THIS PROTOTYPE ODL FILE. C; RMSRES INCLUDES ALL RMS FUNCTIONS (I.E., SEQUENTIAL, RELATIVE,CE; AND INDEXED FILE SUPPORT) AND, SINCE IT IS MEMORY RESIDENT, DOESR); NOT INCUR THE COST OF DISK OVERLAY I/O.I>; 3. A SECOND, LIMITED FUNCTION MEMORY RESIDENT LIBRARY CALLED>; RMSSEQ IS ALSO AVAILABLE FOR YOUR USE. RMSSEQ IS INTENDED<; FOR USE IN THOSE SYSTEMS ENVIRONMENTS IN WHICH PHYSICALB; MEMORY IS LIMITED BUT SOME SHARING OF RMS-11 CODE IS DESIRED.A; THIS RESIDENT LIBRARY CONTAINS CERTAIN MODULES COMMON TO THE @; PROCESSING OF ALL FILE ORGANIZATIONS AS WELL AS THE GET AND9; PUT OPERATIONS FOR THE SEQUENTIAL FILE ORGANIZATION.S@; UNLIKE YOUR USE OF RMSRES, WHICH MAKES MODIFICATION OF THISA; PROTOTYPE UNNECESSARY, YOU MIGHT WANT TO USE BOTH RMSSEQ ANDSE; A MODIFIED PROTOTYPE ODL. SO DOING COULD PROVIDE MEMORY RESIDENT =; SEQUENTIAL FILE SUPPORT (FROM RMSSEQ) AND OPTIMIZED DISKM>; RESIDENT OVERLAY INDEXED FILE SUPPORT (FROM THE MODIFIED; PROTOTYPE).; ;TD; 4. RSTS/E USERS MUST, AFTER ALL THE STEPS BELOW HAVE BEEN FOLLOWEDB; AND THE PROPER EDITS MADE, PERFORM ONE FINAL GLOBAL EDIT. ALL=; INSTANCES OF THE STRING LB:[1,1] MUST BE CHANGED TO LB:.I;A;-L;***************************************************************************L; STEP 1 ******************* DECLARE RMS-11 ROOT *******************L;***************************************************************************;F7; THE FACTOR "RMSROT" IS REFERENCED IN YOUR TASK'S ODL .; FILE FOR INCLUSION IN THE ROOT OF YOUR TASK.;A;RMSROT: .FCTR LB:[1,1]RMSLIB/LB:RMSSYM:R0AUTO:R0IMPA-RMROOT ;A ; GOTO STEP 2AM;****************************************************************************%; STEP 2 * SELECT RMS-11 ROOT MODULES* ;*********;*4; IN THIS STEP, YOU SELECT THOSE ROUTINES WHICH MUST'; BE INCLUDED IN THE ROOT OF YOUR TASK.*;*J; IF: 1). YOUR SYSTEM IS RSTS/E, OR 2). YOU WILL ONLY USE SYNCHRONOUS I/O,D; AND YOU WILL BE USING RMSSEQ (THE LIMITED FUNCTION MEMORY RESIDENT(; LIBRARY), SELECT THE FOLLOWING FACTOR:;.;RMROOT: .FCTR LB:[1,1]RMSLIB/LB:R0EXSY-RMSIX0;0; GOTO STEP 3; ;***********;* STEP 2-1 *;*************;*;; IF YOUR SYSTEM IS NOT RSTS/E AND YOU WILL BE USING RMSSEQ 8; AND MAY USE ASYNCHRONOUS I/O, THE SELECT THE FOLLOWING; FACTOR, ELSE GO TO STEP 2-2.; .;RMROOT: .FCTR LB:[1,1]RMSLIB/LB:R0EXEC-RMSIX0;); GO TO STEP 3;T ;*********** ; STEP 2-2 * ;***********;,?; IF YOUR SYSTEM IS NOT RSTS/E, OR IF RSTS/E, YOU ARE NOT USINGI,; RMSSEQ, THEN SELECT THE FOLLOWING FACTORS.;1;RMROOT: .FCTR RMSIOM-RMSCBL-RMSCOM-RMSEXE-RMSIX00C;RMSIOM: .FCTR LB:[1,1]RMSLIB/LB:R0CACH:R0RLCH:R0MAPC:R0RWBF:R0UNLK*<;RMSCBL: .FCTR LB:[1,1]RMSLIB/LB:R0RTCB:R0ACBB:R0RTDB:R0MDAT.;RMSCOM: .FCTR LB:[1,1]RMSLIB/LB:R0RMSE:R0IDPB;L; GOTO STEP 2-3 ;E ;*********** ; STEP 2-3 * ;***********;R;IE; IF YOU ARE NOT RSTS/E, AND MAY USE ASYNCHRONOUS I/O, GOTO STEP 2-4.H; ELSE, IF RSTS/E, OR IF YOU ARE USING SYNCHRONOUS I/O ONLY, THEN SELECT; THE FOLLOWING FACTORS.;CC;RMSEXE: .FCTR LB:[1,1]RMSLIB/LB:R0EXSY:R0RSES:R0WTBS:R0RMSA:R0IFLFE;R ; GOTO STEP 3:;C ;*********** ; STEP 2-4 * ;***********;WC; IF YOU WANT TO PERFORM JUST ASYNCHRONOUS I/O, OR IF YOU WANT THE DD; CAPABILITY TO PERFORM EITHER SYNCHRONOUS OR ASYNCHRONOUS I/O, THEN; SELECT THE FOLLOWING FACTORS.*;*C;RMSEXE: .FCTR LB:[1,1]RMSLIB/LB:R0EXEC:R0RSET:R0WATB:R0RMSA:R0IFLF ;, ; GOTO STEP 3M;****************************************************************************HM;****************************************************************************RM; STEP 3 ***************** DECLARE RMS-11 CO-TREE ***************** M;****************************************************************************Y; =; THE FOLLOWING IS THE STARTING FACTOR FOR THE RMS11 CO-TREE.TA; THE FACTOR NAME "RMSALL" IS REFERENCED IN YOUR TASK'S ODL FILE.:;SC; THE "RMSFIL" FACTOR DECLARES THE OVERLAY STRUCTURE FOR ALL RMS-11*; FILE OPERATIONS.;*C; THE "RMSREC" FACTOR DECLARES THE OVERLAY STRUCTURE FOR ALL RMS-11*; RECORD OPERATIONS.;* .NAME RMS11$RMSALL: .FCTR RMS11-*(RMSFIL,RMSREC); ; GOTO STEP 4CM;*****************************************************************************M;****************************************************************************C2; STEP 4 * FILE OPERATION OVERLAY STRUCTURE *7;******************************************************R;TC; IN THIS STEP, THE MODULES WHICH ARE COMMON TO ALL FILE OPERATIONSRJ; ARE DECLARED. THERE IS NO SELECTION REQUIRED ON YOUR PART. NOTE THAT THE<; CURRENT DEFINITION OF THE FILE OPERATION OVERLAY STRUCTURE2; MINIMIZES OVERLAY I/O FOR FILE OPERATIONS. THUS,9; YOU NEED ONLY SELECT THE FILE OPERATIONS DESIRED; DON'T(; BOTHER ABOUT REDUCING EVEN FURTHER THEE; NUMBER OF OVERLAY I/O OPERATIONS INVOLVED. IT IS BETTER TO OPTIMIZE B; THE RECORD OPERATION OVERLAY STRUCTURE, WHICH HAS MORE OVERLAYS,E; AS WELL AS THE OPERATIONS THAT ARE MOST FREQUENTLY USED (I.E. THEREEF; IS A BIGGER PAYOFF IN OPTIMIZING RECORD OPERATION OVERLAY STRUCTURES7; THAN THERE IS IN OPTIMIZING FILE OPERATION OVERLAYS).O;L .NAME RMSFAB RMSFIL: .FCTR RMSFAB-RMSFL3RMSFL: .FCTR LB:[1,1]RMSLIB/LB:R0CLCM-RMFILE-RMSFL0 GRMSFL0: .FCTR (RMSCR0,RMSOPN-RMSDPC-RMSCON,RMSFNM,RMSCLS-RMSDIS-RMSMIC)UBRMSOPN: .FCTR LB:[1,1]RMSLIB/LB:R0OPFL-RMSOP0-RMSEQO-RMRELO-RMIDXO4RMSDPC: .FCTR LB:[1,1]RMSLIB/LB:R0DPYC:R0CKSM-RMSFL14RMSFL1: .FCTR LB:[1,1]RMSLIB/LB:R0ALDB:R0ALBD:R0ALIOBRMSCON: .FCTR LB:[1,1]RMSLIB/LB:R0CCLN:R0ALBS-RMSCNS-RMRCNR-RMXCNXIRMSFNM: .FCTR LB:[1,1]RMSLIB/LB:R0PRFN:R0XPFN:R0MKWA:R0ASLN:R0INIT-RMSFL1IIRMSCLS: .FCTR LB:[1,1]RMSLIB/LB:R0CKSM-RMEXTD-RMR1RL-RMSEQC-RMRELC-RMIDXCR;RMSDIS: .FCTR LB:[1,1]RMSLIB/LB:R0CCLN-RMSDSS-RMRDSR-RMXDSXR;M ; GOTO STEP 5CM;****************************************************************************P!; STEP 5 * SELECT $CREATE MODULEST ;*********;B3; IN THIS STEP, YOU MUST SELECT THOSE MODULES WHICHBC; SUPPORT THE "CREATE-FILE" FUNCTION REQUIRED BY YOUR TASK, IF ANY.B;MG; IF YOU DO NOT WANT TO CREATE ANY NEW RMS FILES IN YOUR TASK (E.G. ALLRH; FILES USED BY THE TASK HAVE ALREADY BEEN CREATED), THEN GOTO STEP 5-1.%; ELSE, SELECT THE FOLLOWING FACTORS.B;,;M .NAME RMSCRER:;RMSCR0: .FCTR RMSCRE-RMCREA-RMCRIX-(RM0X11-RM0X21,RM0X31)C;RMCREA: .FCTR LB:[1,1]RMSLIB/LB:R0CRXI:R0CRFL:R0MFNB:R0RD50-RMSCR25;S ; GOTO STEP 6O;E ;*********** ; STEP 5-1 * ;***********;SA; IF YOU DO NOT WANT TO CREATE ANY NEW RMS FILES, THEN SELECT THEQ; FOLLOWING FACTOR.F;Y .NAME RMDCREU;RMSCR0: .FCTR RMDCREA;N ; GOTO STEP 6 M;**************************************************************************** D; STEP 6 * SELECT COMMON $OPEN,$CREATE, AND DIRECTORY ACCESS MODULES ;*********;RB; IN THIS STEP, YOU MUST SELECT THOSE MODULES WHICH WILL BE NEEDED"; FOR ALL GENERAL FILE OPERATIONS.;:; IF RSTS/E, GOTO STEP 6-1.EA; ELSE, SELECT THE FOLLOWING FACTORS FOR THE RSX/IAS ENVIRONMENT ; ';RMFILE: .FCTR LB:[1,1]RMSLIB/LB:R0RXACL5;RMSOP0: .FCTR LB:[1,1]RMSLIB/LB:R0RXDI:R0MFNB:R0RD50S5;RMSCR2: .FCTR LB:[1,1]RMSLIB/LB:R0RXCR:R0RXMD:R0RXDI*.;RMSER1: .FCTR LB:[1,1]RMSLIB/LB:R0RXMD-RMSOP0;* ; GOTO STEP 7T;6 ;*********** ; STEP 6-1 * ;***********; 7; IF RSTS/E, THEN SELECT ALL OF THE FOLLOWING FACTORS.S;C';RMFILE: .FCTR LB:[1,1]RMSLIB/LB:R0REOPO.;RMSOP0: .FCTR LB:[1,1]RMSLIB/LB:R0MFNB:R0RD50';RMSCR2: .FCTR LB:[1,1]RMSLIB/LB:R0RECRL;RMSER1: .FCTR RMSOP0S;A ; GOTO STEP 7M;****************************************************************************R1; STEP 7 * SELECT IMPLICIT FILE EXTENSION MODULES/ ;*********;D8; IN THIS STEP, YOU MUST SELECT THOSE MODULES WHICH WILL.; IMPLICITLY EXTEND YOUR FILES, WHEN REQUIRED.;>; IF YOU ARE USING THE RMSSEQ RESIDENT LIBRARY, GOTO STEP 7-1.+; ELSE, SELECT THE FOLLOWING THREE FACTORS./;R';RMEXTD: .FCTR LB:[1,1]RMSLIB/LB:R0EXTDR.;RMR1RL: .FCTR LB:[1,1]RMSLIB/LB:R1RLBK:R1NXBK';RMR1WL: .FCTR LB:[1,1]RMSLIB/LB:R1WTLSO;EC; NOTE: THE ABOVE THREE FACTORS ARE REFERENCED BY SEVERAL DIFFERENT*C; FACTORS THROUGHOUT THIS PROTOTYPE ODL. IF YOU CONCATENATE FACTORS*C; FOR OPTIMIZATION PURPOSES, AND END UP WITH TASK-BUILDER DUPLICATEL?; DEFINITION TYPE ERRORS, THEN ONE OF THESE FACTORS IS INVOLVEDED; IF ONE OF THE FOLLOWING ENTRY-POINTS IS NAMED BY THE TASK-BUILDER.;L; FACTOR MODULE ENTRY-POINTE; ------ ------ -----------E;R; RMEXTD R0EXTD $EXTDR; RMR1RL R1RLBK $RLBK1"; R1NXBK $NXBK1, $GTBK1, $MPBK1; RMR1WL R1WTLS $WTLST;E ; GOTO STEP 8E;E ;*********** ; STEP 7-1 * ;***********;O.; IF YOU ARE USING THE RMSSEQ RESIDENT LIBRARY*; THEN SELECT THE FOLLOWING THREE FACTORS.;H .NAME RMDEXTU .NAME RMDRLBI .NAME RMDWTLO;RMEXTD: .FCTR RMDEXTT;RMR1RL: .FCTR RMDRLBO;RMR1WL: .FCTR RMDWTLR;O ; GOTO STEP 8YM;****************************************************************************-1; STEP 8 * SELECT EXPLICIT $EXTEND,$ERASE MODULESL ;*********; C; IN THIS STEP, YOU MUST SELECT THOSE MODULES WHICH WILL EXPLICITLYS4; EXTEND YOUR FILES, OR EXPLICITLY ERASE YOUR FILES.;C; IF YOU WANT TO USE THE $EXTEND AND/OR $ERASE FUNCTIONS, THEN GOTOLC; STEP 8-1. ELSE, IF YOU DO NOT WANT ANY OF THESE FUNCTIONS, SELECTT; THE FOLLOWING FACTOR.X; .NAME RMDMICR;RMSMIC: .FCTR RMDMICR;T ; GOTO STEP 9S; ;*********** ; STEP 8-1 * ;***********;*I; IF YOU WANT EITHER THE $EXTEND AND/OR THE $ERASE FUNCTIONS, THEN SELECTR; THE FOLLOWING FACTOR.;;RMSMIC: .FCTR RMSERA-RMSEXT;H; GOTO STEP 8-2 ;*********** ; STEP 8-2 * ;***********;L; $ERASEH; IF YOU WANT THE ERASE FILE FUNCTION, THEN SELECT THE FOLLOWING FACTOR,; ELSE GOTO STEP 8-3.8; .;RMSERA: .FCTR LB:[1,1]RMSLIB/LB:R0ERFL-RMSER1;L; GOTO STEP 8-4W ;*********** ; STEP 8-3 * ;***********;CG; IF YOU DO NOT WANT THE ERASE FILE FUNCTION, THEN SELECT THE FOLLOWING* ; FACTOR.F;U .NAME RMDERAE;RMSERA: .FCTR RMDERAA;F; GOTO STEP 8-4L ;*********** ; STEP 8-4 * ;***********;. ; $EXTEND-J; IF YOU WANT THE EXPLICIT EXTEND FILE FUNCTION, THEN SELECT THE FOLLOWING; FACTOR, ELSE GOTO STEP 8-5.S;I5;RMSEXT: .FCTR LB:[1,1]RMSLIB/LB:R0EXT0:R2BFMT-RMSFL1G; ; GOTO STEP 9 ;*********** ; STEP 8-5 * ;***********;1G; IF YOU DO NOT WANT THE EXPLICIT EXTEND FILE FUNCTION, THEN SELECT THEF; FOLLOWING FACTOR.E;E .NAME RMDDXT ;RMSEXT: .FCTR RMDDXTN; ; GOTO STEP 9M;****************************************************************************T3; STEP 9 * SELECT SEQUENTIAL FILE OPERATION MODULES ;*********;T>; IN THIS STEP, YOU MUST SELECT THE "SEQUENTIAL" ORGANIZATION ;; FILE OPERATIONS WHICH CORRESPOND TO THE FEATURES YOU HAVEF; SELECTED IN PREVIOUS STEPS.;*G; IF NO SEQUENTIAL FILE CREATION IS REQUIRED, THEN SELECT THE FOLLOWINGI; FACTOR, ELSE GOTO STEP 9-1.L; .NAME RMDCRSN;RM0X11: .FCTR RMDCRSR;X; GOTO STEP 9-2R ;*********** ; STEP 9-1 * ;***********;*D; IF SEQUENTIAL FILE CREATION IS REQUIRED, THEN SELECT THE FOLLOWING ; FACTOR. ;U.;RM0X11: .FCTR LB:[1,1]RMSLIB/LB:R1CRFL:R1CRCK;N; GOTO STEP 9-3U ;*********** ; STEP 9-2 * ;***********;IG; IF YOU ARE NOT USING ANY SEQUENTIAL FILE FILE OPERATIONS, THEN SELECTR,; THE FOLLOWING FACTORS, ELSE GOTO STEP 9-3.;I .NAME RMDSQO .NAME RMDSQC .NAME RMDCNSA .NAME RMDDSS ;RMSEQO: .FCTR RMDSQOR;RMSEQC: .FCTR RMDSQCR;RMSCNS: .FCTR RMDCNS ;RMSDSS: .FCTR RMDDSST;9; GOTO STEP 10 ;*********** ; STEP 9-3 * ;***********;IC; IF YOU ARE USING SEQUENTIAL FILE FILE OPERATIONS, THEN SELECT THE1; FOLLOWING FACTORS.;';RMSEQO: .FCTR LB:[1,1]RMSLIB/LB:R1OPFLP';RMSEQC: .FCTR LB:[1,1]RMSLIB/LB:R1CLOST';RMSCNS: .FCTR LB:[1,1]RMSLIB/LB:R1CONPS.;RMSDSS: .FCTR LB:[1,1]RMSLIB/LB:R1DISC-RMR1WL;S; GOTO STEP 10M;****************************************************************************D2; STEP 10 * SELECT RELATIVE FILE OPERATION MODULES ;**********C;R<; IN THIS STEP, YOU MUST SELECT THE "RELATIVE" ORGANIZATION ;; FILE OPERATIONS WHICH CORRESPOND TO THE FEATURES YOU HAVES; SELECTED IN PREVIOUS STEPS. ;TF; IF RELATIVE FILE CREATION IS NOT REQUIRED, THEN SELECT THE FOLLOWING; FACTOR, ELSE GOTO STEP 10-1.;R .NAME RMDCRR/;RM0X21: .FCTR RMDCRRC;L; GOTO STEP 10-2 ;************S ; STEP 10-1 *0 ;*************;*J; IF RELATIVE FILE CREATION IS REQUIRED, THEN SELECT THE FOLLOWING FACTOR.;TJ;RM0X21: .FCTR LB:[1,1]RMSLIB/LB:R2CRFL:R2CRCK:R2WPLG:R2BFMT:R0CKSM-RMSFL1;L; GOTO STEP 10-3 ;************ ; STEP 10-2 *N ;************O;TE; IF YOU ARE NOT USING ANY RELATIVE FILE FILE OPERATIONS, THEN SELECTT-; THE FOLLOWING FACTORS, ELSE GOTO STEP 10-3.T;F .NAME RMDRLOT .NAME RMDRLCT .NAME RMDCNR. .NAME RMDDSRR;RMRELO: .FCTR RMDRLOL;RMRELC: .FCTR RMDRLC*;RMRCNR: .FCTR RMDCNR ;RMRDSR: .FCTR RMDDSR;F; GOTO STEP 11 ;************I ; STEP 10-3 *T ;************F;OA; IF YOU ARE USING RELATIVE FILE FILE OPERATIONS, THEN SELECT THET; FOLLOWING FACTORS.;O';RMRELO: .FCTR LB:[1,1]RMSLIB/LB:R2OPFLN';RMRELC: .FCTR LB:[1,1]RMSLIB/LB:R2CLOSI';RMRCNR: .FCTR LB:[1,1]RMSLIB/LB:R2CONPN';RMRDSR: .FCTR LB:[1,1]RMSLIB/LB:R2DISCO;S; GOTO STEP 11M;****************************************************************************R/; STEP 11 * SELECT INDEX FILE OPERATION MODULESD ;**********:;C;; IN THIS STEP, YOU MUST SELECT THE "INDEXED" ORGANIZATION T;; FILE OPERATIONS WHICH CORRESPOND TO THE FEATURES YOU HAVEP; SELECTED IN PREVIOUS STEPS.O;W .NAME RMDCLSO .NAME RMDCRXR .NAME RMDIDX/ .NAME RMDOPNR .NAME RMDCNX1 .NAME RMDDSXC .NAME RMDCXX.;RK; IF INDEX FILE CREATION IS NOT REQUIRED, THEN SELECT THE FOLLOWING FACTOR,O; ELSE GOTO STEP 11-1.;*;RM0X31: .FCTR RMDCRX*;RMCRIX: .FCTR RMDCXX*;*; GOTO STEP 11-2 ;************D ; STEP 11-1 *O ;*************;*?; IF INDEX FILE CREATION IS REQUIRED, THEN SELECT THE FOLLOWINGI ; FACTORS.;E';RMCRIX: .FCTR LB:[1,1]RMSLIB/LB:R3CRFLY;RM0X31: .FCTR (RM0X32,RM0X33)';RM0X32: .FCTR LB:[1,1]RMSLIB/LB:R3CRCKR<;RM0X33: .FCTR LB:[1,1]RMSLIB/LB:R3WPLG:R0CKSM:R0ALBD-RMEXTD;C; GOTO STEP 11-3 ;************F ; STEP 11-2 * ;************H;SG; IF YOU ARE NOT USING ANY INDEX FILE-FILE OPERATIONS, THEN SELECT THE R); FOLLOWING FACTORS, ELSE GOTO STEP 11-3.S; ;RMIDXC: .FCTR RMDCLS ;RMSIX0: .FCTR RMDIDX*;RMIDXO: .FCTR RMDOPNL;RMXCNX: .FCTR RMDCNX ;RMXDSX: .FCTR RMDDSXN;; GOTO STEP 12 ;************L;* STEP 11-3 * ;************3;.@; IF YOU ARE USING INDEX FILE-FILE OPERATIONS AND, ADDITIONALLY,?; THE LIMITED FUNCTION LIBRARY RMSSEQ, SELECT THE THE FOLLOWING ; FACTOR, ELSE GO TO STEP 11-4. ;P;RMSIX0: .FCTR RMDIDXH;S; GO TO STEP 11-5U ;***********;* STEP 11-4 *;*************;T;R9; IF YOU ARE USING INDEX FILE FILE-OPERATIONS BUT ARE NOT.,; USING RMSSEQ, SELECT THE FOLLOWING FACTOR:;C.;RMSIX0: .FCTR LB:[1,1]RMSLIB/LB:R0RLSB:R0GETB;R; GOTO STEP 11-5;E ;***********;* STEP 11-5 *;*************;*;2; IF YOU ARE USING INDEX FILE-FILE OPERATIONS THEN; SELECT THE FOLLOWING FACTORS.U;I';RMIDXC: .FCTR LB:[1,1]RMSLIB/LB:R3CLOSN.;RMIDXO: .FCTR LB:[1,1]RMSLIB/LB:R3OPFL:R3RPLG';RMXCNX: .FCTR LB:[1,1]RMSLIB/LB:R3CONP';RMXDSX: .FCTR LB:[1,1]RMSLIB/LB:R3DISC*;; GOTO STEP 12M;****************************************************************************FM;****************************************************************************14; STEP 12 * RECORD OPERATION OVERLAY STRUCTURE *8;*******************************************************; A; THE PURPOSE OF THIS STEP IS TO DEFINE THE OVERLAY STRUCTURE FORBF; RECORD OPERATIONS ON ALL FILE ORGANIZATIONS. SINCE RECORD OPERATIONSB; TEND TO BE USED MUCH MORE THAN FILE OPERATIONS, ANY EFFORT SPENTG; IN MINIMIZING OVERLAYS IN THIS AREA WILL HAVE SUBSTANTIAL PERFORMANCE* ; PAYOFFS.;*9; RMSSQ0 ---- SEQUENTIAL FILE RECORD OPERATIONS (STEP 13)*7; RM0X26 ---- RELATIVE FILE RECORD OPERATIONS (STEP 14)D6; RM0X36 ---- INDEXED FILE RECORD OPERATIONS (STEP 15)!; RMSBLK ---- BLOCK I/O (STEP 16)*D; RMMISC ---- MISC. RECORD OPERATIONS $REWIND,$FREE,$FLUSH,$TRUNCATE#; $FLUSH, AND $TRUNCATE (STEP 17)R;I .NAME RMSRABR9RMSREC: .FCTR RMSRAB-(RMSSQ0,RM0X26,RM0X36,RMSBLK,RMMISC)R;O; GOTO STEP 13M;****************************************************************************1; STEP 13 * RMS SEQUENTIAL FILE RECORD OPERATIONSD ;**********S; C; IN THIS STEP, YOU MUST SELECT THE RECORD OPERATIONS, IF ANY, THATXA; YOU WILL UTILIZE ON THE SEQUENTIAL FILES ACCESSED BY YOUR TASK.C;/7; IF YOU ARE NOT USING SEQUENTIAL FILES, GOTO STEP 13-8NG; ELSE, IF YOU ARE USING THE RMSSEQ RESIDENT LIBRARY, GO TO STEP 13-7.E4; ELSE, SELECT THE APPROPRIATE MODULES IN THIS STEP.;L ; SEQ: ROOTO; G; THE FOLLOWING SET OF FACTORS MUST BE SELECTED IF YOU WANT SEQUENTIAL *4; FILE RECORD OPERATIONS. THEY MAKE UP THE "ROOT" OF=; THE SEQUENTIAL FILE RECORD OPERATION OVERLAY STRUCTURE. ANYLE; OPTIMIZATION OF THIS OVERLAY STRUCTURE MUST ENSURE THAT THIS "ROOT"U?; IS ALWAYS IN MEMORY WHEN ANY SEQUENTIAL FILE RECORD OPERATIONS; IS PERFORMED.G; .NAME RMSSEQL*;RMSSQ0: .FCTR RMSSEQ-RMR1RL-RMEXTD-RMSQOP<;RMSQOP: .FCTR LB:[1,1]RMSLIB/LB:R1WTLS:R1CKEF:R1DELE-RMSQOR%;RMSQOR: .FCTR (RMIN10,RMOU1P,RMOU1U);HB; RMIN10 ---- $GET/$FIND OPERATIONS FOR SEQUENTIAL FILE(STEP 13-1)?; RMOU1P ---- $PUT OPERATION FOR THE SEQUENTIAL FILE(STEP 13-3)UJ; RMOU1U ---- $UPDATE/$DELETE OPERATION FOR THE SEQUENTIAL FILE(STEP 13-5);EC; NOTE: IF YOU WANT TO ELIMINATE ALL OVERLAYS WITHIN THE SEQUENTIALHH; FILE RECORD OPERATIONS, THEN CONCATENATE THE ABOVE FACTORS AS FOLLOWS-; FROM: (RMIN10,RMOU1P,RMOU1U); TO: -RMIN10-RMOU1P-RMOU1UC;L; GOTO STEP 13-1 ;************D ; STEP 13-1 *S ;************N;R; SEQ: $GET, $FIND;MH; IF YOU WANT TO READ, OR UPDATE, SEQUENTIAL FILES, YOU MUST SELECT THE (; FOLLOWING FACTOR, ELSE GOTO STEP 13-2.;E4;RMIN10: .FCTR LB:[1,1]RMSLIB/LB:R1GET:R1GSET:R1GBLD; ; GOTO STEP 13-3 ;*********** ;STEP 13-2 * ;***********;EK; IF YOU DO NOT WANT TO READ, OR UPDATE, A SEQUENTIAL FILE, THEN SELECT THEA; FOLLOWING FACTOR.A;O .NAME RMDS10 ;RMIN10: .FCTR RMDS10;O; GOTO STEP 13-3 ;*********** ;STEP 13-3 * ;***********; ; SEQ: $PUTS;*E; IF YOU WANT TO WRITE TO SEQUENTIAL FILES, THEN SELECT THE FOLLOWINGA; FACTOR, ELSE GOTO STEP 13-4.;C;;RMOU1P: .FCTR LB:[1,1]RMSLIB/LB:R1PUT:R1PSET:R1PUNR:R1PBLD:;C; GOTO STEP 13-5 ;*********** ;STEP 13-4 * ;***********;C; IF YOU DO NOT WANT TO WRITE TO SEQUENTIAL FILES, THEN SELECT THE ; FOLLOWING FACTOR.Q;T .NAME RMDS1PS;RMOU1P: .FCTR RMDS1P ;T; GOTO STEP 13-5 ;*********** ;STEP 13-5 * ;***********;E; SEQ: $UPDATE;*:; IF YOU WISH TO UPDATE RECORDS IN A SEQUENTIAL FILE, THEN3; SELECT THE FOLLOWING FACTOR, ELSE GOTO STEP 13-6.O;W5;RMOU1U: .FCTR LB:[1,1]RMSLIB/LB:R1UPDA:R1UBLD:R1PSETR;:H; NOTE: IF RMOU1U IS CONCATENATED WITH RMOU1P IN FACTOR RMSQOR (STEP 13)E; THEN REMOVE THE ":R1PSET" NAME FROM THE ABOVE RMOU1U FACTOR, ELSES/; THE SYMBOL "$PSET1" WILL BE MULTIPLY DEFINED.A;R; GOTO STEP 14 ;*********** ;STEP 13-6 * ;***********;E<; IF YOU DO NOT WANT TO UPDATE RECORDS IN A SEQUENTIAL FILE,#; THEN SELECT THE FOLLOWING FACTOR.E;D .NAME RMDS1UA;RMOU1U: .FCTR RMDS1UT;F; GOTO STEP 14 ;************ ; STEP 13-7 *O ;************1;R2; IF YOU ARE USING THE RMSSEQ RESIDENT LIBRARY ANDC; IF YOU WANT THE UPDATE RECORD FUNCTION, THEN SELECT THE FOLLOWINGV; FACTOR, ELSE GOTO STEP 13-8.;V<;RMSSQ0: .FCTR RMSSEQ-LB:[1,1]RMSLIB/LB:R1UPDA:R1UBLD:R1DELE;F; GOTO STEP 14 ;************* ; STEP 13-8 * ;*************;*A; IF YOU DO NOT WANT ANY SEQUENTIAL FILE RECORD OPERATIONS, OR IFB; USING THE RMSSEQ RESIDENT LIBRARY AND YOU DO NOT WANT THE UPDATE=; RECORD FUNCTION, THEN YOU MUST SELECT THE FOLLOWING FACTOR.O;* .NAME RMDDSQR;RMSSQ0: .FCTR RMDDSQE;S; GOTO STEP 14M;****************************************************************************0; STEP 14 * RMS RELATIVE FILE RECORD OPERATIONS ;**********,;MC; IN THIS STEP, YOU MUST SELECT THE RECORD OPERATIONS, IF ANY, THATT?; YOU WILL UTILIZE ON THE RELATIVE FILES ACCESSED BY YOUR TASK.A;I6; IF YOU ARE NOT USING RELATIVE FILES, GOTO STEP 14-9,4; ELSE, SELECT THE APPROPRIATE FACTORS IN THIS STEP.;O; REL: ROOT, $FIND; I; THE FOLLOWING SET OF FACTORS MUST BE SELECTED IF YOU WANT RELATIVE FILEO/; RECORD OPERATIONS. THEY MAKE UP THE "ROOT" OF*;; THE RELATIVE FILE RECORD OPERATION OVERLAY STRUCTURE. ANYLE; OPTIMIZATION OF THIS OVERLAY STRUCTURE MUST ENSURE THAT THIS "ROOT"T=; IS ALWAYS IN MEMORY WHEN ANY RELATIVE FILE RECORD OPERATIONE; IS PERFORMED.F;S;C .NAME RMSRELA#;RM0X26: .FCTR RMSREL-RMIO2C-RMIO2AT5;RMIO2C: .FCTR LB:[1,1]RMSLIB/LB:R2IOCK:R2CALC:R0CKSMA>;RMIO2A: .FCTR LB:[1,1]RMSLIB/LB:R2FIND:R2GSET-(RMIO2G,RMIO2P);N?; NOTE: TO COMBINE ALL RELATIVE FILE RECORD OPERATIONS INTO ONEE4; OVERLAY, CHANGE THE ABOVE FACTOR AS FOLLOWS:; FROM: -(RMIO2G,RMIO2P); TO: -RMIO2G-RMIO2P;L; GOTO STEP 14-1 ;************S ; STEP 14-1 *N ;************";T5; REL: $GET-$UPDATE-$DELETE COMBINED INTO ONE OVERLAY D; IF YOU WANT TO READ, UPDATE, OR DELETE RECORDS IN A RELATIVE FILE,3; SELECT THE FOLLOWING FACTOR, ELSE GOTO STEP 14-2.B;I4;RMIO2G: .FCTR LB:[1,1]RMSLIB/LB:R2GET-RMIO2U-RMIO2D;N; GOTO STEP 14-3 ;************O ; STEP 14-2 *A ;************E;CK; IF YOU DO NOT WANT TO READ, UPDATE, OR DELETE RECORDS IN A RELATIVE FILE,:#; THEN SELECT THE FOLLOWING FACTOR.I;- .NAME RMDR2GO;RMIO2G: .FCTR RMDR2G*;S; GOTO STEP 14-3 ;************ ; STEP 14-3 *- ;************ ;B ; REL: $PUT D; IF YOU WANT TO WRITE RECORDS INTO A RELATIVE FILE, THEN SELECT THE(; FOLLOWING FACTOR, ELSE GOTO STEP 14-4.; B;RMIO2P: .FCTR LB:[1,1]RMSLIB/LB:R2PUT:R2PSET:R2BFMT:R2EXTD-RMEXTD;O; GOTO STEP 14-5 ;************* ; STEP 14-4 *1 ;*************;*G; IF YOU DO NOT WANT TO WRITE RECORDS INTO A RELATIVE FILE, THEN SELECTT; THE FOLLOWING FACTOR. ; .NAME RMDR2PR;RMIO2P: .FCTR RMDR2P;I; GOTO STEP 14-5 ;************E ; STEP 14-5 ** ;************1; ; REL: $UPDATEC; IF YOU WANT TO UPDATE RECORDS IN A RELATIVE FILE, THEN SELECT THEF(; FOLLOWING FACTOR, ELSE GOTO STEP 14-6.;E.;RMIO2U: .FCTR LB:[1,1]RMSLIB/LB:R2UPDA:R2PSET;/=; IF $PUT AND $UPDATE ARE CONCATENATED INTO ONE OVERLAY, THEN*D; DELETE THE ":R2PSET" NAME FROM THE FACTOR ABOVE, ELSE THE SYMBOL$; "$PSET2" WILL BE MULTIPLY DEFINED.;N; GOTO STEP 14-7 ;************ ; STEP 14-6 *D ;************.;RF; IF YOU DO NOT WANT TO UPDATE RECORDS IN A RELATIVE FILE, THEN SELECT; THE FOLLOWING FACTOR.E; .NAME RMDR2UU;RMIO2U: .FCTR RMDR2UT; ; GOTO STEP 14-7 ;************N ; STEP 14-7 *G ;************;; REL: $DELETEF; IF YOU WANT TO DELETE RECORDS FROM A RELATIVE FILE, THEN SELECT THE (; FOLLOWING FACTOR, ELSE GOTO STEP 14-8.;2';RMIO2D: .FCTR LB:[1,1]RMSLIB/LB:R2DELEH;Y; GOTO STEP 15 ;************L ; STEP 14-8 * ;************7;*I; IF YOU DO NOT WANT TO DELETE RECORDS FROM A RELATIVE FILE, THEN SELECT P; THE FOLLOWING FACTOR.E;L .NAME RMDR2D;RMIO2D: .FCTR RMDR2DE; ; GOTO STEP 15 ;************R ; STEP 14-9 * ;************;*B; IF YOU DO NOT WANT ANY RELATIVE FILE RECORD OPERATIONS, THEN YOU#; MUST SELECT THE FOLLOWING FACTOR.L;V .NAME RMDDRLL;RM0X26: .FCTR RMDDRLA;R; GOTO STEP 15M;*****************************************************************************/; STEP 15 * RMS INDEXED FILE RECORD OPERATIONSF ;**********A;TC; IN THIS STEP, YOU MUST SELECT THE RECORD OPERATIONS, IF ANY, THAT >; YOU WILL UTILIZE ON THE INDEXED FILES ACCESSED BY YOUR TASK.;E;; IF YOU DO NOT WANT INDEXED FILE SUPPORT, GOTO STEP 15-10,F4; ELSE, SELECT THE APPROPRIATE FACTORS IN THIS STEP.;N;U ; IDX: ROOTC;HH; THE FOLLOWING SET OF FACTORS MUST BE SELECTED IF YOU WANT INDEXED FILE7; RECORD OPERATIONS. AS SUCH THEY MAKE UP THE "ROOT" OF*:; THE INDEXED FILE RECORD OPERATION OVERLAY STRUCTURE. ANYE; OPTIMIZATION OF THIS OVERLAY STRUCTURE MUST ENSURE THAT THIS "ROOT"CC; WILL ALWAYS BE PRESENT WHENEVER ANY INDEXED FILE RECORD OPERATIONE; IS PERFORMED.D; .NAME RMSIDX1;RM0X36: .FCTR RMSIDX-RMOU3C-RMOU3D-RMOU3E-RMIO31PC;RMOU3C: .FCTR LB:[1,1]RMSLIB/LB:R3FROO:R3GKEY:R3FPAT:R3MISC:R3WBKTU<;RMOU3D: .FCTR LB:[1,1]RMSLIB/LB:R3FRFA:R3FNDR:R3NBKT:R3KREFC;RMOU3E: .FCTR LB:[1,1]RMSLIB/LB:R3SDBK:R3SKRE:R0CMKY:R0CKSM:R0GPTRE; ; GOTO STEP 15-1 ;*********** ;STEP 15-1 * ;***********;U@; IDX: $GET-$FIND,$UPDATE-$DELETE,$PUT OVERLAYED WITH EACH OTHERE; IF YOU WANT TO READ, WRITE, DELETE, OR UPDATE RECORDS IN AN INDEXEDC@; FILE, YOU MUST SELECT THE FOLLOWING FACTOR WHICH DESCRIBES THE2; INDEXED FILE RECORD OPERATION OVERLAY STRUCTURE.;L%;RMIO31: .FCTR (RMIO3G,RMIO3U,RMIO3P)3;CG; NOTE: IF YOU WANT TO INCLUDE THE GET/FIND OPERATIONS IN THE "ROOT" OFR>; THE INDEX FILE RECORD OPERATION OVERLAY STRUCTURE, AND THUS 8; OPTIMIZE GET-UPDATE PROGRAMMING SEQUENCES, THEN CHANGE; THE ABOVE FACTOR AS FOLLOWS:; FROM: (RMIO3G,RMIO3U,RMIO3P); TO: RMIO3G-(RMIO3U,RMIO3P);R; GOTO STEP 15-2 ;*********** ;STEP 15-2 * ;***********;O; IDX: $GET,$FINDOF; IF YOU WANT TO READ, UPDATE, OR DELETE RECORDS FROM AN INDEXED FILE,9; THEN SELECT THE FOLLOWING FACTORS, ELSE GOTO STEP 15-3.;;;RMIO3G: .FCTR LB:[1,1]RMSLIB/LB:R3GET:R3FIND-RMIN3S-RMIN3K C;RMIN3K: .FCTR LB:[1,1]RMSLIB/LB:R3GSET:R3GTRE:R3GRPT:R3FRRF:R3FRKET<;RMIN3S: .FCTR LB:[1,1]RMSLIB/LB:R3FRSE:R3POSE:R3POSR:R3FRRV; ; GOTO STEP 15-4 ;*********** ;STEP 15-3 * ;***********; G; IF YOU DO NOT WANT TO READ, UPDATE, OR DELETE RECORDS FROM AN INDEXED2); FILE, THEN SELECT THE FOLLOWING FACTOR. ;Y .NAME RMDX3G,;RMIO3G: .FCTR RMDX3GR;F; GOTO STEP 15-4 ;*********** ;STEP 15-4 * ;***********; ; IDX: $UPDATE, $DELETEI?; IF YOU WANT TO UPDATE, OR DELETE, RECORDS IN AN INDEXED FILE,:9; THEN SELECT THE FOLLOWING FACTORS, ELSE GOTO STEP 15-5.T;RE;RMIO3U: .FCTR LB:[1,1]RMSLIB/LB:R3UPDA:R3USET:R3RPLC-(RMOU3Q,RMIO3D)S<;RMIO3D: .FCTR LB:[1,1]RMSLIB/LB:R3DELE:R3DSET:R3SKDL-RMOU33;D; GOTO STEP 15-6 ;*********** ;STEP 15-5 * ;***********;F; IF YOU DO NOT WANT TO UPDATE, OR DELETE, RECORDS IN AN INDEXED FILE,#; THEN SELECT THE FOLLOWING FACTOR.;* .NAME RMDX3U ;RMIO3U: .FCTR RMDX3U ; ; GOTO STEP 15-6 ;*********** ;STEP 15-6 * ;***********;O ; IDX: $PUTEH; IF YOU WANT TO WRITE NEW RECORDS INTO AN INDEXED FILE, THEN SELECT THE(; FOLLOWING FACTOR, ELSE GOTO STEP 15-7.;S=;RMIO3P: .FCTR LB:[1,1]RMSLIB/LB:R3PUT:R3PSET-(RMOU3Q,RMOU33)D;:; GOTO STEP 15-8 ;*********** ;STEP 15-7 * ;***********; D; IF YOU DO NOT WANT TO WRITE NEW RECORDS INTO AN INDEXED FILE, THEN; SELECT THE FOLLOWING FACTOR.;S .NAME RMDX3PW;RMIO3P: .FCTR RMDX3PE;D; GOTO STEP 15-8 ;************ ; STEP 15-8 *6 ;************;ED; IF YOU SELECTED THE WRITE (STEP 15-6), UPDATE & DELETE (STEP 15-4)7; FUNCTIONS, THEN YOU MUST SELECT THE FOLLOWING FACTOR, ; ELSE GOTO STEP 16.;-5;RMOU33: .FCTR LB:[1,1]RMSLIB/LB:R3PIXC:R3FRRV:R3DLSIR;3C; IF THE READ/FIND FUNCTIONS (STEP 15-2) WERE CONCATENATED INTO THE*=; INDEX FILE ROOT MODULES AS DESCRIBED IN STEP 15-1, THEN THEEG; ":R3FRRV" NAME MUST BE REMOVED FROM THE ABOVE FACTOR, ELSE THE SYMBOL3#; "$FRRV" WILL BE MULTIPLY DEFINED.8;*; GOTO STEP 15-9 ;*********** ;STEP 15-9 * ;***********;C+; IDX: GENERAL PUT/UPDATE OVERLAY STRUCTURETC; IF YOU SELECTED THE WRITE (STEP 15-6), AND/OR UPDATE (STEP 15-4), ?; FUNCTIONS, THEN YOU MUST SELECT ALL OF THE FOLLOWING FACTORS,3; ELSE GOTO STEP 16.;EB; IF ANY OF THE FOLLOWING FACTORS ARE CONCATENATED FOR PERFORMANCEC; PURPOSES, THEN YOU SHOULD BE AWARE THAT THERE ARE SEVERAL MODULES D; WHICH ARE REFERENCED MANY TIMES IN THE FOLLOWING FACTORS. IN ORDER@; TO TASK-BUILD SUCCESSFULLY, YOU MUST ENSURE THAT THERE ARE NO G; DUPLICATE DEFINITIONS. THE FOLLOWING TABLE CAN BE USED AS A GUIDELINER/; AS TO WHERE DUPLICATE DEFINITIONS WILL OCCUR.O;P ; MODULE FACTOR ENTRY-POINT(S) ; ------ ------ --------------;I; R3BSRT RMOU3F $BSRT ; RMOU3H $BSRTA; RMOU3A RMOU34 \%; RMOU35 - $ALOC, $BFMT, $EXTD ; RMOU36 /; RMOU3P /T; ,;RMOU3Q: .FCTR (RMOU34,RMOU35,RMOU36,RMOU3P);D=; IDX: INSERT USER-DATA RECORD INTO PRIMARY INDEX DATA BUCKET ;C>;RMOU34: .FCTR LB:[1,1]RMSLIB/LB:R3IUDR-(RMOU3F,RMOU3G,RMOU3A)5;RMOU3F: .FCTR LB:[1,1]RMSLIB/LB:R3IUDI:R3BSRT:R3IUDC5;RMOU3G: .FCTR LB:[1,1]RMSLIB/LB:R3BSPL:R3BRRV:R3URRV ;U=; IDX: INSERT RECORD POINTER INTO DATA LEVEL OF ALTERNATE KEYI; 7;RMOU35: .FCTR LB:[1,1]RMSLIB/LB:R3ISID-(RMOU3H,RMOU3A)U5;RMOU3H: .FCTR LB:[1,1]RMSLIB/LB:R3ISDI:R3BSRT:R3SSPLM;6D; IDX: UPDATE ANY INDEX BUCKET WITH POINTER TO OLD AND SPLIT BUCKETS;)>;RMOU36: .FCTR LB:[1,1]RMSLIB/LB:R3UIDX:R3IKEY-(RMOU3M,RMOU3A)5;RMOU3M: .FCTR LB:[1,1]RMSLIB/LB:R3IKYI:R3KSPL:R3ROOT3;M%; IDX: CREATE NEW INDEX WHEN REQUIREDS;/.;RMOU3P: .FCTR LB:[1,1]RMSLIB/LB:R3MKID-RMOU3A;S&; IDX: ALLOCATE AND FORMAT NEW BUCKETS;S5;RMOU3A: .FCTR LB:[1,1]RMSLIB/LB:R3ALOC:R3BFMT-RMEXTD ;R; GOTO STEP 161;*************; STEP 15-10 *;*************;RK; IF YOU DO NOT WANT ANY INDEX FILE RECORD OPERATIONS, THEN YOU MUST SELECTW; THE FOLLOWING FACTOR.L;B .NAME RMDDIXO;RM0X36: .FCTR RMDDIXI;B; GOTO STEP 16M;****************************************************************************D; STEP 16 * BLOCK I/ON ;**********/;R; BLOCK I/O: $READ,$WRITE/;RC; IF YOU WANT THE BLOCK I/O (READ/WRITE) OPERATIONS, THEN YOU MUST :3; SELECT THE FOLLOWING FACTOR, ELSE GOTO STEP 16-1. ;T';RMSBLK: .FCTR LB:[1,1]RMSLIB/LB:R0RWBI*;*; GOTO STEP 17 ;************O ; STEP 16-1 *X ;************E;IB; IF YOU DO NOT WANT THE BLOCK I/O FUNCTIONS, THEN YOU MUST SELECT; THE FOLLOWING FACTOR.I; .NAME RMDBLK ;RMSBLK: .FCTR RMDBLK*;*; GOTO STEP 17M;****************************************************************************R0; STEP 17 * MISC: $FLUSH,$FREE,$TRUNCATE,$REWIND ;**********R;/A; IF YOU WANT ANY OF THESE MISCELLANEOUS FUNCTIONS, THEN YOU MUSTE4; SELECT THE FOLLOWING FACTORS, ELSE GOTO STEP 17-1.;BC;RMMISC: .FCTR LB:[1,1]RMSLIB/LB:R0FREE:R1TRUN:R0RWIN:R2CALC-RMWATR*C;RMWATR: .FCTR LB:[1,1]RMSLIB/LB:R0WATR:R0MAGT-RMR1WL-RMR1RL-RMEXTDS;E; GOTO STEP 18 ;************ ; STEP 17-1 *L ;************C;RC; IF YOU DO NOT WANT ANY OF THESE MISCELLANEOUS FUNCTIONS, THEN YOU*#; MUST SELECT THE FOLLOWING FACTOR.;T .NAME RMDDMCF;RMMISC: .FCTR RMDDMCE;D; GOTO STEP 18M;****************************************************************************T; STEP 18 * THE ENDS ;**********T;1;; HAVE YOU DELETED ALL THE SEMICOLONS (;) THAT APPLY TO THEI; FACTORS YOU HAVE SELECTED ?RM;************************************************************************************** ; STEP 17-1 *L ;************C;RC; IF YOU D;+; RMS11S.ODL ; RSX/IAS: NON-INDEXED RMS;;--RMSCM1: .FCTR LB:[1,1]RMSLIB/LB:R0AUTO:R0IMPA/RM0X0X: .FCTR RMSIO-RMSCBL-RMSCOM-RMSCM1-RMSEXC-RMSROT: .FCTR LB:[1,1]RMSLIB/LB:RMSSYM-RM0X0XARMSIO: .FCTR LB:[1,1]RMSLIB/LB:R0CACH:R0RLCH:R0MAPC:R0RWBF:R0UNLK;RMSCBL: .FCTR LB:[1,1]RMSLIB/LB:R0RTCB:R0ACBB:R0RTDB:R0MDAT-RMSCOM: .FCTR LB:[1,1]RMSLIB/LB:R0RMSE:R0IDPB;RMSEXC: .FCTR LB:[1,1]RMSLIB/LB:R0EXSY:R0RSES:R0WTBS:R0RMSA .NAME RMS11 .NAME RMSFAB .NAME RMSRAB .NAME RMSCRE .NAME RMSCD .NAME RMOPIN .NAME RMSSEQN .NAME RMSREL .NAME R2GUPDT .NAME RMSIDXB .NAME RMSBMCP .NAME RMSMIST .NAME RMDEXTR .NAME RMDRLBS .NAME RMDWTLF3RMSFIL: .FCTR RMSFAB-LB:[1,1]RMSLIB/LB:R0IFLF-RMSFL:3RMSFL: .FCTR LB:[1,1]RMSLIB/LB:R0CLCM-RMFILE-RMSFL0MIRMSFNM: .FCTR LB:[1,1]RMSLIB/LB:R0PRFN:R0XPFN:R0MKWA:R0ASLN:R0INIT-RMSFL1B4RMSDPC: .FCTR LB:[1,1]RMSLIB/LB:R0DPYC:R0CKSM-RMSFL14RMSFL1: .FCTR LB:[1,1]RMSLIB/LB:R0ALDB:R0ALBD:R0ALIO4RMSCLS: .FCTR LB:[1,1]RMSLIB/LB:R1CLOS:R2CLOS-RMSCL04RMSCL0: .FCTR LB:[1,1]RMSLIB/LB:R0CKSM-RMEXTD-RMR1RL4RMSOPN: .FCTR LB:[1,1]RMSLIB/LB:R0OPFL-RMSOP0-RM0XY0-RMCRCK: .FCTR LB:[1,1]RMSLIB/LB:R1CRCK:R2CRCKA;RMCREA: .FCTR LB:[1,1]RMSLIB/LB:R0CRFL:R0MFNB:R0RD50-RMSCR2F4RMSCR0: .FCTR RMSCRE-LB:[1,1]RMSLIB/LB:R0CRXI-RMSCR1&RMFILE: .FCTR LB:[1,1]RMSLIB/LB:R0RXAC4RMSOP0: .FCTR LB:[1,1]RMSLIB/LB:R0RXDI:R0MFNB:R0RD504RMSCR2: .FCTR LB:[1,1]RMSLIB/LB:R0RXCR:R0RXMD:R0RXDI-RMSER1: .FCTR LB:[1,1]RMSLIB/LB:R0RXMD-RMSOP0 &RMEXTD: .FCTR LB:[1,1]RMSLIB/LB:R0EXTD-RMR1RL: .FCTR LB:[1,1]RMSLIB/LB:R1RLBK:R1NXBKE&RMR1WL: .FCTR LB:[1,1]RMSLIB/LB:R1WTLS$RMSALL: .FCTR RMS11-*(RMSFIL,RMSREC)9RMSFL0: .FCTR (RMSFNM,RMSDPC,RMSCLS,RMSOPN,RMSCR0,RMSMIC)MRMSMIC: .FCTR (RMSERA,RMSEXT)S-RMSERA: .FCTR LB:[1,1]RMSLIB/LB:R0ERFL-RMSER1CBRMSEXT: .FCTR LB:[1,1]RMSLIB/LB:R0EXT0:R0CKSM:R2BFMT-RMEXTD-RMSFL1;RM0XY0: .FCTR RMOPIN-LB:[1,1]RMSLIB/LB:R0CKSM:R1OPFL:R2OPFLMDRMSCR1: .FCTR LB:[1,1]RMSLIB/LB:R1CRFL:R2CRFL-(RMCRCK,RMCREA,RM0X21);RM0X21: .FCTR LB:[1,1]RMSLIB/LB:R2WPLG:R2BFMT:R0CKSM-RMSFL1 :RMSCDX: .FCTR RMSCD-LB:[1,1]RMSLIB/LB:R1CONP:R2CONP-RMSCD04RMSCD0: .FCTR LB:[1,1]RMSLIB/LB:R1DISC:R2DISC-RMSCD1;RMSCD1: .FCTR LB:[1,1]RMSLIB/LB:R0CCLN:R0ALBS-RMSFL1-RMSCD2M"RMSCD2: .FCTR RMR1RL-RMR1WL-RMEXTD2RMSREC: .FCTR RMSRAB-(RMSCDX,RMSSQ0,RMSBLK,RM0X26)"RM0X26: .FCTR RMSREL-RMIO2C-RMIO2A4RMIO2C: .FCTR LB:[1,1]RMSLIB/LB:R2IOCK:R2CALC:R0CKSM=RMIO2A: .FCTR LB:[1,1]RMSLIB/LB:R2FIND:R2GSET-(RMIO2G,RMIO2P)R:RMIO2G: .FCTR R2GUPD-LB:[1,1]RMSLIB/LB:R2GET-RMIO2U-RMIO2D3RMIO2P: .FCTR LB:[1,1]RMSLIB/LB:R2PUT:R2PSET-RMIO2HC4RMIO2H: .FCTR LB:[1,1]RMSLIB/LB:R2BFMT:R2EXTD-RMEXTD-RMIO2U: .FCTR LB:[1,1]RMSLIB/LB:R2UPDA:R2PSET1&RMIO2D: .FCTR LB:[1,1]RMSLIB/LB:R2DELE4RMSBLK: .FCTR RMSBMC-LB:[1,1]RMSLIB/LB:R0RWBI-RMMISCRMMISC: .FCTR RMSMIS-RMMIS0S4RMMIS0: .FCTR LB:[1,1]RMSLIB/LB:R0FREE:R1TRUN-RMMIS1;RMMIS1: .FCTR LB:[1,1]RMSLIB/LB:R0RWIN:R2CALC-RMWATR-RMMAGTA;RMWATR: .FCTR LB:[1,1]RMSLIB/LB:R0WATR-RMR1WL-RMR1RL-RMEXTDO&RMMAGT: .FCTR LB:[1,1]RMSLIB/LB:R0MAGT)RMSSQ0: .FCTR RMSSEQ-RMR1RL-RMEXTD-RMSQOPBDRMSQOP: .FCTR LB:[1,1]RMSLIB/LB:R1WTLS:R1CKEF-(RMIN10,RMOU1P,RMOU1U)3RMIN10: .FCTR LB:[1,1]RMSLIB/LB:R1GET:R1GSET:R1GBLDE:RMOU1P: .FCTR LB:[1,1]RMSLIB/LB:R1PUT:R1PSET:R1PUNR:R1PBLD;RMOU1U: .FCTR LB:[1,1]RMSLIB/LB:R1UPDA:R1UBLD:R1DELE:R1PSETMIS0S4RMMIS0: .FCTR LB:[1,1]RMSLIB/LB:R0FREE:R1TRUN-RMMIS1;RMMIS1: .FCTR LB:[1,1]RMSLIB/LB:R0RWIN:R2CALC-RMWATR-RMMAGTA;RMWATR: .FCTR LB:[1,1]RMSLIB/LB:R0WATR-RMR1WL-RMR1RL-RMEXTDO&RMMAGT: .FCTR LB:[1,1]RMSLIB/LB:R0MAGT)RMSSQ0: .FCTR RMSSEQ-RMR1RL-RM;RMSROT: .FCTR LB:[1,1]RMSLIB/LB:RMSSYM:R0AUTO:R0IMPA-RMROOTP;J; IF: 1). YOUR SYSTEM IS RSTS/E, OR 2). YOU WILL ONLY USE SYNCHRONOUS I/O,D; AND YOU WILL BE USING RMSSEQ (THE LIMITED FUNCTION MEMORY RESIDENT(; LIBRARY), SELECT THE FOLLOWING FACTOR:;0&RMROOT: .FCTR LB:[1,1]RMSLIB/LB:R0EXSY;F;; IF YOUR SYSTEM IS NOT RSTS/E AND YOU WILL BE USING RMSSEQB8; AND MAY USE ASYNCHRONOUS I/O, THE SELECT THE FOLLOWING ; FACTOR.,;M';RMROOT: .FCTR LB:[1,1]RMSLIB/LB:R0EXECF; .NAME RMS11$RMSALL: .FCTR RMS11-*(RMSFIL,RMSREC)RMSFIL: .FCTR RMSFL3RMSFL: .FCTR LB:[1,1]RMSLIB/LB:R0CLCM-RMFILE-RMSFL0OGRMSFL0: .FCTR (RMSCR0,RMSOPN-RMSDPC-RMSCON,RMSFNM,RMSCLS-RMSDIS-RMSMIC)C;RMSOPN: .FCTR LB:[1,1]RMSLIB/LB:R0OPFL-RMSOP0-RMSEQO-RMRELO4RMSDPC: .FCTR LB:[1,1]RMSLIB/LB:R0DPYC:R0CKSM-RMSFL14RMSFL1: .FCTR LB:[1,1]RMSLIB/LB:R0ALDB:R0ALBD:R0ALIO;RMSCON: .FCTR LB:[1,1]RMSLIB/LB:R0CCLN:R0ALBS-RMSCNS-RMRCNR IRMSFNM: .FCTR LB:[1,1]RMSLIB/LB:R0PRFN:R0XPFN:R0MKWA:R0ASLN:R0INIT-RMSFL1R4RMSCLS: .FCTR LB:[1,1]RMSLIB/LB:R0CKSM-RMSEQC-RMRELC4RMSDIS: .FCTR LB:[1,1]RMSLIB/LB:R0CCLN-RMSDSS-RMRDSR$RMSCR0: .FCTR RMCREA-(RM0X11-RM0X21)BRMCREA: .FCTR LB:[1,1]RMSLIB/LB:R0CRXI:R0CRFL:R0MFNB:R0RD50-RMSCR2&RMFILE: .FCTR LB:[1,1]RMSLIB/LB:R0RXAC4RMSOP0: .FCTR LB:[1,1]RMSLIB/LB:R0RXDI:R0MFNB:R0RD504RMSCR2: .FCTR LB:[1,1]RMSLIB/LB:R0RXCR:R0RXMD:R0RXDI-RMSER1: .FCTR LB:[1,1]RMSLIB/LB:R0RXMD-RMSOP00RMSMIC: .FCTR RMSERA-RMSEXTM-RMSERA: .FCTR LB:[1,1]RMSLIB/LB:R0ERFL-RMSER1K4RMSEXT: .FCTR LB:[1,1]RMSLIB/LB:R0EXT0:R2BFMT-RMSFL1-RM0X11: .FCTR LB:[1,1]RMSLIB/LB:R1CRFL:R1CRCK]&RMSEQO: .FCTR LB:[1,1]RMSLIB/LB:R1OPFL&RMSEQC: .FCTR LB:[1,1]RMSLIB/LB:R1CLOS&RMSCNS: .FCTR LB:[1,1]RMSLIB/LB:R1CONP&RMSDSS: .FCTR LB:[1,1]RMSLIB/LB:R1DISCIRM0X21: .FCTR LB:[1,1]RMSLIB/LB:R2CRFL:R2CRCK:R2WPLG:R2BFMT:R0CKSM-RMSFL1C&RMRELO: .FCTR LB:[1,1]RMSLIB/LB:R2OPFL&RMRELC: .FCTR LB:[1,1]RMSLIB/LB:R2CLOS&RMRCNR: .FCTR LB:[1,1]RMSLIB/LB:R2CONP&RMRDSR: .FCTR LB:[1,1]RMSLIB/LB:R2DISC .NAME RMSRAB 2RMSREC: .FCTR RMSRAB-(RMSSQ0,RM0X26,RMSBLK,RMMISC) .NAME RMSSEQ];RMSSQ0: .FCTR RMSSEQ-LB:[1,1]RMSLIB/LB:R1UPDA:R1UBLD:R1DELEP .NAME RMSRELT"RM0X26: .FCTR RMSREL-RMIO2C-RMIO2A4RMIO2C: .FCTR LB:[1,1]RMSLIB/LB:R2IOCK:R2CALC:R0CKSM=RMIO2A: .FCTR LB:[1,1]RMSLIB/LB:R2FIND:R2GSET-(RMIO2G,RMIO2P):3RMIO2G: .FCTR LB:[1,1]RMSLIB/LB:R2GET-RMIO2U-RMIO2DM:RMIO2P: .FCTR LB:[1,1]RMSLIB/LB:R2PUT:R2PSET:R2BFMT:R2EXTD-RMIO2U: .FCTR LB:[1,1]RMSLIB/LB:R2UPDA:R2PSETT&RMIO2D: .FCTR LB:[1,1]RMSLIB/LB:R2DELE&RMSBLK: .FCTR LB:[1,1]RMSLIB/LB:R0RWBIBRMMISC: .FCTR LB:[1,1]RMSLIB/LB:R0FREE:R1TRUN:R0RWIN:R2CALC-RMWATR-RMWATR: .FCTR LB:[1,1]RMSLIB/LB:R0WATR:R0MAGTT"RM0X26: .FCTR RMSREL-RMIO2C-RMIO2A4RMIO2C: .FCTR LB:[1,1]RMSLIB/LB:R2IOCK:R2CALC:R0CKSM=RMIO2A: .FCTR LB:[1,1]RMSLIB/LB:R2FIND:R2GSET-(RMIO2G,RMIO2P):3RMIO2G: .FCTR LB:[1,1]RMSLIB/LB:R2GET-RMIO2U-RMIO2DM:RMIO2P: .FCTR LB:[1,1]RMSLIB/LB:R2PUT:R2PSET:R2BFMT:R2EXTD-RMIO2U: .FCTR LB:[1,1]RMSLIB/LB:R2UPDA:R2PSETT&RMIO2D: .FCTR LB:[1,1]RMSLIB/LB:R2DELE&RMSBLK: .FCTR LB:[1,1]RMSLIB/LB:<0O+:k:P+"+"+"+"+".+"1+"y+"+"+"L +"r +"w +"K+"R+"n+"+"+"+"+"J+"+" +"+"+"+"+"++"6+"+"+"+"z+" +"6+"B+"+"0+"X+"!+"!+"!+"K"+"#+"#+"%+"%+"`&+"&+"g'+"k'+"'+"'+"'+"'+"(+"(+"v8+"8+"99+"`:+"y:+":+";+"A;+"i;+"E+"E+"G+"G+"6K+"\K+"iK+"K+"K+"}L+"[M+"xQ+"R+"T+"#T+"W+"NX+"X+"aY+" Z+"WZ+"Z+"N`+"`+"`+"e+"kf+"f+"f+"p+"p+"p+"p+"Zq+"`q+"qq+"}q+"kr+"r+"r+"r+"r+" s+"fs+"ys+"s+"s+"t+"w+"x+"Bx+"y+"z+"+"+"+"R+"Z+"+"<+"+"+"L+"*+"2%% % %k%n%D%%%]%%%%&%'%'%(%,%5%8%@%Q%R%NX%X%kf%f%\g%Iq%Kq%Tq%t%'t%iw%w%ly%y%z% %%%%%ą%%s%%%kKnWna8a;a0MaMaMaMa@`a8a;aGaGaGaGaHaLaLaLa0MaMa(dafa0a a`^aapaxaaaa!a"a`'a8aWaxZaaЉaa avaxayaaa" a> a? a8a:a:aLaWaWaxZa@`a  b?  bp  b  b0  b% b& b' b' b' b' bP2 b: b: bK b@` b"کKc(ݩ[}=ݩ6?Hݩ݁fݩzv>""g멀"|WgSZc(("zv,Pd>.K>.K>4}NɪhBɪhB̪a BfΪWC:Ӫz$dӪCتWgݪK0WgXgA(v"?H($i (E$~B(XE BKiR'FR'FS"kS"USZlfU6?HU݁mUfN NX|V PO8V999WnX|VIZXIwJ%&''* {*+T"/^#6&7u'7nU(7n,<v:@T[7nE`D\gGIqQKqHBTq7n!tI6vKlwL )x?H6x@Ay7nzL zL {?H{?H{?H{?H{?HYąZZRQ`"L$i"L$ MMMVNHMWM1r6u" 7n6ut:76uMq8V6uw96uw9>7u97u`"<7ub"=7u2g>"9u>9uf'>9uS?H9uX@=ulA=uB=u<Bf=u'C:=uYHC?udD?udE @u~qF@u`GBuGHBuHBBu"I6BuKIBuMJBu9TKlBu=TL BuwLBuwL$BuwRBuz}MBu}NBuNBuPBuQBu6R|Bu+S<BuUBuW~Bu XCu YDusYEukYYnEudZGuZRGub Gur [dGuc}[pHud[[uE_,[ukM_[u``[uqa[u|qb\u%!b\u;;cZ_udc(_u`"f_uwgfu[ggudi hudihuwkhulfhu`mju[Knlusomudp mudqbou~qu'ru#sukMsu`tuquZu|qv`u%!vu;;wu$wXut:xu`"zvuw|uC^|Vud~Buwu`fuduenvqOP*rzPL+"H+"H*+"H+"H+".H+"1H+"yH*+"H+"Hx+"L Hp+"r H`+"w HP*+"KH@+"RH0+"nH +"H+"H*+"H+"H+"JH+"H+" H*+"H+"H+"H+"H+"+Hp*+"6H`+"HP+"H@+"H8+"zH0*+" H +"6H+"BH+"H+"0H*+"XH+"!H+"!H+"!H+"K"H*+"#H+"#H+"%H+"%Hp+"`&H`*+"&HX+"g'HP+"k'H@+"'H0+"'H *+"'H+"'H+"(H+"(H+"v8H*+"8H+"99H+"`:H+"y:H+":H*+";H+"A;Hp+"i;Hh+"EH`+"EHP*+"GH@+"GH0+"6KH +"\KH+"iKH*+"KH+"KH+"}LH+"[MH+"xQH*+"RH+"TH+"#TH+"WH+"NXH*+"XHp+"aYHh+" ZH`+"WZH\+"ZHX*+"N`HP+"`H@+"`H0+"eH +"kfH*+"fH+"fH+"pH+"pH+"pH*+"pH+"ZqH+"`qH+"qqH+"}qHp*+"krH`+"rHP+"rH@+"rH0+"rH *+" sH+"fsH+"ysH+"sH+"sH*+"tH+"wH+"xH+"BxH+"yH*+"zH+"Hp+"H`+"HP+"RH@*+"ZH0+"H +" HB*a? HDa8H a:HLa:HNaLH*aWH(aWHaxZH,a@`HaaPH@b HbpH bxH2*b&Hb`'Hb(xHb,xHb`YH$*bp HbYHbpqHbzHbpH *bH3b8^HbV^HbW^HbzH*b`Hb H bp Hb`rH6brH *brH brH"bxsHbHH&b]H*bx_Hb`HbwH4b H b H*bqHb`Hb`Hb`Hb`H*b`Hb`Hb`Hb`Hb`H *bqHbrHbrHbH bH* bQ HP b` H b" HF b> HB b? HD* bp H b H b0 H b%H b&H* b'H b'H b'H b'H bP2H"* b:HL b:HN bKH b@`H b bЉH* bH* b4H bP 1u* @ 2f   *&`0 ^w&     5 L  0  ONE*1uTKNEL@(1uTK($" h 1uTK(  p 1  ON*1ucKNLV@(1ucK(h 1ucK VON*1uKNL" @:@*V@(1uK(Vh 1uKf   " :VONE*1uwLNEL@VK@*5 @(1uwL(P:h 1uwL*&f e "5 (VK*&  p0  LOQ*1uxQL$98@$9& *L2mB>o  o*r "j d `*[ ]Ҭ V  Ue * 5`昃`$EE*ˊˊE & * ˤ!%   *0cc   *V9e  *|  A>55,<lɥ" fEÊ֥  PON*3u_NLGZ@i"@(&h 7e{Vi" GZ OO*3uIqOLJv"@éi"@*.K@.K@R'@w@(<h *7@0fe VR'éi"&e ww! Jv"* .K.KwOR(*3u|qR(L:@H@*,Pd@@@l@!@*R@r@5 @(3u|q(Jh* 3u|q*@8@e:PPH@8@e:*& 5e b e bl4  H@ *Le bw5w*e b)L "!h *rW-`#5 te b"r *e b l& e b V  R ! *Tw & eA&CA `W*;R 2 ! A8BA,Pd* He  ^:5 *0 `Pu57@8*V&Ee0  *|u:5 *e bu: 5e b "r *5 fe bu@&fV R ON*3uItNL@(3uIt(@J|h 3uIt* 5   1 &#   fV ONE*4u%!NELe6N@`"@(h 7e{V`" e6N ON*4u;;NLiy@`"@({h 7e{V`" iy ONE*4uH;NELpŜ@é`"@"w@(h 7e > VwpŜé`"w^OS*4ugSL:p@V@*9@@D@Cz@m @,Pd@*ɪh@@v@5 @(4ug(JpŜh 4ug *5 85 :5 < `& & & C@6e@D*.@L@ K ɋ@ *TQQԊ 0 3 "@+*zJ P aez C ˥* 4C<  3*3  e fV A*8 5 8 w w *w"wf& fe % % *8% X$ Be*^D0% O%D0% H a * aJm<<f I % % % *%   B"NAJBEFRAM*RPAYAMNUJLUJGUAPESTCOVONCED*!!! `  u *5 %  Ce $ *B ` %%# #$)fC *h Ae@ Ct% . fU U m *U M U B eU M eU U M  *>! && &* f ^,Pd5 :p*` ` }> *&Q$!& 8t5 *L  v ` h'c& Q$*ree 3 3 3* 3 3 3 <3 *   * +,-   *& 0kB:  b * ] :A<W" 1tL *01c5:ezc`*VJ3 *3 , R *| R ׬835363* 23 343T.3V03 *&fA8   /58 V*  u8%`9*6%      ɪh:  UvCzON*5upNL @éi"@*.K@.K@R'@(*"h  *7e Ve R'  éi"(.K&w.KOO*5u|qOLH@l@*!@R@r@(5u|q( h 5u|q*!L5'B@A*& X:A8A *Lrre b!e bR\ "lh *re be be b f)Ht r  R e bu@& ! rOR*5uRL$9΅@s@*w@(5u˖(b&h.h*Iqh^FyhS~h*hh  5u˖*   "*&wfLWL@aB`"3 w*L  f  8& e*r 6 <:3>3 @e6—(s* 18$9΅*88& e 6 <*:3>"ȋ  ) * E3 "  Is"2 *0s,4pA 2 36eV 8s2nOQ*5u>QL" @V@*T@9@@D@Cz@}@*ɪh@Ӫz@@ZX@v@*w@V@5 @(5u>("h 5u>*5 85 :5 <E  u@ (@D*&!p@ *L &  F &BV" V*r5  *  . B B <@*   &@   V*@ 5 w @ Vw*   t "v*0%` v 0 f "ɪh(Cz*V A85 8A:5 :  *| .  u8ZX*   5E- 9*5f@6   N2 *  Y2 6  5 *" 5C5( 5 *:   *` @  < <"5 *(  6 6 U6*6 6 6 v `A-<u*< "A< Hu: t *5>vm>  @   *w( 66 6 5 *D  ^\6B }*j '5 >5@ B (5T* > @5@r> r@ /0*$p0"r %@@* "* (A:@> (Ӫz$  UUU3@ӪzOU*5u$UL$9@$9f@*$9@:#@:p@:@,Pd@*5 @(5u$(x}hmhP  5u$*&̥  $9f$9 $9*&&   &  ,Pd":p*Lw  ,Pd*rPUUp$5 *5(NK*  -*-5* U*0E A 5(:#5 *V   6  7*|6 6 ev 66m* t  `&&e*  0  ,Pd:* &D& ^5 * `eR  *: p&f&f̥ ` RON*5u%NL@é`"@(#h 7e {Vé`"NOO*6u" OL@©#@*@O@`"@ȫ @(B*u'hU(hT[h0Tqh Ayh&  7 7&O©# ȫ  `"*7 77`"`"`""`" :e{VONE*6ut:NELZ@`"@(&h 7e{V`" Z eOQ*6uMqQL93@@*ZX@w@5 @Y@l @*l N@(6uMq(8hh "©#h ©#hOh 6uMq*w 5 , T , w*& LL 2e93"5 *L bPuLuNfV 0LYJ *r ]1! W-, A *, LœE¥* t4 e b  5 l N * e t 4 @eLW-, * t 4  && l $ZX 0ROO*6uwOL(6uw( ROO*6uwOL(6uw( lOR*7uRLs@@*&@&@,@v:@E`@*\g@=@@=@o@(*7u(\D}h,hhh>  7u*w 0 00 po*&pY hwlw \ *L  D t%w *r0"0 ep" 0n\*1  l\g*p0  (" `,* B `WaWz * 0,wɥ;$w*0%3   zw*V vŀ&  *|Հ&^ ^V *e,*`W-ŀ `*w$wvw o* ɥ@0, *:p 4 ȕ=*`  @ @=*@ e e,0 0*0we,&^ ^w *'0000*0Uj 000*0% w &o*D \  &*j0 He* U%" e"e)Ev:E`*j0^ U% e)&$*0)f  ,נ נs*   נ נ RՀ*(C& ѕ:   N`  OOE*7u`"OELݩ6@`"@(,h 7e{V`" ݩ6 OO*7ub"OL9@ɪh@*ZX@v@(7ub"(ݩ[}h  7ub"*  "` &&  9ZX*& f&&  ɪh(v*Lע , , *rA`   & (ɪh   vOOE*7u2gOEL(7u2g(dکGhh 7u2g*   e*&Am:CEeB@ & &  CRL  &VPONh*9uNhL5 @(9u(,Pdh 9u"fe6   5 ONE*9uf'NELDMw@("9uf'( .Kh.Kh 9uf'$@` e {VDMwTOP*9uSPL&@.@*Iq@Fy@S~@@@*5!@(9uS( WTPD`h*GZhJv"he6Nh@iyh ZhH*ݩ6h((v"hU6h06h8 WTh* XT XTh YT ZTd)xh* HT{{h{{*{h{{{h{*{{h{{{h   ZT$$$" "VV&S~Iq Fy &b.OOh*9uXOhL$939@:+@*)x@{@{@{@{@*{@@5 @ XT@(v:h6xh * (  * 5  5 *& z r j  {{{ {({*L b V3 $&e"&( XT)x*r& & & & & & && Ε &:+*  (e B4 $939  @OOh*=ulOhL:@©#@*,Pd@w@5 @(=ul(*h&`Thȫ h ȫ`Th =ul*H "]5 ,*&,@  4  ,  *LLB&   e &©#l *rbW-L0 uLuNw &w* p \ `,Pd:5 & Wp&V ON*=uNL5 @("=u(Jɪhhɪhh =u* cJ 1!5 (&@   ON*=u<NL(=u<(\̪a h =u<* +3 3@ *& L  OU*=u'ULv@(*=u'(ehHhFΪWh =u'*@&A8Ae2 @e*& : Ee1 &*LCe  1 ]פ.*r De  פ;v* De `@&v*&e1 &;Ћ &E    OQE*=uYHQELV@ɪh@"(=uYH(ZӪh =uYH*   H58e Vɪh*&p &u&~qe epLpe*:OO*?udOLpŜ@éi"@*.K@.K@(v"@(X@R'@"w@(LE`h *7e Ve VR'(XpŜ éi"*&e e 5 > Vww!(v"(  .K$.K(wOR(*?udR(LH@@*l@'@5 @(?ud((Xh ?ud*E5#B@ X*&)A8A *LFe bqe bke)lV Hb ('n *r b ae\A&CA *`W;@8&Ee0 * 5(5 *e b(uu  * 4*5*55(1)*0)At.B 5  *Vu@&EW@0U   |E  5 OPE*@u~qPELOM@VN@*Ӫ@5 @'@(@u~q(R'hR'h @u~q*>5 >5t*& @5 Հt3*L@A 0 )*r 4 Hu&@e b5Ӫ *e be be" OM ' "5  bfV VN  5 ONE*@u`NELU6@`"@(\gh 7e{V`" U6 ON*BuNL(Bu(|vh Bu*&feJ B  La*&     f *LeW!ZW!AW!9W!0r@ON*BuNLd;@m @"(Bu(Kqh Bu*3u&x7t5@*&p`Bk0eD< E*L28 M &m *rB f&  BeA @8 m (d;* 4@8 aeA  u d;*$ B8 CΔd;*  f  C Pd;m  ON*Bu"NL`"@<@(!th 7e {V<`"$OP*BuKPLv@V@*L@5 @l @l @("BuK(hZXh BuK*#    0 v5 *&µ1!0  5*L 55   e5l  l *r& Y5 T SP K*  E > 5$L*&@@   ) %V* e  C  *   r *0  &V p 0 p 0 *V   5*|w     l *@  ppp * 0 0 0  1 1 1 |OO*BuMOLɪh@@*ZX@v@5 @(BuM(wh BuM* 5f&  1,5 ɪh&v*& 1, & 4*L  A`!  v$ɪh(r  && &V vZXON*Bu9TNL5 @(Bu9T("vh Bu9T&feB  5 ON*Bu=TNL(Bu=T(D"whzhzh Bu=T*DJ̥J  WW-"&} WW-}ROO*BuwOL(Buw( `OP*BuwPL@v@*z@5 @(Buw(^é`"h<"éi"h`"hFi"h@ Buw*p 0&"5 *&f "&  *L & vDP΋Pv*r L4  #5(*aerBы$ HB*`55w$& z$* 4 ȕ 0*3* *  p1p   E@*0DU W  E5J5 B5 VD5 HOO*Buz}OLH$`@@*5 @(Buz}(H hh"hHhWh Buz}*@  e&H$`&&e &0  5 5  OO*Bu}OL@@"(Bu}(XVh Bu}*&&̥   U *&e @  1 L  4OR(*BuR(L:+@,Pd@*ɪh@5 @Y}@(Bu(*4}hh hl h6l h6  Bu* P PH f X 5 *& ~ NP PH *Lf Zw  F̥ 5 *r#5 ȥ *ȋ5ȋ> 1* /+($#5 *Հ && pp ,Pd(:+*  f \ `"`0 *0  0 *V &f  5 $ɪh*|0 &V && ɪh* K f ` &,Pd"Y}1 OP*BuPL9@93@* @@ZX@w@l @*(Bu(k:h hj  Bu*u5 @@P5 , ( *&"55 @ *L, X %&fB@A l *r3 "s $3"s$&e@ *!5 | zCA* u spk ef*& ,q-(q-& 4  *  &&  @(A&  ZX*0%56tt t t9*Vt  1 1 *|1 1  ,&4 93  wZXwOOE*BuOEL @`"@*j<@(Iqhh  "7 7e{V j< `"`"OPE*Bu6PEL©#@w@*`T@5 @Y@(Bu6(&5 :5 <*&@& 05 >C(B, *L ( :ע:W-:w B:C(*r w ע[ע]ע,wע.*פ;5 :C*B-  % * <ע: W-<SB<C* $ Tע*[ע]ע,wע.פ; B* 3 ee *0   : B *VЕSЕYЕ0Е:>@*|w | :C( B,  ?* ע[9  B,B: cע0^*ע9[ ע,  P B,B:* Hע0Cע9@ xע] nw* 4  <C* B- *: C ע[=  B-B< *`ע0 ע9 ע,  *0w B-B< ע0ע9* pע] fw   *e?w [ s*2% ,,  *] Y w: >E *D 5  e0 *j v&  ע.ע;ע[v* פ]5>` wע: * F&% w@%*C(B, C*B-  B,C(*eF ע.&ע; &%*(`w  . *NB-C* e  B,C(*teT # ע;& v  ע0 ע7* `&%0w\ *; B-C* e @&p>ONE*[uENEL([uE(.CO h [uE*0- "0- $0-& &OP*[ukMPL@D@DMw@*ɪh@W@v@w@@"([ukM(Dbh [ukM* w\4  PM1@D w*&  C `4 ɪhv*L058ul8l&  *r^ 8! *  E 55W  w DMwOPE*[u`PEL" @@*;EM@;OM@;PM@w@([u`(G]\h [u`* ,w  ;PM*& WwA W ! " ;OM*L @  4 f %&*r6 5 4$* 4" 4&0- "0- $*0-&5@uw ww;EMHOQ*[uqQL([uq(Jh [uq * 4p-*,$4 "4 &B* @*Rm A  !!*xWpY C. * ՀeE*t4  '*t0)) C@)e@*@K ɋ0*6˥P@*\ 5 5 5t,t.OP*[u|qPLJ@J@*J|@5 @([u|q(8J$h  [u|q*e be b "J 5 J &4 "$4 &wJ|ON*\u%!NLw@(\u%!(eOh \u%!@4 wwOP*\u;;PLc_@l N@"(\u;;(8i{h \u;;*  55!l N&wc_OR*_udRLCO @W@*̪a @تW@W@X@ZX@*(_ud(کKhdSZh _ud* @31  4 ZX*&7B8 AW*L3 C lwZ@3  تW*r44 4  CO *8   m5 4 X*w4 4 47pC<*7)6 W9W^* +0 ` C` :*0:  2  *V7 8wT7# )*|u`:NCA" & *  5w   {P5 .5 *<A  f "f*  .   * <.wf $ *: 3 u u<u<*`76 E  8 تW*& t:tm<5 5 *5555 5 5 <5*@  *3'A@ 3*3u z *D B`. <3 *ju-<Q.u <5.*3 e t @4@84 w&W*C4#3 ` f ̪a ꆖ @4 NOP*_u`"PLé"@کK@*"@SZ@w@5 @l N@*(_u`"( ]\hݩ݁h _u`"*  3: " é"5 *&e bXO  .  SZ* *L.!@ A *rB&VP 853*3 *& & &f&   l N*H55e b5 $کK *@  3@3    wwOO*_uwOL(_uw(fé"h"h _uw*5 P (@ #p*& Be2 L  4 4 "OO*fu[OL9@ɪh@*W@ZX@v@(fu[(*WhتWhWhXh fu[*  e@ 4 t 4 0f&*&  & eV #*L5  r 2EN& *r5( B8 W(9*%`%1 &*&  5  q ZX*8qm8q8t  ɪh(v C `54ul4OQE*gudQEL93@V@*5 @(gud(($h gud* ReE5*&.515)00 *L Հ$*r" 5$4 "4  93*&W p  &VfV 5 POP*hudPLi@W@*̪a @تW@W@W@(hud(BKh hud* t, t,  K  W*&  %:   W*L1 `Cm: > 4 C:CmW تW*r@ 4w4 4  Bl*2 B-@  цBm :*A7=60B`@@ * e0b e0I@i* 7C:C0B" F&  *06Š5w %B>C<  : *V7   p7*|6 EB  CتW*2776  *   < :3 "3 $3*&s-<s<5@u7*BB:   m@m:5*:5 5 5555 5 *` 5 u 4B C4C# (̪a *  ꆖ ``*wm& 77 6 W$^ 4 OO*huwOL(huw(S"h huw*@pj du>*&u<5256758*L*A-<FA-<@¥*re%¥ )`*e¥B<Bm> *  u:Am<p u@(ON*huNLW@ɪh@*̪a @تW@v@5 @l @"(hu(USZh hu*  Vq8 5 W$تW*&:2&2 <C> > <*Lנ+נ$ѕ נ1ѕ נ0ѕ*r ѕ :B>f<C4C# &̪a * J  :u 4 2ѕ * (555 5 5 5@u*C  5 $l    ɪhvPON*hu`NLCO @BK@*S"@USZ@w@5 @(hu`(dU݁h hu`*4  #S" 5 *&e b u USZ* CO Le b wBKL w OO(*ju[KO(L}@@*ZX@5 @(ju[K(Wh  ju[K*̥ 4  T Ɋ*&  !8p,p, 0f*L& & & C B ,.*r6.5(66  5 (}*555 B   * &&  1 1  ZX &V ON*lusNLZX@w@*ȫ`T@(lus(h lus*@SM I*&pC >   (ȫ`T*LAL04  42$*r"2& 1 Ɋ*  4  4 uZX wwBOO*mudOLW@̪a @*تW@W@W@(mud(L Kh mud*& & &4 4 4 1-*& 1-  B  W*LW7  u-.8 )  W&تW*rm :I@0. 7 *C:C0B"B : B>C< ,*55  5 5 5*&C4C#.  ̪a *  f   0u-.8W7wW*ONE*mudNELS"@w@* K@5 @(mud(bh  mud* "5.5-@p S"*&7! e b5 " KB L 4 ww,ON*ou~NLتW@W@"(ou~(l Nh ou~*@ 8 4mتW*&&  ^ *L4!1   rEe(" eb WOQ*u'QL9@ɪh@*@v@l @(u'(Th u'*Wq"q $e$q "f*&&   5 9$ɪh*L f   v*re v ," ,$ *   ," , l *$ p $p"$"*     $v  &V OOE*u#OELd;@m @"(u#(Z9Kh u#*& &f C6B,  d;*& f @&@( d;m (m Ll@ OPE*ukMPEL@D@DMw@*w@@(ukM((Dbh  ukM* w 4 w@D w&DMwOPE*u`PEL" @@*93@;EM@;OM@w@(u`(G\h u`* B$   wB$ 93" $;OM*&  ?A  ( *Lf  ) *re l*t5 5 5  44*4  4 w(w w;EMOP*uqPL(uq(\Jh uq *!@pw@*, 5 5 515*Rf V]  @_*x4t,t. @pM4*  B0)At*t*5B`e  A1 t(* W @@ C@)e@*@K ɋ0*6˥P ORE*u|qRELJ@J@*J|@5 @h8L@(u|q(@JE$h u|q*f e be b ( J 5 J (5 &e b 5w h8L* J|BOP*u%!PLɪh@X@*v@w@(u%!(|ePh  u%!*@5 Np'&]*& 0N   mɪh&v*L  4  LuLXruNw wOO*u;;OLc_@(u;;(i{h u;; ( wc_\OQE*u$QELT@}@*ɪh@Ӫz@X@X@v@*5 @j@(u$(,}h  u$*̥ $ "& & *&& ,.6.  .( *L5(66   5 &}*r556@eL$" 55$T*5 VL <*$p"r U 4  eӪz"X*4   j&X&  L  tɪhvOTE*ut:TEL93@9K@*é"@("@ɪh@X@X@*v@w@(ut:(P@Xh>\h ut:*5 N  5 2 &w 4 é" ("*& 4 e t w& & w*LB 5W-2e*rA #@ A BW-2*5@  wj4*tCP P r 2 *w6 5 5 59K* 5&5(2 r *04 &f %wB, X(93*V  Lfwt  mXɪh$v*|W-2 5 ȵȵ-5*5 ȵȵ et *w@ȵ ȵ*P  4 U@LuX*LuNfLV L5 NE@4 4 :5 5 5 5 &5 (ORE*u`"REL93@@X@*멀"@ɪh@̪a @v@w@*j@(u`"(fݩh("h   u`"* w w  멀"@Xɪh(v*&m 0u.0*L )A"` 5@ ̪a *r  =u>*C5   CA*  4 4 e t ̪a  93*W- 5 NLuLuNE@w(w* %LL 5 *0@L4 4 5 5 5 5 &5 ( V4  j>OP*uwPL(uw(é"h멀"h uw*5 P K@ Fp*&>0W1` ,*L 55" Be,*r( * E    RR @LOS*uC^SL9@Cz@*}@4}@ɪh@@ZX@*v@5 @YT}@(uC^(v"XhXh8jhR uC^*&f(`@ ,",$wf*&&   L[  &4}*L  t  L4 ɪhvCz*r542p$2r" #"*-$4  )W-2 @L*L4 L4  n* e be 55 } *  "`  W,  9(YT}*05 L W,  U  "$VfLfN  NLZXOQE*udQEL9@Cz@*ɪh@ZX@v@V@Ϋa(@*5 @YT}@(ud((E$h  ud*  "`  Ϋa(9*&55  YT}ɪh v$Cz*L 5 %,t04r"4p$*r4h4n4l4 &5)05 5*"5(1    fV ZXV 5 HOP*uwPL(uw(S"h"h* uw*T 0WJ` *&E@p;Ae,( *L* EQ    QQ*rQ  (*A-<A-<L,OP*u`PL@X@ɪh@*̪a @S"@X@v@w@*j@(u`( Uh u`* w4 4   S"(@X*&\  mѕ0 ɪhv*LQ<Q=0 )Cmѐѐ*rCB" B C<B> 4 ̪a "̪a *  4 4 eX* t L@uLuNw4 $w*4 5 5 5 5 &5 (4  &jOP*udPLɪh@̪a @*X@v@w@"@(ud(h ud*&]b_0N X*& S  mѕW0"ɪhv*LQ<Q=0 )Cmѐ*rѐCB"` B>C< ̪a $̪a * 4 5 5 5 $X*LuLuNwL5 5 5 wOQ*ueQL" @T@*9@ɪh@Ӫz@@ZX@*v@(ue(rh8Lh ue*  LO  B"  9*&  8t $t "(*L((4( e$t "*r4 & & f f @eL 6-* 55uNuLt t"T*W-"W- @"@ *PL  Ї 9&ɪh*   t0$p0"r v*00h0l0n   Ӫz& V&& w4ZX4OR*5u˖RL$9΅@s@*ɪh@ɪh@w@5 @(*5u˖(&h~.h(IqhFyhx"S~h*hhp 5u˖*   "*&wfLWL@aB`c"3w*L   f f ^e *r"3 EDeB ``f *    ɪh&ɪh*$E3$&e" 5 *&5 ~ !8&*  e 6 <:3>3 @*0 e.@e6— &s*V188$9΅*|8& e 6 <:*3> e" *ѕe:0 " "*eȋ  ) E*c3 " ~  Is"2*: s,4pA 2 36*`e 8s2&f& v &5 *U( .E(e sOP*BuwPL@v@*z@5 @(Buw(é`"h<"éi"h`"hFi"h@ Buw*p 0&"5 *&f "&  *L & vDP΋Pv*r L4  #5(*aerBы$ HB*`55w΋%z*p5($&  4 *  ȕ 0*3*  p1*0p   E@DU*V W  E BUZ *|PBa&E  5J5 B5 D5 H*OO*Gub OL5 @("Gub (YT}hY}h\ Gub *@ BeE3 *&  0 f ` 5 *L @ B fE$r&2 & 4 *  ȕ 0*3*  p1*0p   E@DU*V W  E BUZ *|PBa&E  5J5 B5 D5 HP*Gub OL5 @("Gub (YT}hY}h\ Gub *@ BeE3 *&  0 f ` 5 *L @ B*?udOLpŜ@éi"@*.K@.K@(v"@(X@R'@"w@(LE`h *7e Ve VR'(XpŜ éi"*&e e 5 > Vww!(v"(  .K$.K(wA*3uIqOLJv"@éi"@*.K@.K@R'@w@(<h *7@0fe VR'éi"&e ww! Jv"* .K.Kw*3ukMNLD`@é`"@(h 7e{Vé`" D` *3u_NLGZ@i"@(&h 7e{Vi" GZ q*4u;;NLiy@`"@({h 7e{V`" iy *7u`"OELݩ6@`"@(,h 7e{V`" ݩ6 *@u`NELU6@`"@(\gh 7e{V`" U6 *6ut:NELZ@`"@(&h 7e{V`" Z *EudNEL`"@6@(ąh 7e{V`" 6 *4u%!NELe6N@`"@(h 7e{V`" e6N *BuOEL @`"@*j<@(Iqhh  "7 7e{V j< `"`"*5upNL @éi"@*.K@.K@R'@(*"h  *7e Ve R'  éi"(.K&w.K*5u%NL@é`"@(#h 7e {Vé`"*4uH;NELpŜ@é`"@"w@(h 7e > VwpŜé`"w*Bu"NL`"@<@(!th 7e {V<`"*DusNL`"@@(h 7e {V`"*6u" OL@©#@*@O@`"@ȫ @(B*u'hU(hT[h0Tqh Ayh&  7 7&O©# ȫ  `"*7 77`"`"`""`" :e{V*9uf'NELDMw@("9uf'( .Kh.Kh 9uf'$@` e {VDMw*GuN(Lv@@"5 @(fh * E ) 'ͥ$5(5 *&p D     vL)  v*9uXOhL$939@:+@*)x@{@{@{@{@*{@@5 @ XT@(v:h6xh * (  * 5  5 *& z r j  {{{ {({*L b V3 $&e"&( XT)x*r& & & & & & && Ε &:+*  (e B4 $939  @9uXOhL$939@:+@*)x@{@{@{@{@*{@@5 @ XT@(v:h6xh * (  * 5  5 *& z r j <0O ( ^" ^" $L^JL$&E8O^>`ҫ[[:q% /%^:%2"%$0%9,&K)M6H)G8)M7)(d5)f5j)z6)8)!6)W8F)xZ8)3)W7)xZ7)@`5@)z7$)'4)`Y6*)8j)r6)xs5)H7`)q4x)` 4)'7)p4)44>)5E,kKpE,KE,8OE,hwVAhyZJhx Jhxp  <p^'@p"p$ p&q8O.Kq[vrةfrtG%:t&"t%tp $tpq$tz$xtx&t %tp %Zt#tp $PtP2%t@`#$tz$tp #tz#yz (y} ^<* D*^Sh*G`*$F*JQ^XT^V|[^T`^WVc^Z`98P~90MQ9MQ9@`Qv:HPLML@ OApOA`'NlCYM DpOvD8^QF O<F JzH`MHqPFHrPHrPJ0 NKP-8Apk-).8_ |)[K|Z|6x /x<`xUB.`-<)g:twqy8h-{-+ -px g|8Ogzg.@++T+-,8,x,^,,8,$x,f,,_B[_j}m&+~tvt@ ]K^"s^f^ç^^2^v;^c^ȫZ̫p, ̫`l̫q̫zB̫Bynzaps~  ).K6<}.F?8O`Y`;|@[hjje;|AVZVeR rO.MACRO ..EMIT VAL .IIF DF LST$$ .LIST MEB VAL .IIF DF LST$$ .NLIST MEB.ENDM^O .MACRO $ENTRY P1,P2 .LISTP1:: .NLIST .IF GT,R$$TST .NCHR $X$.., .IF GT,$X$..-6" .ERROR ;P1 IS MORE THAN 6 CHAR. .MEXIT .ENDC .PSECT $ENTY1,D,GBL $X$..=. .RAD50 /P1/ .IIF EQ,.-$X$..-2,.WORD 0 .WORD SY.ADR .WORD P1 .IF NB P2 .PSECT P2 .IFF DPSECT .ENDC .ENDC .ENDM $ENTRY2O .MACRO $TSTPT P1,P2,P3,P4,?P5 .IF GT,R$$TST .NCHR $X$.., .IF GT,$X$..-6I" .ERROR ;P1 IS MORE THAN 6 CHAR. .MEXITE .ENDC .IF IDN,, BIT #TP.ENB,P1+42 BEQ P5 MOV @#P1+6,-(SP)F JSR PC,@(SP)+ P5: .IFF1 INC P1+6 .ENDC .PSECT $TSPT1,D,GBL $X$..=.P1:: .RAD50 /P1/ .IIF EQ,.-$X$..-2,.WORD 0 .IF IDN,, .WORD SY.ADR$ .IIF B,P3,.WORD $TST$$D .IIF NB,P3,.WORD P3 .IFF. .WORD SY.VAL .WORD 0 .ENDC .IF NB P4 .PSECT P4 .IFF DPSECT .ENDC .ENDC .ENDM $TSTPTPO .MACRO $STGDPLY STGDESC .IF NB,O' .IIF DIF , MOV STGDESC,R2. .ENDC JSR PC,$DSTGP .ENDM $STGDPLYPO .MACRO $GETSTG STGDESC, .IF NB,1' .IIF DIF , MOV STGDESC,R2L .ENDC JSR PC,$GTSTG .ENDM $GETSTGO.MACRO STRU$B NAME .IF DF R$$TST$ .IF GT R$$TST-1 .NCHR $X$..,NAMEP .IF GT $X$..-6.3 .ERROR ;***** NAME IS MORE THAN 6-CHARACTERS *****C .MEXITF .ENDC .PSECT $STRU3,D,GBL.IIF EQ R$$TST-2 .LIST ...CSG=.. .ASCII ?%N?<^O73>? 'NAME'? .PSECT $STRU1,D,GBL $X$..=. .RAD50 /NAME/ .IIF EQ .-$X$..-2 .WORD 0 .WORD SY.ADR .WORD ...CSG.IIF EQ R$$TST-2 .NLISTS .PSECTN .ENDC .ENDC .ENDM STRU$BO .MACRO STRU$E .IF DF R$$TST.IF GT R$$TST-1 .PSECT $STRU3,D,GBL.IIF EQ R$$TST-2 .LIST .BYTE 0.IIF EQ R$$TST-2 .NLIST. .PSECT. .ENDC .ENDC .ENDM STRU$EO.MACRO $EMSTG STRING .IF DF R$$TSTC.IF NB D.IF GT R$$TST-1T .PSECT $STRU3,D,GBL .IIF EQ,R$$TST-2,.LIST' .ASCII ?%N?<^O73>?'STRING'? .IIF EQ,R$$TST-2,.NLIST .PSECT. .ENDC .ENDC .ENDC .ENDM $EMSTGO.MACRO RMS$L SYM,SIZE,STRING .MCALL $EMSTGC .IF NB SYMSYM=^O<...TPC> .ENDC .IF NB SIZE ...TPC=^O<...TPC+SIZE>$ .ENDC.IIF B .MEXIT$EMSTG I .ENDM RMS$LO.MACRO RMS$G SYM,SIZE,STRING .MCALL RMS$L.IIF NB SYM .GLOBL SYMRMS$L SYM,SIZE,R .ENDM RMS$GBTO.MACRO DFIN$G SYM,VALR .GLOBL SYMI SYM=^O, .ENDM DFIN$GFO.MACRO DFIN$L SYM,VAL, SYM=^OC .ENDM DFIN$LfO.MACRO DEF$SZ SYM,SIZE,STRINGC#.IIF NB SIZE ...TPC=^O<...TPC+SIZE>T .ENDM DEF$SZ O..MACRO $STRIP FIELD,P0,P1,P2,P3,P4,P5,P6,P7,P8.IRP NN,\...ARGT.IIF IDN P0 .MEXITG.IIF B P0 .MEXIT$'FIELD''NN'=^D'P0...SIZ=...SIZ+$'FIELD''NN...ARG=...ARG+1F$$STRIP FIELD,P1,P2,P3,P4,P5,P6,P7,P8...ARG=0.ENDMM .ENDM $STRIPFO.MACRO $SEQCK TAB1,TAB2,TYPE,BB=.IF NDF ...SEQ...SEQ=1...TBL=0...RAB=0...FAB=0...XAB=0...NAM=0...LCB=0 ...POOL=0...ARG=0...SIZ=0...RMS=0.ENDCS...ERR=0 .IF NB ..IF GT <...TBL>E3 .ERROR ;***** MORE THAN ONE TABLE BEING INIT *****L ...ERR=1P .MEXIT6 .ENDC.ENDC,.IIF B .MEXIT.IF EQ ...'TAB2I* .ERROR ;***** MISSING TAB2'$B MACRO ***** ...ERR=1L .MEXIT. .ENDC.IIF B .MEXIT,.IF NE <$COD-'TYPE>5 .ERROR ;***** XAB$B SPECIFIED CONFLICTING TYPE *****O ...ERR=11 .MEXITE .ENDC .ENDM $SEQCKO&.MACRO $UFLD$ FIELD,TAB1,TAB2,NAME,ARG.MCALL $SEQCK,..EMIT$SEQCK TAB1,TAB2,NAME..IIF EQ ...ERR-1 .MEXIT.IIF B .MEXIT<..EMIT <$'FIELD'=^D>R .ENDM $UFLD$O.MACRO FIELD$ NAME,LENGTH. .MCALL ..EMITI...PC1=. .=...TAB+O$'NAME..IF EQ LENGTH-1*..EMIT <.BYTE $'NAME>C .ENDC.IF EQ LENGTH-2E..EMIT <.WORD $'NAME>T .ENDC.=...PC1 .ENDM FIELD$O .MACRO $CHKMV SRC,FIELD,PTR,TYPE.MCALL $'FIELD'$,..EMITI.NTYPE ...TYP,PTRS..TMP0=...TYP&^O070 .IF NE ..TMP0 3 .ERROR ;***** TABLE-POINTER MUST BE REGISTER *****K .MEXIT2 .ENDC..TMP0=...TYP&^O07.IF GT ..TMP0-5>5 .ERROR ;***** TABLE-POINTER MUST BE R0-R5 ONLY ***** .MEXIT .ENDC.NTYPE ...TYP,SRCT...ERR=1 $'FIELD'$..IF EQ ...ERR-1+) .ERROR ;***** INVALID NAME - FIELD *****' .MEXIT..ENDCI.IF EQ ...TYP-^O27 .IF IDN . .IF GT ...LEN-2 .IF DIF <#0>< .ERROR ;***** FIELD TOO LONG FOR IMMEDIATE MODE ***** .MEXITT .ENDC .ENDC .ENDC .IF IDN *6 .ERROR ;***** IMMEDIATE MODE INVALID FOR SOURCE ***** .MEXITM .ENDC .ENDC...TMP=...TYP&^O70 .IF EQ ...TMPB ...TMP=...TYP&^O07- .IF EQ ...TMP-7& .ERROR ;***** CANNOT DESTROY PC ***** .MEXITI .ENDC .ENDC.IF EQ ...LEN-1 ...XXX=0.IIF IDN ...XXX=1..IIF IDN ...XXX=1F .IF IDN . ...TMP=...TYP&^O70. .IF EQ ...TMP .IF IDN ,2 .IIF EQ ...XXX ..EMIT + .IIF EQ ...XXX-1 ..EMIT N ..EMIT  .IFFD ..EMIT O2 .IIF EQ ...XXX ..EMIT + .IIF EQ ...XXX-1 ..EMIT - .ENDC .IFFP2 .IIF EQ ...XXX ..EMIT + .IIF EQ ...XXX-1 ..EMIT  .ENDC .MEXIT< .ENDC .IF IDN L .IF IDN <#0>/ .IIF EQ ...XXX ..EMIT ( .IIF EQ ...XXX-1 ..EMIT  .IFF3 .IIF EQ ...XXX ..EMIT M, .IIF EQ ...XXX-1 ..EMIT  .ENDCD .MEXIT  .ENDC .ENDC.IF EQ ...LEN-2T6 .IIF IDN ..EMIT  .IF IDN . .IF IDN <#0> ..EMIT T .IFF# ..EMIT R .ENDC .ENDC .MEXIT .ENDC.IF IDN <#0>.IF IDN ..EMIT R0.IIF GE ...LEN-4 ..EMIT 0.IIF GE ...LEN-6 ..EMIT 1.IIF GE ...LEN-10 ..EMIT 2.IIF GE ...LEN-12 ..EMIT 2.IIF GE ...LEN-14 ..EMIT 2.IIF GE ...LEN-16 ..EMIT 2.IIF GE ...LEN-20 ..EMIT .MEXIT.ENDCT.ENDCR...TMP=...TYP&^O70 .IF EQ ...TMPN .IF GT ...LEN-12.6 .ERROR ;***** FIELD SIZE TOO LONG FOR REGISTERS ***** .MEXITP .ENDC ...TMP=...TYP&^O07I .IF GT ...TMP-..TMP0' ...TMP=<^O6-...TMP>*2 .IF LT ...TMP-...LENT1 .ERROR ;***** FIELD TOO LONG FOR SRC -> R5 *****R .MEXITF .ENDC .IFF. ...TMP=<..TMP0-...TMP>*2' .IF LT 2+...TMP-...LENM4 .ERROR ;***** FIELD TOO LONG FOR SRC -> PTR-1 ***** .MEXITO .ENDC .ENDC.IF IDN ..EMIT 7.IIF GE ...LEN-4 ..EMIT N7.IIF GE ...LEN-6 ..EMIT F8.IIF GE ...LEN-10 ..EMIT 9.IIF GE ...LEN-12 ..EMIT .9.IIF GE ...LEN-14 ..EMIT *9.IIF GE ...LEN-16 ..EMIT 9.IIF GE ...LEN-20 ..EMIT .IFF!..EMIT N7.IIF GE ...LEN-4 ..EMIT 7.IIF GE ...LEN-6 ..EMIT 8.IIF GE ...LEN-10 ..EMIT 9.IIF GE ...LEN-12 ..EMIT I9.IIF GE ...LEN-14 ..EMIT I9.IIF GE ...LEN-16 ..EMIT I9.IIF GE ...LEN-20 ..EMIT I.IFTF..MEXIT.ENDC<.ENDCO...ATO=0...TMP=...TYP&^O70.IIF EQ ...TMP-^O20 ...ATO=1.IIF EQ ...TMP-^O40 ...ATO=1.IF EQ ...ATO-1$.IF IDN !..EMIT +4.IIF GE ...LEN-4 ..EMIT 4.IIF GE ...LEN-6 ..EMIT 5.IIF GE ...LEN-10 ..EMIT <6.IIF GE ...LEN-12 ..EMIT 6.IIF GE ...LEN-14 ..EMIT 6.IIF GE ...LEN-16 ..EMIT 6.IIF GE ...LEN-20 ..EMIT .IFF!..EMIT 4.IIF GE ...LEN-4 ..EMIT 4.IIF GE ...LEN-6 ..EMIT 5.IIF GE ...LEN-10 ..EMIT M6.IIF GE ...LEN-12 ..EMIT 6.IIF GE ...LEN-14 ..EMIT 6.IIF GE ...LEN-16 ..EMIT 6.IIF GE ...LEN-20 ..EMIT .IFTF'.MEXIT.ENDCR.ENDCF.IF EQ ...TMP-^O60.IF IDN !..EMIT $8.IIF GE ...LEN-4 ..EMIT 7.IIF GE ...LEN-6 ..EMIT '8.IIF GE ...LEN-10 ..EMIT ;.IIF GE ...LEN-12 ..EMIT >;.IIF GE ...LEN-14 ..EMIT F:.IIF GE ...LEN-16 ..EMIT :.IIF GE ...LEN-20 ..EMIT .IFF!..EMIT I7.IIF GE ...LEN-4 ..EMIT F7.IIF GE ...LEN-6 ..EMIT F8.IIF GE ...LEN-10 ..EMIT :.IIF GE ...LEN-12 ..EMIT :.IIF GE ...LEN-14 ..EMIT :.IIF GE ...LEN-16 ..EMIT :.IIF GE ...LEN-20 ..EMIT .IFTF..MEXIT.ENDC<.ENDCO9.ERROR ;***** SRC =INVALID/UNSUPPORTED ADDRESS MODE *****P .ENDM $CHKMVO.MACRO $WRDS TAB,FIELD,X.MCALL $SEQCK,$$LNUM$SEQCK TAB,TAB.IIF EQ ...ERR-1 .MEXITF$$LNUM FIELD,X .ENDM $WRDSOO .MACRO $$LNUM FIELD,WORD1 .MCALL ..EMIT0 $$$B1=0 $$$B2=0 $$$B3=0 $$$B4=0 .IRPC D,WORDO .IIF IDN <.> .MEXIT $$$B1=$$$B1*10.+D'. $$$C=$$$B1/256. $$$B1=$$$B1&377 $$$B2=$$$B2*10.+$$$C2 $$$C=$$$B2/256. $$$B2=$$$B2&377 $$$B3=$$$B3*10.+$$$C $$$C=$$$B3/256. $$$B3=$$$B3&377 $$$B4=$$$B4*10.+$$$CE $$$C=$$$B4/256. $$$B4=$$$B4&377 .ENDM $$$H=$$$B4*256.+$$$B3 $$$L=$$$B2*256.+$$$B1..EMIT <$'FIELD'0=$$$L>E..EMIT <$'FIELD'1=$$$H>M .ENDM $$LNUM O.MACRO $CALL$ PROC,TAB,ERR,SUC .MCALL ..EMITI .GLOBL PROC...NUM=0.IIF NB ...NUM=...NUM+1R.IIF NB ...NUM=...NUM+1$.IIF NB ...NUM=...NUM+1/ .IF NE ...NUM$...NUM=0 .IF NB  ..EMIT .IF NB 3 ...NUM=...NUM+1 ..EMIT . .ENDC .IF B .IF NB $ ...NUM=...NUM+1 ..EMIT . .ENDC .IFFB ...NUM=...NUM+1 ..EMIT T.ENDCL..EMIT ...NUM=...NUM+1N..EMIT ..EMIT .IFF- .ERROR ;***** MISSING TABLE PARAMETER ***** .MEXIT .ENDCM.ENDC+..EMIT M.IIF EQ ...NUM .MEXITC..EMIT  ..EMIT .ENDM $CALL$JO.MACRO RABDF$ P1.MCALL RABOF$,..EMIT RABOF$ RMS$L..TAB1=. .EVEN..TAB2=..IF NE ..TAB2-..TAB1- .ERROR ;***** RAB MUST BE WORD ALIGNED *****F ...ERR=1= .MEXIT .ENDC...TAB=...RBLN=0!.IIF B ..EMIT <.BLKB RB$BLN>M".IIF NB ..EMIT <.BLKB RB$BLL>.IIF NB ..RBLN=1 .ENDM RABDF$O.MACRO RAB$BT DEF .MCALL DEF DEF RB$BID,1 DEF RB$SEQ,0C DEF RB$KEY,1. DEF RB$RFA,2D DEF RB$EOF,1. DEF RB$MAS,2+ DEF RB$WAT,4 DEF RB$RLK,RB$WAT DEF RB$HSH,10 DEF RB$LOA,20 DEF RB$ULK,40 DEF RB$LOK,RB$ULK DEF RB$LOC,100 DEF RB$ASY,200S DEF RB$RAH,400* DEF RB$WBH,1000 DEF RB$KGE,2000 DEF RB$KGT,4000  DEF RB$FDL,10000M DEF RB$UIF,20000I DEF RB$RCN,40000I DEF RB$NKC,1L DEF RB$NK3,2D DEF RB$ORG,4 DEF RB$BK1,10 DEF RB$BK3,20 DEF RB$NW1,40 DEF RB$X1A,100R DEF RB$X2A,200 .MACRO RAB$BT DEF .ENDM RAB$BT .ENDM RAB$BTO.MACRO RAB$B P1,.MCALL $SEQCK,RABDF$,RAB$BT 6.MCALL R$RAC,R$ROP,R$UBF,R$USZ,R$RBF,R$RSZ,R$KBF,R$KSZ<.MCALL R$KRF,R$BKT,R$RHB,R$FAB,R$MBF,R$MBC,RAB$E,R$CTX,R$LSN RAB$BT DFIN$L,$SEQCK RAB,,,BB$.IIF EQ ...ERR-1 .MEXIT2 .IF NB .IF DIF R.IF DIF 5.ERROR ;***** BAD PARAMETER SPELLING (SYN/ASYN) *****R.MEXIT.ENDCRRABDF$.IFF RABDF$ BB.ENDC$.IFFRABDF$.ENDC0.IIF EQ ...ERR-1 .MEXITR...TBL=1...RAB=1$RAC=0$ROP=0$UBF=0$USZ=0$RBF=0$RSZ=0$KBF=0$KSZ=0$KRF=0$BKT0=0L$BKT1=0A$RHB=0$FAB=0$MBF=0$MBC=0$LSN=0$DUP=0$STS=0$STV=0$ISI=0$RFA=0$CTX=0 $BID=RB$BIDR .ENDM RAB$BBbO.MACRO R$RAC VALUE .MCALL $UFLD$F$UFLD$ RAC,RAB,RAB,,< .ENDM R$RAC fO.MACRO R$ROP OPTIONS .MCALL $UFLD$A$UFLD$ ROP,RAB,RAB,,R .ENDM R$ROPDbO.MACRO R$UBF LABEL .MCALL $UFLD$E$UFLD$ UBF,RAB,RAB,,