;+ ; RMS-11 PROTOTYPE ODL 11-MAY-1979 ; ; ; THIS ODL FILE DESCRIBES A 9KB RMS-11 OVERLAY STRUCTURE. TO ; CONSERVE TASK ADDRESS SPACE, EVERY RMS RECORD OPERATION(E.G. $GET, ; $PUT, $UPDATE, ETC.) FOR EACH FILE ORGANIZATION IS CONTAINED IN ; A SEPARATE OVERLAY. THE INITIAL OVERLAY LOADED FOR A PARTICULAR ; OPERATION MAY, IN TURN, CAUSE THE LOADING OF ONE OR MORE ADDI- ; TIONAL OVERLAYS. THE MORE OVERLAYS REQUIRED, THE LONGER THE OVERALL ; OPERATION TAKES. THUS, THE INTENT OF THIS ODL FILE, AS ; IT APPEARS HERE, IS SOLELY TO OPTIMIZE FOR SPACE USAGE WITHOUT ; REGARD TO PERFORMANCE. ; ; TO CUSTOMIZE THIS PROTOTYPE ODL FILE, FOLLOW THE INSTRUCTIONS ; STEP-BY-STEP. TO SELECT A PARTICULAR INDIVIDUAL FACTOR STATEMENT, ; REMOVE THE SEMI-COLON FROM THE FIRST CHARACTER OF THE LINE ; CONTAINING THE FACTOR. ; ; NOTE: ; ; 1. IF YOU NEED MORE INFORMATION ON HOW TO OPTIMIZE THIS ODL FOR YOUR ; SPECIFIC APPLICATION, REFER TO CHAPTER 8 OF THE "RMS-11 USER'S ; GUIDE". ; ; 2. IF YOU USE THE FULL-FUNCTION RMS RESIDENT LIBRARY KNOWN ; AS RMSRES, THERE IS NO NEED TO MODIFY THIS PROTOTYPE ODL FILE. ; RMSRES INCLUDES ALL RMS FUNCTIONS (I.E., SEQUENTIAL, RELATIVE, ; 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 CALLED ; RMSSEQ IS ALSO AVAILABLE FOR YOUR USE. RMSSEQ IS INTENDED ; FOR USE IN THOSE SYSTEMS ENVIRONMENTS IN WHICH PHYSICAL ; MEMORY IS LIMITED BUT SOME SHARING OF RMS-11 CODE IS DESIRED. ; THIS RESIDENT LIBRARY CONTAINS CERTAIN MODULES COMMON TO THE ; PROCESSING OF ALL FILE ORGANIZATIONS AS WELL AS THE GET AND ; PUT OPERATIONS FOR THE SEQUENTIAL FILE ORGANIZATION. ; UNLIKE YOUR USE OF RMSRES, WHICH MAKES MODIFICATION OF THIS ; PROTOTYPE UNNECESSARY, YOU MIGHT WANT TO USE BOTH RMSSEQ AND ; 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). ; ; ; 4. RSTS/E USERS MUST, AFTER ALL THE STEPS BELOW HAVE BEEN FOLLOWED ; AND THE PROPER EDITS MADE, PERFORM ONE FINAL GLOBAL EDIT. ALL ; INSTANCES OF THE STRING LB:[1,1] MUST BE CHANGED TO LB:. ; ;- ;*************************************************************************** ; STEP 1 ******************* DECLARE RMS-11 ROOT ******************* ;*************************************************************************** ; ; THE FACTOR "RMSROT" IS REFERENCED IN YOUR TASK'S ODL ; FILE FOR INCLUSION IN THE ROOT OF YOUR TASK. ; RMSROT: .FCTR LB:[1,1]RMSLIB/LB:RMSSYM:R0AUTO:R0IMPA-RMROOT ; ; GOTO STEP 2 ;**************************************************************************** ; STEP 2 * SELECT RMS-11 ROOT MODULES ;********* ; ; IN THIS STEP, YOU SELECT THOSE ROUTINES WHICH MUST ; BE INCLUDED IN THE ROOT OF YOUR TASK. ; ; IF: 1). YOUR SYSTEM IS RSTS/E, OR 2). YOU WILL ONLY USE SYNCHRONOUS I/O, ; 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 ; ; GOTO STEP 3 ; ;*********** ;* STEP 2-1 * ;************* ; ; IF YOUR SYSTEM IS NOT RSTS/E AND YOU WILL BE USING RMSSEQ ; 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 ; ;*********** ; STEP 2-2 * ;*********** ; ; IF YOUR SYSTEM IS NOT RSTS/E, OR IF RSTS/E, YOU ARE NOT USING ; RMSSEQ, THEN SELECT THE FOLLOWING FACTORS. ; ;RMROOT: .FCTR RMSIOM-RMSCBL-RMSCOM-RMSEXE-RMSIX0 ;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 ; ; GOTO STEP 2-3 ; ;*********** ; STEP 2-3 * ;*********** ; ; ; IF YOU ARE NOT RSTS/E, AND MAY USE ASYNCHRONOUS I/O, GOTO STEP 2-4. ; ELSE, IF RSTS/E, OR IF YOU ARE USING SYNCHRONOUS I/O ONLY, THEN SELECT ; THE FOLLOWING FACTORS. ; ;RMSEXE: .FCTR LB:[1,1]RMSLIB/LB:R0EXSY:R0RSES:R0WTBS:R0RMSA:R0IFLF ; ; GOTO STEP 3 ; ;*********** ; STEP 2-4 * ;*********** ; ; IF YOU WANT TO PERFORM JUST ASYNCHRONOUS I/O, OR IF YOU WANT THE ; CAPABILITY TO PERFORM EITHER SYNCHRONOUS OR ASYNCHRONOUS I/O, THEN ; SELECT THE FOLLOWING FACTORS. ; ;RMSEXE: .FCTR LB:[1,1]RMSLIB/LB:R0EXEC:R0RSET:R0WATB:R0RMSA:R0IFLF ; ; GOTO STEP 3 ;**************************************************************************** ;**************************************************************************** ; STEP 3 ***************** DECLARE RMS-11 CO-TREE ***************** ;**************************************************************************** ; ; THE FOLLOWING IS THE STARTING FACTOR FOR THE RMS11 CO-TREE. ; THE FACTOR NAME "RMSALL" IS REFERENCED IN YOUR TASK'S ODL FILE. ; ; THE "RMSFIL" FACTOR DECLARES THE OVERLAY STRUCTURE FOR ALL RMS-11 ; FILE OPERATIONS. ; ; THE "RMSREC" FACTOR DECLARES THE OVERLAY STRUCTURE FOR ALL RMS-11 ; RECORD OPERATIONS. ; .NAME RMS11 RMSALL: .FCTR RMS11-*(RMSFIL,RMSREC) ; ; GOTO STEP 4 ;**************************************************************************** ;**************************************************************************** ; STEP 4 * FILE OPERATION OVERLAY STRUCTURE * ;****************************************************** ; ; IN THIS STEP, THE MODULES WHICH ARE COMMON TO ALL FILE OPERATIONS ; ARE DECLARED. THERE IS NO SELECTION REQUIRED ON YOUR PART. NOTE THAT THE ; CURRENT DEFINITION OF THE FILE OPERATION OVERLAY STRUCTURE ; MINIMIZES OVERLAY I/O FOR FILE OPERATIONS. THUS, ; YOU NEED ONLY SELECT THE FILE OPERATIONS DESIRED; DON'T ; BOTHER ABOUT REDUCING EVEN FURTHER THE ; NUMBER OF OVERLAY I/O OPERATIONS INVOLVED. IT IS BETTER TO OPTIMIZE ; THE RECORD OPERATION OVERLAY STRUCTURE, WHICH HAS MORE OVERLAYS, ; AS WELL AS THE OPERATIONS THAT ARE MOST FREQUENTLY USED (I.E. THERE ; IS A BIGGER PAYOFF IN OPTIMIZING RECORD OPERATION OVERLAY STRUCTURES ; THAN THERE IS IN OPTIMIZING FILE OPERATION OVERLAYS). ; .NAME RMSFAB RMSFIL: .FCTR RMSFAB-RMSFL RMSFL: .FCTR LB:[1,1]RMSLIB/LB:R0CLCM-RMFILE-RMSFL0 RMSFL0: .FCTR (RMSCR0,RMSOPN-RMSDPC-RMSCON,RMSFNM,RMSCLS-RMSDIS-RMSMIC) RMSOPN: .FCTR LB:[1,1]RMSLIB/LB:R0OPFL-RMSOP0-RMSEQO-RMRELO-RMIDXO RMSDPC: .FCTR LB:[1,1]RMSLIB/LB:R0DPYC:R0CKSM-RMSFL1 RMSFL1: .FCTR LB:[1,1]RMSLIB/LB:R0ALDB:R0ALBD:R0ALIO RMSCON: .FCTR LB:[1,1]RMSLIB/LB:R0CCLN:R0ALBS-RMSCNS-RMRCNR-RMXCNX RMSFNM: .FCTR LB:[1,1]RMSLIB/LB:R0PRFN:R0XPFN:R0MKWA:R0ASLN:R0INIT-RMSFL1 RMSCLS: .FCTR LB:[1,1]RMSLIB/LB:R0CKSM-RMEXTD-RMR1RL-RMSEQC-RMRELC-RMIDXC RMSDIS: .FCTR LB:[1,1]RMSLIB/LB:R0CCLN-RMSDSS-RMRDSR-RMXDSX ; ; GOTO STEP 5 ;**************************************************************************** ; STEP 5 * SELECT $CREATE MODULES ;********* ; ; IN THIS STEP, YOU MUST SELECT THOSE MODULES WHICH ; SUPPORT THE "CREATE-FILE" FUNCTION REQUIRED BY YOUR TASK, IF ANY. ; ; IF YOU DO NOT WANT TO CREATE ANY NEW RMS FILES IN YOUR TASK (E.G. ALL ; FILES USED BY THE TASK HAVE ALREADY BEEN CREATED), THEN GOTO STEP 5-1. ; ELSE, SELECT THE FOLLOWING FACTORS. ; ; .NAME RMSCRE ;RMSCR0: .FCTR RMSCRE-RMCREA-RMCRIX-(RM0X11-RM0X21,RM0X31) ;RMCREA: .FCTR LB:[1,1]RMSLIB/LB:R0CRXI:R0CRFL:R0MFNB:R0RD50-RMSCR2 ; ; GOTO STEP 6 ; ;*********** ; STEP 5-1 * ;*********** ; ; IF YOU DO NOT WANT TO CREATE ANY NEW RMS FILES, THEN SELECT THE ; FOLLOWING FACTOR. ; .NAME RMDCRE ;RMSCR0: .FCTR RMDCRE ; ; GOTO STEP 6 ;**************************************************************************** ; STEP 6 * SELECT COMMON $OPEN,$CREATE, AND DIRECTORY ACCESS MODULES ;********* ; ; IN THIS STEP, YOU MUST SELECT THOSE MODULES WHICH WILL BE NEEDED ; FOR ALL GENERAL FILE OPERATIONS. ; ; IF RSTS/E, GOTO STEP 6-1. ; ELSE, SELECT THE FOLLOWING FACTORS FOR THE RSX/IAS ENVIRONMENT ; ;RMFILE: .FCTR LB:[1,1]RMSLIB/LB:R0RXAC ;RMSOP0: .FCTR LB:[1,1]RMSLIB/LB:R0RXDI:R0MFNB:R0RD50 ;RMSCR2: .FCTR LB:[1,1]RMSLIB/LB:R0RXCR:R0RXMD:R0RXDI ;RMSER1: .FCTR LB:[1,1]RMSLIB/LB:R0RXMD-RMSOP0 ; ; GOTO STEP 7 ; ;*********** ; STEP 6-1 * ;*********** ; ; IF RSTS/E, THEN SELECT ALL OF THE FOLLOWING FACTORS. ; ;RMFILE: .FCTR LB:[1,1]RMSLIB/LB:R0REOP ;RMSOP0: .FCTR LB:[1,1]RMSLIB/LB:R0MFNB:R0RD50 ;RMSCR2: .FCTR LB:[1,1]RMSLIB/LB:R0RECR ;RMSER1: .FCTR RMSOP0 ; ; GOTO STEP 7 ;**************************************************************************** ; STEP 7 * SELECT IMPLICIT FILE EXTENSION MODULES ;********* ; ; 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. ; ;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 ; ; NOTE: THE ABOVE THREE FACTORS ARE REFERENCED BY SEVERAL DIFFERENT ; FACTORS THROUGHOUT THIS PROTOTYPE ODL. IF YOU CONCATENATE FACTORS ; FOR OPTIMIZATION PURPOSES, AND END UP WITH TASK-BUILDER DUPLICATE ; DEFINITION TYPE ERRORS, THEN ONE OF THESE FACTORS IS INVOLVED ; IF ONE OF THE FOLLOWING ENTRY-POINTS IS NAMED BY THE TASK-BUILDER. ; ; FACTOR MODULE ENTRY-POINT ; ------ ------ ----------- ; ; RMEXTD R0EXTD $EXTD ; RMR1RL R1RLBK $RLBK1 ; R1NXBK $NXBK1, $GTBK1, $MPBK1 ; RMR1WL R1WTLS $WTLST ; ; GOTO STEP 8 ; ;*********** ; STEP 7-1 * ;*********** ; ; IF YOU ARE USING THE RMSSEQ RESIDENT LIBRARY ; THEN SELECT THE FOLLOWING THREE FACTORS. ; .NAME RMDEXT .NAME RMDRLB .NAME RMDWTL ;RMEXTD: .FCTR RMDEXT ;RMR1RL: .FCTR RMDRLB ;RMR1WL: .FCTR RMDWTL ; ; GOTO STEP 8 ;**************************************************************************** ; STEP 8 * SELECT EXPLICIT $EXTEND,$ERASE MODULES ;********* ; ; IN THIS STEP, YOU MUST SELECT THOSE MODULES WHICH WILL EXPLICITLY ; EXTEND YOUR FILES, OR EXPLICITLY ERASE YOUR FILES. ; ; IF YOU WANT TO USE THE $EXTEND AND/OR $ERASE FUNCTIONS, THEN GOTO ; STEP 8-1. ELSE, IF YOU DO NOT WANT ANY OF THESE FUNCTIONS, SELECT ; THE FOLLOWING FACTOR. ; .NAME RMDMIC ;RMSMIC: .FCTR RMDMIC ; ; GOTO STEP 9 ; ;*********** ; STEP 8-1 * ;*********** ; ; IF YOU WANT EITHER THE $EXTEND AND/OR THE $ERASE FUNCTIONS, THEN SELECT ; THE FOLLOWING FACTOR. ; ;RMSMIC: .FCTR RMSERA-RMSEXT ; ; GOTO STEP 8-2 ;*********** ; STEP 8-2 * ;*********** ; ; $ERASE ; IF YOU WANT THE ERASE FILE FUNCTION, THEN SELECT THE FOLLOWING FACTOR, ; ELSE GOTO STEP 8-3. ; ;RMSERA: .FCTR LB:[1,1]RMSLIB/LB:R0ERFL-RMSER1 ; ; GOTO STEP 8-4 ;*********** ; STEP 8-3 * ;*********** ; ; IF YOU DO NOT WANT THE ERASE FILE FUNCTION, THEN SELECT THE FOLLOWING ; FACTOR. ; .NAME RMDERA ;RMSERA: .FCTR RMDERA ; ; GOTO STEP 8-4 ;*********** ; STEP 8-4 * ;*********** ; ; $EXTEND ; IF YOU WANT THE EXPLICIT EXTEND FILE FUNCTION, THEN SELECT THE FOLLOWING ; FACTOR, ELSE GOTO STEP 8-5. ; ;RMSEXT: .FCTR LB:[1,1]RMSLIB/LB:R0EXT0:R2BFMT-RMSFL1 ; ; GOTO STEP 9 ;*********** ; STEP 8-5 * ;*********** ; ; IF YOU DO NOT WANT THE EXPLICIT EXTEND FILE FUNCTION, THEN SELECT THE ; FOLLOWING FACTOR. ; .NAME RMDDXT ;RMSEXT: .FCTR RMDDXT ; ; GOTO STEP 9 ;**************************************************************************** ; STEP 9 * SELECT SEQUENTIAL FILE OPERATION MODULES ;********* ; ; IN THIS STEP, YOU MUST SELECT THE "SEQUENTIAL" ORGANIZATION ; FILE OPERATIONS WHICH CORRESPOND TO THE FEATURES YOU HAVE ; SELECTED IN PREVIOUS STEPS. ; ; IF NO SEQUENTIAL FILE CREATION IS REQUIRED, THEN SELECT THE FOLLOWING ; FACTOR, ELSE GOTO STEP 9-1. ; .NAME RMDCRS ;RM0X11: .FCTR RMDCRS ; ; GOTO STEP 9-2 ;*********** ; STEP 9-1 * ;*********** ; ; IF SEQUENTIAL FILE CREATION IS REQUIRED, THEN SELECT THE FOLLOWING ; FACTOR. ; ;RM0X11: .FCTR LB:[1,1]RMSLIB/LB:R1CRFL:R1CRCK ; ; GOTO STEP 9-3 ;*********** ; STEP 9-2 * ;*********** ; ; IF YOU ARE NOT USING ANY SEQUENTIAL FILE FILE OPERATIONS, THEN SELECT ; THE FOLLOWING FACTORS, ELSE GOTO STEP 9-3. ; .NAME RMDSQO .NAME RMDSQC .NAME RMDCNS .NAME RMDDSS ;RMSEQO: .FCTR RMDSQO ;RMSEQC: .FCTR RMDSQC ;RMSCNS: .FCTR RMDCNS ;RMSDSS: .FCTR RMDDSS ; ; GOTO STEP 10 ;*********** ; STEP 9-3 * ;*********** ; ; IF YOU ARE USING SEQUENTIAL FILE FILE OPERATIONS, THEN SELECT THE ; FOLLOWING FACTORS. ; ;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-RMR1WL ; ; GOTO STEP 10 ;**************************************************************************** ; 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. ; ; IF RELATIVE FILE CREATION IS NOT REQUIRED, THEN SELECT THE FOLLOWING ; FACTOR, ELSE GOTO STEP 10-1. ; .NAME RMDCRR ;RM0X21: .FCTR RMDCRR ; ; GOTO STEP 10-2 ;************ ; STEP 10-1 * ;************ ; ; IF RELATIVE FILE CREATION IS REQUIRED, THEN SELECT THE FOLLOWING FACTOR. ; ;RM0X21: .FCTR LB:[1,1]RMSLIB/LB:R2CRFL:R2CRCK:R2WPLG:R2BFMT:R0CKSM-RMSFL1 ; ; GOTO STEP 10-3 ;************ ; STEP 10-2 * ;************ ; ; IF YOU ARE NOT USING ANY RELATIVE FILE FILE OPERATIONS, THEN SELECT ; THE FOLLOWING FACTORS, ELSE GOTO STEP 10-3. ; .NAME RMDRLO .NAME RMDRLC .NAME RMDCNR .NAME RMDDSR ;RMRELO: .FCTR RMDRLO ;RMRELC: .FCTR RMDRLC ;RMRCNR: .FCTR RMDCNR ;RMRDSR: .FCTR RMDDSR ; ; GOTO STEP 11 ;************ ; STEP 10-3 * ;************ ; ; IF YOU ARE USING RELATIVE FILE FILE OPERATIONS, THEN SELECT THE ; FOLLOWING FACTORS. ; ;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 ; ; GOTO STEP 11 ;**************************************************************************** ; 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. ; .NAME RMDCLS .NAME RMDCRX .NAME RMDIDX .NAME RMDOPN .NAME RMDCNX .NAME RMDDSX .NAME RMDCXX ; ; IF INDEX FILE CREATION IS NOT REQUIRED, THEN SELECT THE FOLLOWING FACTOR, ; ELSE GOTO STEP 11-1. ; ;RM0X31: .FCTR RMDCRX ;RMCRIX: .FCTR RMDCXX ; ; GOTO STEP 11-2 ;************ ; STEP 11-1 * ;************ ; ; IF INDEX FILE CREATION IS REQUIRED, THEN SELECT THE FOLLOWING ; FACTORS. ; ;RMCRIX: .FCTR LB:[1,1]RMSLIB/LB:R3CRFL ;RM0X31: .FCTR (RM0X32,RM0X33) ;RM0X32: .FCTR LB:[1,1]RMSLIB/LB:R3CRCK ;RM0X33: .FCTR LB:[1,1]RMSLIB/LB:R3WPLG:R0CKSM:R0ALBD-RMEXTD ; ; GOTO STEP 11-3 ;************ ; STEP 11-2 * ;************ ; ; IF YOU ARE NOT USING ANY INDEX FILE-FILE OPERATIONS, THEN SELECT THE ; FOLLOWING FACTORS, ELSE GOTO STEP 11-3. ; ;RMIDXC: .FCTR RMDCLS ;RMSIX0: .FCTR RMDIDX ;RMIDXO: .FCTR RMDOPN ;RMXCNX: .FCTR RMDCNX ;RMXDSX: .FCTR RMDDSX ; ; GOTO STEP 12 ;************ ;* STEP 11-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. ; ;RMSIX0: .FCTR RMDIDX ; ; GO TO STEP 11-5 ;*********** ;* STEP 11-4 * ;************* ; ; ; IF YOU ARE USING INDEX FILE FILE-OPERATIONS BUT ARE NOT ; USING RMSSEQ, SELECT THE FOLLOWING FACTOR: ; ;RMSIX0: .FCTR LB:[1,1]RMSLIB/LB:R0RLSB:R0GETB ; ; GOTO STEP 11-5 ; ;*********** ;* STEP 11-5 * ;************* ; ; ; IF YOU ARE USING INDEX FILE-FILE OPERATIONS THEN ; SELECT THE FOLLOWING FACTORS. ; ;RMIDXC: .FCTR LB:[1,1]RMSLIB/LB:R3CLOS ;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 12 ;**************************************************************************** ;**************************************************************************** ; STEP 12 * RECORD OPERATION OVERLAY STRUCTURE * ;******************************************************* ; ; THE PURPOSE OF THIS STEP IS TO DEFINE THE OVERLAY STRUCTURE FOR ; RECORD OPERATIONS ON ALL FILE ORGANIZATIONS. SINCE RECORD OPERATIONS ; TEND TO BE USED MUCH MORE THAN FILE OPERATIONS, ANY EFFORT SPENT ; IN MINIMIZING OVERLAYS IN THIS AREA WILL HAVE SUBSTANTIAL PERFORMANCE ; PAYOFFS. ; ; RMSSQ0 ---- SEQUENTIAL FILE RECORD OPERATIONS (STEP 13) ; RM0X26 ---- RELATIVE FILE RECORD OPERATIONS (STEP 14) ; RM0X36 ---- INDEXED FILE RECORD OPERATIONS (STEP 15) ; RMSBLK ---- BLOCK I/O (STEP 16) ; RMMISC ---- MISC. RECORD OPERATIONS $REWIND,$FREE,$FLUSH,$TRUNCATE ; $FLUSH, AND $TRUNCATE (STEP 17) ; .NAME RMSRAB RMSREC: .FCTR RMSRAB-(RMSSQ0,RM0X26,RM0X36,RMSBLK,RMMISC) ; ; GOTO STEP 13 ;**************************************************************************** ; STEP 13 * RMS SEQUENTIAL FILE RECORD OPERATIONS ;********** ; ; IN THIS STEP, YOU MUST SELECT THE RECORD OPERATIONS, IF ANY, THAT ; YOU WILL UTILIZE ON THE SEQUENTIAL FILES ACCESSED BY YOUR TASK. ; ; IF YOU ARE NOT USING SEQUENTIAL FILES, GOTO STEP 13-8 ; ELSE, IF YOU ARE USING THE RMSSEQ RESIDENT LIBRARY, GO TO STEP 13-7. ; ELSE, SELECT THE APPROPRIATE MODULES IN THIS STEP. ; ; SEQ: ROOT ; ; THE FOLLOWING SET OF FACTORS MUST BE SELECTED IF YOU WANT SEQUENTIAL ; FILE RECORD OPERATIONS. THEY MAKE UP THE "ROOT" OF ; THE SEQUENTIAL FILE RECORD OPERATION OVERLAY STRUCTURE. ANY ; OPTIMIZATION OF THIS OVERLAY STRUCTURE MUST ENSURE THAT THIS "ROOT" ; IS ALWAYS IN MEMORY WHEN ANY SEQUENTIAL FILE RECORD OPERATION ; IS PERFORMED. ; .NAME RMSSEQ ;RMSSQ0: .FCTR RMSSEQ-RMR1RL-RMEXTD-RMSQOP ;RMSQOP: .FCTR LB:[1,1]RMSLIB/LB:R1WTLS:R1CKEF:R1DELE-RMSQOR ;RMSQOR: .FCTR (RMIN10,RMOU1P,RMOU1U) ; ; RMIN10 ---- $GET/$FIND OPERATIONS FOR SEQUENTIAL FILE(STEP 13-1) ; RMOU1P ---- $PUT OPERATION FOR THE SEQUENTIAL FILE(STEP 13-3) ; RMOU1U ---- $UPDATE/$DELETE OPERATION FOR THE SEQUENTIAL FILE(STEP 13-5) ; ; NOTE: IF YOU WANT TO ELIMINATE ALL OVERLAYS WITHIN THE SEQUENTIAL ; FILE RECORD OPERATIONS, THEN CONCATENATE THE ABOVE FACTORS AS FOLLOWS- ; FROM: (RMIN10,RMOU1P,RMOU1U) ; TO: -RMIN10-RMOU1P-RMOU1U ; ; GOTO STEP 13-1 ;************ ; STEP 13-1 * ;************ ; ; SEQ: $GET, $FIND ; ; IF YOU WANT TO READ, OR UPDATE, SEQUENTIAL FILES, YOU MUST SELECT THE ; FOLLOWING FACTOR, ELSE GOTO STEP 13-2. ; ;RMIN10: .FCTR LB:[1,1]RMSLIB/LB:R1GET:R1GSET:R1GBLD ; ; GOTO STEP 13-3 ;*********** ;STEP 13-2 * ;*********** ; ; IF YOU DO NOT WANT TO READ, OR UPDATE, A SEQUENTIAL FILE, THEN SELECT THE ; FOLLOWING FACTOR. ; .NAME RMDS10 ;RMIN10: .FCTR RMDS10 ; ; GOTO STEP 13-3 ;*********** ;STEP 13-3 * ;*********** ; ; SEQ: $PUT ; ; IF YOU WANT TO WRITE TO SEQUENTIAL FILES, THEN SELECT THE FOLLOWING ; FACTOR, ELSE GOTO STEP 13-4. ; ;RMOU1P: .FCTR LB:[1,1]RMSLIB/LB:R1PUT:R1PSET:R1PUNR:R1PBLD ; ; GOTO STEP 13-5 ;*********** ;STEP 13-4 * ;*********** ; ; IF YOU DO NOT WANT TO WRITE TO SEQUENTIAL FILES, THEN SELECT THE ; FOLLOWING FACTOR. ; .NAME RMDS1P ;RMOU1P: .FCTR RMDS1P ; ; GOTO STEP 13-5 ;*********** ;STEP 13-5 * ;*********** ; ; SEQ: $UPDATE ; ; IF YOU WISH TO UPDATE RECORDS IN A SEQUENTIAL FILE, THEN ; SELECT THE FOLLOWING FACTOR, ELSE GOTO STEP 13-6. ; ;RMOU1U: .FCTR LB:[1,1]RMSLIB/LB:R1UPDA:R1UBLD:R1PSET ; ; NOTE: IF RMOU1U IS CONCATENATED WITH RMOU1P IN FACTOR RMSQOR (STEP 13) ; THEN REMOVE THE ":R1PSET" NAME FROM THE ABOVE RMOU1U FACTOR, ELSE ; THE SYMBOL "$PSET1" WILL BE MULTIPLY DEFINED. ; ; GOTO STEP 14 ;*********** ;STEP 13-6 * ;*********** ; ; IF YOU DO NOT WANT TO UPDATE RECORDS IN A SEQUENTIAL FILE, ; THEN SELECT THE FOLLOWING FACTOR. ; .NAME RMDS1U ;RMOU1U: .FCTR RMDS1U ; ; GOTO STEP 14 ;************ ; STEP 13-7 * ;************ ; ; IF YOU ARE USING THE RMSSEQ RESIDENT LIBRARY AND ; IF YOU WANT THE UPDATE RECORD FUNCTION, THEN SELECT THE FOLLOWING ; FACTOR, ELSE GOTO STEP 13-8. ; ;RMSSQ0: .FCTR RMSSEQ-LB:[1,1]RMSLIB/LB:R1UPDA:R1UBLD:R1DELE ; ; GOTO STEP 14 ;************ ; STEP 13-8 * ;************ ; ; IF YOU DO NOT WANT ANY SEQUENTIAL FILE RECORD OPERATIONS, OR IF ; USING THE RMSSEQ RESIDENT LIBRARY AND YOU DO NOT WANT THE UPDATE ; RECORD FUNCTION, THEN YOU MUST SELECT THE FOLLOWING FACTOR. ; .NAME RMDDSQ ;RMSSQ0: .FCTR RMDDSQ ; ; GOTO STEP 14 ;**************************************************************************** ; STEP 14 * RMS RELATIVE FILE RECORD OPERATIONS ;********** ; ; IN THIS STEP, YOU MUST SELECT THE RECORD OPERATIONS, IF ANY, THAT ; YOU WILL UTILIZE ON THE RELATIVE FILES ACCESSED BY YOUR TASK. ; ; IF YOU ARE NOT USING RELATIVE FILES, GOTO STEP 14-9, ; ELSE, SELECT THE APPROPRIATE FACTORS IN THIS STEP. ; ; REL: ROOT, $FIND ; ; THE FOLLOWING SET OF FACTORS MUST BE SELECTED IF YOU WANT RELATIVE FILE ; RECORD OPERATIONS. THEY MAKE UP THE "ROOT" OF ; THE RELATIVE FILE RECORD OPERATION OVERLAY STRUCTURE. ANY ; OPTIMIZATION OF THIS OVERLAY STRUCTURE MUST ENSURE THAT THIS "ROOT" ; IS ALWAYS IN MEMORY WHEN ANY RELATIVE FILE RECORD OPERATION ; IS PERFORMED. ; ; .NAME RMSREL ;RM0X26: .FCTR RMSREL-RMIO2C-RMIO2A ;RMIO2C: .FCTR LB:[1,1]RMSLIB/LB:R2IOCK:R2CALC:R0CKSM ;RMIO2A: .FCTR LB:[1,1]RMSLIB/LB:R2FIND:R2GSET-(RMIO2G,RMIO2P) ; ; NOTE: TO COMBINE ALL RELATIVE FILE RECORD OPERATIONS INTO ONE ; OVERLAY, CHANGE THE ABOVE FACTOR AS FOLLOWS: ; FROM: -(RMIO2G,RMIO2P) ; TO: -RMIO2G-RMIO2P ; ; GOTO STEP 14-1 ;************ ; STEP 14-1 * ;************ ; ; REL: $GET-$UPDATE-$DELETE COMBINED INTO ONE OVERLAY ; IF YOU WANT TO READ, UPDATE, OR DELETE RECORDS IN A RELATIVE FILE, ; SELECT THE FOLLOWING FACTOR, ELSE GOTO STEP 14-2. ; ;RMIO2G: .FCTR LB:[1,1]RMSLIB/LB:R2GET-RMIO2U-RMIO2D ; ; GOTO STEP 14-3 ;************ ; STEP 14-2 * ;************ ; ; IF YOU DO NOT WANT TO READ, UPDATE, OR DELETE RECORDS IN A RELATIVE FILE, ; THEN SELECT THE FOLLOWING FACTOR. ; .NAME RMDR2G ;RMIO2G: .FCTR RMDR2G ; ; GOTO STEP 14-3 ;************ ; STEP 14-3 * ;************ ; ; REL: $PUT ; IF YOU WANT TO WRITE RECORDS INTO A RELATIVE FILE, THEN SELECT THE ; FOLLOWING FACTOR, ELSE GOTO STEP 14-4. ; ;RMIO2P: .FCTR LB:[1,1]RMSLIB/LB:R2PUT:R2PSET:R2BFMT:R2EXTD-RMEXTD ; ; GOTO STEP 14-5 ;************ ; STEP 14-4 * ;************ ; ; IF YOU DO NOT WANT TO WRITE RECORDS INTO A RELATIVE FILE, THEN SELECT ; THE FOLLOWING FACTOR. ; .NAME RMDR2P ;RMIO2P: .FCTR RMDR2P ; ; GOTO STEP 14-5 ;************ ; STEP 14-5 * ;************ ; ; REL: $UPDATE ; IF YOU WANT TO UPDATE RECORDS IN A RELATIVE FILE, THEN SELECT THE ; FOLLOWING FACTOR, ELSE GOTO STEP 14-6. ; ;RMIO2U: .FCTR LB:[1,1]RMSLIB/LB:R2UPDA:R2PSET ; ; IF $PUT AND $UPDATE ARE CONCATENATED INTO ONE OVERLAY, THEN ; DELETE THE ":R2PSET" NAME FROM THE FACTOR ABOVE, ELSE THE SYMBOL ; "$PSET2" WILL BE MULTIPLY DEFINED. ; ; GOTO STEP 14-7 ;************ ; STEP 14-6 * ;************ ; ; IF YOU DO NOT WANT TO UPDATE RECORDS IN A RELATIVE FILE, THEN SELECT ; THE FOLLOWING FACTOR. ; .NAME RMDR2U ;RMIO2U: .FCTR RMDR2U ; ; GOTO STEP 14-7 ;************ ; STEP 14-7 * ;************ ; ; REL: $DELETE ; IF YOU WANT TO DELETE RECORDS FROM A RELATIVE FILE, THEN SELECT THE ; FOLLOWING FACTOR, ELSE GOTO STEP 14-8. ; ;RMIO2D: .FCTR LB:[1,1]RMSLIB/LB:R2DELE ; ; GOTO STEP 15 ;************ ; STEP 14-8 * ;************ ; ; IF YOU DO NOT WANT TO DELETE RECORDS FROM A RELATIVE FILE, THEN SELECT ; THE FOLLOWING FACTOR. ; .NAME RMDR2D ;RMIO2D: .FCTR RMDR2D ; ; GOTO STEP 15 ;************ ; STEP 14-9 * ;************ ; ; IF YOU DO NOT WANT ANY RELATIVE FILE RECORD OPERATIONS, THEN YOU ; MUST SELECT THE FOLLOWING FACTOR. ; .NAME RMDDRL ;RM0X26: .FCTR RMDDRL ; ; GOTO STEP 15 ;**************************************************************************** ; STEP 15 * RMS INDEXED FILE RECORD OPERATIONS ;********** ; ; IN THIS STEP, YOU MUST SELECT THE RECORD OPERATIONS, IF ANY, THAT ; YOU WILL UTILIZE ON THE INDEXED FILES ACCESSED BY YOUR TASK. ; ; IF YOU DO NOT WANT INDEXED FILE SUPPORT, GOTO STEP 15-10, ; ELSE, SELECT THE APPROPRIATE FACTORS IN THIS STEP. ; ; ; IDX: ROOT ; ; THE FOLLOWING SET OF FACTORS MUST BE SELECTED IF YOU WANT INDEXED FILE ; RECORD OPERATIONS. AS SUCH THEY MAKE UP THE "ROOT" OF ; THE INDEXED FILE RECORD OPERATION OVERLAY STRUCTURE. ANY ; OPTIMIZATION OF THIS OVERLAY STRUCTURE MUST ENSURE THAT THIS "ROOT" ; WILL ALWAYS BE PRESENT WHENEVER ANY INDEXED FILE RECORD OPERATION ; IS PERFORMED. ; .NAME RMSIDX ;RM0X36: .FCTR RMSIDX-RMOU3C-RMOU3D-RMOU3E-RMIO31 ;RMOU3C: .FCTR LB:[1,1]RMSLIB/LB:R3FROO:R3GKEY:R3FPAT:R3MISC:R3WBKT ;RMOU3D: .FCTR LB:[1,1]RMSLIB/LB:R3FRFA:R3FNDR:R3NBKT:R3KREF ;RMOU3E: .FCTR LB:[1,1]RMSLIB/LB:R3SDBK:R3SKRE:R0CMKY:R0CKSM:R0GPTR ; ; GOTO STEP 15-1 ;*********** ;STEP 15-1 * ;*********** ; ; IDX: $GET-$FIND,$UPDATE-$DELETE,$PUT OVERLAYED WITH EACH OTHER ; IF YOU WANT TO READ, WRITE, DELETE, OR UPDATE RECORDS IN AN INDEXED ; FILE, YOU MUST SELECT THE FOLLOWING FACTOR WHICH DESCRIBES THE ; INDEXED FILE RECORD OPERATION OVERLAY STRUCTURE. ; ;RMIO31: .FCTR (RMIO3G,RMIO3U,RMIO3P) ; ; NOTE: IF YOU WANT TO INCLUDE THE GET/FIND OPERATIONS IN THE "ROOT" OF ; THE INDEX FILE RECORD OPERATION OVERLAY STRUCTURE, AND THUS ; OPTIMIZE GET-UPDATE PROGRAMMING SEQUENCES, THEN CHANGE ; THE ABOVE FACTOR AS FOLLOWS: ; FROM: (RMIO3G,RMIO3U,RMIO3P) ; TO: RMIO3G-(RMIO3U,RMIO3P) ; ; GOTO STEP 15-2 ;*********** ;STEP 15-2 * ;*********** ; ; IDX: $GET,$FIND ; IF YOU WANT TO READ, UPDATE, OR DELETE RECORDS FROM AN INDEXED FILE, ; THEN SELECT THE FOLLOWING FACTORS, ELSE GOTO STEP 15-3. ; ;RMIO3G: .FCTR LB:[1,1]RMSLIB/LB:R3GET:R3FIND-RMIN3S-RMIN3K ;RMIN3K: .FCTR LB:[1,1]RMSLIB/LB:R3GSET:R3GTRE:R3GRPT:R3FRRF:R3FRKE ;RMIN3S: .FCTR LB:[1,1]RMSLIB/LB:R3FRSE:R3POSE:R3POSR:R3FRRV ; ; GOTO STEP 15-4 ;*********** ;STEP 15-3 * ;*********** ; ; IF YOU DO NOT WANT TO READ, UPDATE, OR DELETE RECORDS FROM AN INDEXED ; FILE, THEN SELECT THE FOLLOWING FACTOR. ; .NAME RMDX3G ;RMIO3G: .FCTR RMDX3G ; ; GOTO STEP 15-4 ;*********** ;STEP 15-4 * ;*********** ; ; 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. ; ;RMIO3U: .FCTR LB:[1,1]RMSLIB/LB:R3UPDA:R3USET:R3RPLC-(RMOU3Q,RMIO3D) ;RMIO3D: .FCTR LB:[1,1]RMSLIB/LB:R3DELE:R3DSET:R3SKDL-RMOU33 ; ; GOTO STEP 15-6 ;*********** ;STEP 15-5 * ;*********** ; ; 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 * ;*********** ; ; IDX: $PUT ; IF YOU WANT TO WRITE NEW RECORDS INTO AN INDEXED FILE, THEN SELECT THE ; FOLLOWING FACTOR, ELSE GOTO STEP 15-7. ; ;RMIO3P: .FCTR LB:[1,1]RMSLIB/LB:R3PUT:R3PSET-(RMOU3Q,RMOU33) ; ; GOTO STEP 15-8 ;*********** ;STEP 15-7 * ;*********** ; ; IF YOU DO NOT WANT TO WRITE NEW RECORDS INTO AN INDEXED FILE, THEN ; SELECT THE FOLLOWING FACTOR. ; .NAME RMDX3P ;RMIO3P: .FCTR RMDX3P ; ; GOTO STEP 15-8 ;************ ; STEP 15-8 * ;************ ; ; IF YOU SELECTED THE WRITE (STEP 15-6), UPDATE & DELETE (STEP 15-4) ; FUNCTIONS, THEN YOU MUST SELECT THE FOLLOWING FACTOR, ; ELSE GOTO STEP 16. ; ;RMOU33: .FCTR LB:[1,1]RMSLIB/LB:R3PIXC:R3FRRV:R3DLSI ; ; IF THE READ/FIND FUNCTIONS (STEP 15-2) WERE CONCATENATED INTO THE ; INDEX FILE ROOT MODULES AS DESCRIBED IN STEP 15-1, THEN THE ; ":R3FRRV" NAME MUST BE REMOVED FROM THE ABOVE FACTOR, ELSE THE SYMBOL ; "$FRRV" WILL BE MULTIPLY DEFINED. ; ; GOTO STEP 15-9 ;*********** ;STEP 15-9 * ;*********** ; ; IDX: GENERAL PUT/UPDATE OVERLAY STRUCTURE ; IF YOU SELECTED THE WRITE (STEP 15-6), AND/OR UPDATE (STEP 15-4), ; FUNCTIONS, THEN YOU MUST SELECT ALL OF THE FOLLOWING FACTORS, ; ELSE GOTO STEP 16. ; ; IF ANY OF THE FOLLOWING FACTORS ARE CONCATENATED FOR PERFORMANCE ; PURPOSES, THEN YOU SHOULD BE AWARE THAT THERE ARE SEVERAL MODULES ; WHICH ARE REFERENCED MANY TIMES IN THE FOLLOWING FACTORS. IN ORDER ; TO TASK-BUILD SUCCESSFULLY, YOU MUST ENSURE THAT THERE ARE NO ; DUPLICATE DEFINITIONS. THE FOLLOWING TABLE CAN BE USED AS A GUIDELINE ; AS TO WHERE DUPLICATE DEFINITIONS WILL OCCUR. ; ; MODULE FACTOR ENTRY-POINT(S) ; ------ ------ -------------- ; ; R3BSRT RMOU3F $BSRT ; RMOU3H $BSRT ; RMOU3A RMOU34 \ ; RMOU35 - $ALOC, $BFMT, $EXTD ; RMOU36 / ; RMOU3P / ; ;RMOU3Q: .FCTR (RMOU34,RMOU35,RMOU36,RMOU3P) ; ; IDX: INSERT USER-DATA RECORD INTO PRIMARY INDEX DATA BUCKET ; ;RMOU34: .FCTR LB:[1,1]RMSLIB/LB:R3IUDR-(RMOU3F,RMOU3G,RMOU3A) ;RMOU3F: .FCTR LB:[1,1]RMSLIB/LB:R3IUDI:R3BSRT:R3IUDC ;RMOU3G: .FCTR LB:[1,1]RMSLIB/LB:R3BSPL:R3BRRV:R3URRV ; ; IDX: INSERT RECORD POINTER INTO DATA LEVEL OF ALTERNATE KEY ; ;RMOU35: .FCTR LB:[1,1]RMSLIB/LB:R3ISID-(RMOU3H,RMOU3A) ;RMOU3H: .FCTR LB:[1,1]RMSLIB/LB:R3ISDI:R3BSRT:R3SSPL ; ; IDX: UPDATE ANY INDEX BUCKET WITH POINTER TO OLD AND SPLIT BUCKETS ; ;RMOU36: .FCTR LB:[1,1]RMSLIB/LB:R3UIDX:R3IKEY-(RMOU3M,RMOU3A) ;RMOU3M: .FCTR LB:[1,1]RMSLIB/LB:R3IKYI:R3KSPL:R3ROOT ; ; IDX: CREATE NEW INDEX WHEN REQUIRED ; ;RMOU3P: .FCTR LB:[1,1]RMSLIB/LB:R3MKID-RMOU3A ; ; IDX: ALLOCATE AND FORMAT NEW BUCKETS ; ;RMOU3A: .FCTR LB:[1,1]RMSLIB/LB:R3ALOC:R3BFMT-RMEXTD ; ; GOTO STEP 16 ;************* ; STEP 15-10 * ;************* ; ; IF YOU DO NOT WANT ANY INDEX FILE RECORD OPERATIONS, THEN YOU MUST SELECT ; THE FOLLOWING FACTOR. ; .NAME RMDDIX ;RM0X36: .FCTR RMDDIX ; ; GOTO STEP 16 ;**************************************************************************** ; STEP 16 * BLOCK I/O ;********** ; ; BLOCK I/O: $READ,$WRITE ; ; IF YOU WANT THE BLOCK I/O (READ/WRITE) OPERATIONS, THEN YOU MUST ; SELECT THE FOLLOWING FACTOR, ELSE GOTO STEP 16-1. ; ;RMSBLK: .FCTR LB:[1,1]RMSLIB/LB:R0RWBI ; ; GOTO STEP 17 ;************ ; STEP 16-1 * ;************ ; ; IF YOU DO NOT WANT THE BLOCK I/O FUNCTIONS, THEN YOU MUST SELECT ; THE FOLLOWING FACTOR. ; .NAME RMDBLK ;RMSBLK: .FCTR RMDBLK ; ; GOTO STEP 17 ;**************************************************************************** ; STEP 17 * MISC: $FLUSH,$FREE,$TRUNCATE,$REWIND ;********** ; ; IF YOU WANT ANY OF THESE MISCELLANEOUS FUNCTIONS, THEN YOU MUST ; SELECT THE FOLLOWING FACTORS, ELSE GOTO STEP 17-1. ; ;RMMISC: .FCTR LB:[1,1]RMSLIB/LB:R0FREE:R1TRUN:R0RWIN:R2CALC-RMWATR ;RMWATR: .FCTR LB:[1,1]RMSLIB/LB:R0WATR:R0MAGT-RMR1WL-RMR1RL-RMEXTD ; ; GOTO STEP 18 ;************ ; STEP 17-1 * ;************ ; ; IF YOU DO NOT WANT ANY OF THESE MISCELLANEOUS FUNCTIONS, THEN YOU ; MUST SELECT THE FOLLOWING FACTOR. ; .NAME RMDDMC ;RMMISC: .FCTR RMDDMC ; ; GOTO STEP 18 ;**************************************************************************** ; STEP 18 * THE END ;********** ; ; HAVE YOU DELETED ALL THE SEMICOLONS (;) THAT APPLY TO THE ; FACTORS YOU HAVE SELECTED ? ;****************************************************************************