BACKCPY * /--- FILE TYPE = E * /--- BLOCK SOURCEY 00 000 81/05/07 06.51 BACKCPY IDENT BACKCPY,BEGIN,BACKCPY ENTRY BACKCPY SYSCOM B1 DEFINE (B1) = 1 *COMMENT COPY NOS VERSION OF DUMP DIRECTORY TO PLATO COMMENT COPYRIGHT CONTROL DATA CORP. 1981. TITLE COPY NOS VERSION OF DUMP DIRECTORY TO PLATO SPACE 4 *** BACKUPS - COPY NOS VERSION OF DUMP DIRECTORY TO PLATO * J. J. BUCHMANN. 81/02/27. * *FUNCTION; * THIS PROGRAM ATTACHES THE DUMP DIRECTORY, AUDIT TRAIL, * AND PARAMETERS FILE AND COPIES THE INFORMATION BACK TO * THE EQUIVALENT PLATO FILES (THEREFORE PLATO MUST BE * UP). THIS SHOULD BE DONE AT LEAST ONCE EVERY DAY TO * INSURE THAT THE ON-LINE INFORMATION AVAILABLE TO THE * PLATO USERS IS ALWAYS UP TO DATE. THEREFORE THIS * PROGRAM SHOULD BE RUN SOON AFTER THE PLATO DUMPS ARE * COMPLETE AND SOON AFTER ANY CHANGE IN THE BACKUP * PARAMETERS. * *PARAMETERS; NONE * *ERROR MESSAGES; * NOT ENOUGH DUMP DIRECTORY DATASETS - CREATE ANOTHER * PLATO DUMP DIRECTORY(32 PART DATASET, RECORD SIZE * = 500 WORDS, NAME=D0X WHERE X STARTS AT A,B,C,D,E * ETC. CHOOSE THE NEXT *X* NOT ALREADY CREATED) * UPDATE THE NUMBER OF DATASETS USING X.BACKMOD. * *PLATO ATTACH READ/WRITE ERROR MESSAGES; * WAITING FOR FILE - XXXXXX (INFORMATIVE ONLY) * ERROR IN ATTACHING * FILE ERROR IN WRITING FILE FILE NAME = XXXXX * ERROR STATUS = NNNN * BEGINNING RECORD = NNNN * ENDING RECORD = NNNN * *INTERNAL ERROR MESSAGES; NONE SPACE 4 *CALL COMCMAC *CALL COMCCMD SPACE 4 **** ASSEMBLY CONSTANTS. IBUFL EQU 2001B IFILE BUFFER LENGTH OBUFL EQU 2001B OFILE BUFFER LENGTH ABUFL EQU 2001B AFILE BUFFER LENGTH DSHF EQU 42 SHIFT COUNT DUMP DIR. NAME INC. BLKSZE EQU 320 BLOCK SIZE (WORDS) FOR S0BACKC MBPARM EQU 1 MAX NUM OF BLOCKS / PARAMETERS MBSLOT EQU 2 MAX NUM OF BLOCKS / SLOT TABLE MBLAB EQU 25 MAX NUM OF BLOCKS / LOOK ASIDE MBVSN EQU 25 MAX NUM OF BLOCKS / VSN TABLE MBALL EQU MBPARM+MBSLOT+MBLAB+MBVSN TOTAL NUM BLOCKS AUDBLK EQU 300 BLOCK SIZE FOR AUDIT TRAIL AUDCNT EQU 26 NUMBER OF BLOCKS/AUDIT TRAIL USERI EQU 377773B USER INDEX FOR FILES TIMEL EQU 7777B TIME LIMIT PRIOR EQU 41B PRIORITY * /--- BLOCK SOURCEY 00 000 81/04/29 08.14 * OFFSETS WITHIN PARAMETER BLOCK PBASE EQU 2 DUMP DIRECTORY BASE NAME PDNUM EQU 3 NUMBER OF DATASETS IN DUMP DIR. PNREC EQU 4 NUMBER OF RECORDS IN DATASETS PLREC EQU 5 NUMBER OF RECORDS-LAST DATASET PPAGE EQU 9 PAGE SIZE **** TITLE COMMON DATA BEGIN BSS 0 FETS BSS 0 I BSS 0 S0BACKC RFILEB IBUF,IBUFL,(FET=13D),EPR O BSS 0 BACKDIR RFILEB OBUF,OBUFL,(FET=13D),EPR A BSS 0 AUDIT RFILEB ABUF,ABUFL,(FET=13D),EPR SPACE 4 * DATA WORDS PAGE DATA 0 PAGE SIZE CPAG DATA 0 CURRENT NUMBER OF WORDS IN PAGE DREC DATA 500 RECORD SIZE FOR DUMP DIRECTORY DNAM DATA 0 BASE NAME FOR DUMP DIRECTORY DNUM DATA 0 NUMBER OF DUMP DIRECTORIES DNOR DATA 0 NUMBER OF RECORDS/THIS DATASET DNORA DATA 0 NUMBER OF RECORDS/ALL DATASETS DNORL DATA 0 NUMBER OF RECORDS/LAST DATASET CNOR DATA 0 CURRENT RECORD NUMBER CNUM DATA 0 CURRENT DATASET NUMBER PACK DATA 0 PACK NAME FOR ATTACHES DPER DATA 7LBACKDIR PERMANENT FILE FOR DUMP DIRECT. SPER DATA 7LS0BACKC PERM. FILE FOR BACKUP PARAMS. APER DATA 5LAUDIT PERMANENT FILE FOR AUDIT TRAIL SRCT DATA 0 RECORD COUNT FOR S0BACKC ARCT DATA 0 RECORD COUNT FOR AUDIT TRAIL * /--- BLOCK SOURCEY 00 000 81/03/04 11.38 TITLE MAIN PROGRAM. *** BACKCPY BACKCPY SB1 1 (B1) = 1 RJ ATTFILE ATTACH FILES RJ RDPARAM READ PARAMETER TABLE RJ INIT INITIALIZE PARAMETERS RJ WRITDMP WRITE DUMP DIRECTORY RJ WRITS0B WRITE S0BACKC RJ WRITAUD WRITE AUDIT TRAIL EQ END ALL DONE TITLE SUBROUTINES ATTFILE SPACE 4 ** ATTFILE - ATTACH PERMANENT FILES * * ATTACH S0BACKC, BACKDIR, AND AUDIT * ATTFILE DATA 0 ENTRY/EXIT SETUI USERI USER INDEX PACKNAM PACK SET PACKNAME ATT1 ATTACH I,SPER,,,R ATTACH S0BACKC SA1 I RJ CKSTATS NZ X2,ATT1 IF FILE WAS BUSY SA1 I+1 RJ CLREPR CLEAR EPR ATT2 ATTACH O,DPER,,,R ATTACH BACKDIR SA1 O RJ CKSTATS NZ X2,ATT2 IF FILE WAS BUSY SA1 O+1 RJ CLREPR CLEAR EPR ATT3 ATTACH A,APER,,,R ATTACH AUDIT SA1 A RJ CKSTATS NZ X2,ATT3 IF FILE WAS BUSY SA1 A+1 RJ CLREPR CLEAR EPR EQ ATTFILE EXIT CKSTATS SPACE 4 ** CKSTATS - CHECK FILE STATUS FOR BUSY * ROLLOUT FOR 64 SECONDS IF BUSY * ABORT IF ERROR * * ENTRY X1-FET STATUS WORD * * EXIT X2=0, NOT BUSY CKSTATS DATA 0 ENTRY/EXIT AX1 10 MX7 -8 BX2 -X7*X1 ISOLATE STATUS ZR X2,CKSTATS IF NOT BUSY AND NO ERROR SX2 X2-1 NZ X2,ABORT ATTACH ERROR ROLLOUT CKSW SX2 1 BUSY STATUS EQ CKSTATS CKSW DATA 7700000100B CLREPR SPACE 4 ** CLREPR - CLEAR ERROR PROCESSING BIT IN THE FET * * ENTRY A1/X1=FET+1 AND CONTENTS CLREPR DATA 0 ENTRY/EXIT SX6 B1 MASK FOR EPR LX6 44 BX6 -X6*X1 SA6 A1 EQ CLREPR * /--- BLOCK SOURCEY 00 000 81/04/02 11.09 DMPI SPACE 4 ** DMPI - INCREMENT DUMP DIR. RECORD NUMBER/DATASET * ABORT WITH MESSAGE IF OUT OF ROOM DMPI DATA 0 ENTRY/EXIT RJ DMPX INCREMENT PL X6,DMPI IF NO ERROR EQ DERR1 ERROR MESSAGE DMPX SPACE 4 ** DMPX - INCREMENT DUMP DIRECTORY * X6.LT.0 IF ERROR DMPX DATA 0 SA1 CNOR CURRENT NUM OF RECORDS SA2 DNOR MAX NUMBER OF RECORDS SX7 X1+B1 INCREMENT IX6 X2-X7 SA7 A1 PL X6,DMPX IF NO NEW DATASET NEEDED SX7 B1 SA7 A7 CURRENT RECORD = 1 SA1 CNUM CURRENT DATASET NUMBER SX7 X1+B1 SA2 DNUM MAX NUMBER IX6 X2-X7 NG X6,DMPX NOT ENOUGH DATASETS NZ X6,DMPX1 IF NOT LAST DATASET SA3 DNORL NUMBER OF RECORDS BX6 X3 SA6 DNOR DMPX1 SA7 A1 SA1 DNAM BASE NAME LX7 DSHF SHIFT FOR NAME IX1 X7+X1 MERGE RJ DSET ATTACH DATASET MX6 0 OK RESPONSE EQ DMPX EXIT INIT SPACE 4 ** INIT - INITIALIZE PARAMETERS INIT DATA 0 ENTRY/EXIT SETTL TIMEL SET TIME LIMIT SETPR PRIOR SET PRIORITY SA1 PARAM+PBASE DATABASE NAME SA2 PARAM+PDNUM NUMBER OF DATASETS BX6 X1 BX7 X2 SA6 DNAM SA7 DNUM SA1 PARAM+PNREC NUMBER OF RECORDS SA2 PARAM+PLREC NUMBER OF RECORDS(LAST DATASET) BX6 X1 BX7 X2 SA6 DNORA SA7 DNORL SA1 PARAM+PPAGE PAGE SIZE BX6 X1 SA6 PAGE SA6 CPAG EQ INIT INTD SPACE 4 ** INTD - INITIALIZE DUMP DIRECTORY POINTERS * SET TO FILE 0, LAST BLOCK INTD DATA 0 ENTRY/EXIT SA1 DNORA DATASET NUMBER OF RECORDS MX7 0 BX6 X1 SA6 CNOR SA7 CNUM DATASET NUMBER SA6 DNOR EQ INTD EXIT * /--- BLOCK SOURCEY 00 000 81/03/05 08.20 RDPARAM SPACE 4 ** RDPARAM - READ PARAMETER BLOCK RDPARAM DATA 0 ENTRY/EXIT RJ ZPARAM ZERO PARAMETER AREA REWIND I READ I,R READW I,PARAM,MBPARM*BLKSZE EQ RDPARAM EXIT TRIPMSG SPACE 4 ** TRIPMSG - WRITE A MESSAGE TO THE DAYFILE 3 TIMES * * X6 - ADDRESS OF MESSAGE TRIPMSG DATA 0 SA6 TRSAVE MESSAGE X6 SA1 TRSAVE MESSAGE X1 SA1 TRSAVE MESSAGE X1 EQ TRIPMSG TRSAVE DATA 0 WRITAUD SPACE 4 ** WRITE AUDIT TRAIL BACK TO PLATO WRITAUX RJ DDET DETACH DATASET WRITAUD DATA 0 ENTRY/EXIT MESSAGE WRAM REWIND A,R REWIND FILE READ A,R INITIALIZE READING OF FILE RJ ATTA ATTACH WRA1 SA1 ARCT INCREMENT CURRENT RECORD COUNT SX7 X1+B1 SA7 A1 SX6 X1-AUDCNT SEE IF DONE PL X6,WRITAUX DONE RJ ZPARAM ZERO PARAMETER AREA READW A,PARAM,AUDBLK READ DATA NZ X1,WRA2 IF EOR, EOF, EOI SA1 ARCT RECORD COUNT BX6 X1 CURRENT RECORD COUNT SX7 B1 RECORD LENGTH = 1 SX1 PARAM MEMORY LOCATION RJ DOUT WRITE TO PLATO EQ WRA1 GET NEXT RECORD WRA2 SA1 ARCT RECORD COUNT BX6 X1 CURRENT RECORD COUNT SX7 B1 RECORD LENGTH = 1 SX1 PARAM MEMORY LOCATION RJ DOUT WRITE TO PLATO SA1 ARCT INCREMENT CURRENT RECORD COUNT SX7 X1+B1 SA7 A1 SX6 X1-AUDCNT SEE IF DONE PL X6,WRITAUX DONE RJ ZPARAM ZERO PARAMETER AREA EQ WRA2 LOOP FOR ALL REMAINING RECORDS WRAM DIS ,*WRITING AUDIT TRAIL* * /--- BLOCK SOURCEY 00 000 81/03/23 13.10 WRITDMP SPACE 4 ** WRITE DUMP DIRECTORY BACK TO PLATO WRITDMP DATA 0 ENTRY/EXIT MESSAGE WRDM REWIND O,R REWIND FILE READ O,R INITIALIZE READING OF FILE RJ INTD INITIALIZE DUMP POINTERS WRD1 RJ DMPI INCREMENT DUMP DIR. RECORD NUM. SA5 DREC NUMBER OF WORDS / RECORD READW O,DBUF,X5 NZ X1,WRD2 IF EOR SA1 CNOR BEGINNING RECORD SX7 B1 RECORD COUNT BX6 X1 SX1 DBUF MEMORY LOCATION RJ DOUT WRITE IT OUT EQ WRD1 BACK FOR MORE WRD2 SA1 DREC RECORD SIZE SB7 X1+DBUF LAST WORD TO BE SET TO O77...76 SX7 -1 WRD3 SA7 B6 SB6 B6+B1 LT B6,B7,WRD3 SA1 CNOR BEGINNING RECORD SX7 B1 RECORD COUNT BX6 X1 SX1 DBUF MEMORY LOCATION RJ DOUT WRITE IT OUT SX7 -1 FILL REST OF PAGE WITH 77...76 SB6 DBUF SA1 DREC SB7 X1+DBUF WRD4 SA7 B6 SB6 B6+B1 LT B6,B7,WRD4 SX6 11 SA6 TEMP RECORD COUNT WRD5 SA1 TEMP SX6 X1-1 NG X6,WRITDMP IF DONE SA6 A1+ RJ DMPI NEXT RECORD SA1 CNOR CURRENT RECORD NUMBER SX7 B1 WRITE ONE RECORD BX6 X1 SX1 DBUF BEGINNING ADDRESS RJ DOUT WRITE IT OUT EQ WRD5 WRDM DIS ,*WRITING DUMP DIRECTORY* * /--- BLOCK SOURCEY 00 000 81/03/04 11.00 WRITS0B SPACE 4 ** WRITE S0BACKC BACK TO PLATO WRITS0X RJ DDET DETACH DATASET WRITS0B DATA 0 ENTRY/EXIT MESSAGE WRSM REWIND I,R REWIND FILE READ I,R INITIALIZE READING OF FILE RJ DATT ATTACH WRS1 SA1 SRCT INCREMENT CURRENT RECORD COUNT SX7 X1+B1 SA7 A1 SX6 X1-MBALL SEE IF DONE PL X6,WRITS0X DONE RJ ZPARAM ZERO PARAMETER AREA READW I,PARAM,BLKSZE READ DATA NZ X1,WRS2 IF EOR, EOF, EOI SA1 SRCT RECORD COUNT BX6 X1 CURRENT RECORD COUNT SX7 B1 RECORD LENGTH = 1 SX1 PARAM MEMORY LOCATION RJ DOUT WRITE TO PLATO EQ WRS1 GET NEXT RECORD WRS2 SA1 SRCT RECORD COUNT BX6 X1 CURRENT RECORD COUNT SX7 B1 RECORD LENGTH = 1 SX1 PARAM MEMORY LOCATION RJ DOUT WRITE TO PLATO SA1 SRCT INCREMENT CURRENT RECORD COUNT SX7 X1+B1 SA7 A1 SX6 X1-MBALL SEE IF DONE PL X6,WRITS0X DONE RJ ZPARAM ZERO PARAMETER AREA EQ WRS2 LOOP FOR ALL REMAINING RECORDS WRSM DIS ,*WRITING S0BACKC* ZPARAM SPACE 4 ** ZPARAM - ZERO PARAMETER BLOCK ZPARAM DATA 0 ENTRY/EXIT SB7 MBPARM*BLKSZE-1 NUMBER OF WORDS - 1 SB6 PARAM FWA SX7 0 ZPR1 SA7 B7+B6 STORE WORD SB7 B7-B1 DECREMENT COUNTER PL B7,ZPR1 IF NOT DONE EQ ZPARAM EXIT * /--- BLOCK SOURCEY 00 000 81/02/25 12.43 TITLE PLATO DATASET ATTACH, READ WRITE ROUTINES ** DSET - ATTACH DATASET * * X1=DATASET NAME * * EXIT IF ALREADY ATTACHED * ABORT IF ERROR DSETX SA1 DST4 SEE IF CLEAR MESSAGE NEEDED ZR X1,DSET MX6 0 CLEAR FLAG SA6 A1 SX6 CMSG RJ BDIS CLEAR B DISPLAY DSET DATA 0 ENTRY/EXIT BX7 X1 DATASET NAME SA1 DSNAME OLD DATASET NAME IX6 X7-X1 ZR X6,DSET EXIT IF ALREADY ATTACHED SA7 A1 SAVE FOR LATER DST1 SA1 DARG1 ARGUMENT LIST RJ =XDATASET ATTACH DATASET SB1 1 RESTORE SA1 DERROR SEE IF ERROR STATUS NG X1,DSETX IF NO ERROR SX6 X1-13 SEE IF ATTACHED EARLIER ZR X6,DST2 SX1 X1-2 SEE IF ATTACHED ELSEWARE NZ X1,DST3 SA6 DST4 FLAG TO CLEAR WAITING MESSAGE SX6 DWAIT WAITING MESSAGE RJ BDIS EQ DST1 DST2 RJ DDET DETACH IT EQ DST1 REATTACH IT DST3 MESSAGE DMATT ATTACH ERROR MESSAAGE RJ DMAM DATASET NAME RJ DMEM ERROR STATUS EQ ABORT DST4 DATA 0 FLAG FOR WAITING MESSAGE DOUT SPACE 4 ** DOUT - DATAOUT ROUTINES * * X1 - CENTRAL MEMORY LOCATION * X6 - STARTING RECORD * X7 - NUMBER OF RECORDS DOUT DATA 0 ENTRY/EXIT RJ DPAR STORE PARAMETERS RJ =XDATAOUT WRITE OUT DATA SB1 1 RESTORE SA1 DERROR LOOK AT STATUS NG X1,DOUT IF NO ERROR MESSAGE DMWRM DATAOUT ERROR MESSAGE * * ERROR MESSAGES AND ABORT * DINX RJ DMAM DATASET NAME RJ DMEM ERROR STATUS RJ DBGM BEGINNING RECORD NUMBER RJ DNRM NUMBER OF RECORDS EQ ABORT ABORT * /--- BLOCK SOURCEY 00 000 81/03/04 11.02 DDET SPACE 4 ** DDET - DETACH DATASET * * DETACHES LAST DATASET DDET DATA 0 ENTRY/EXIT SA1 DARG3 ARGUMENT LIST RJ =XDETACH DETACH DATASET SB1 1 RESTORE SX7 0 SA7 DSNAME CLEAR NAME EQ DDET DPAR SPACE 4 ** DPAR - STORE PARAMETERS * * X1 - CENTRAL MEMORY LOCATION * X6 - STARTING RECORD * X7 - NUMBER OF RECORDS DPAR DATA 0 ENTRY/EXIT SA6 DBR BEGINNING RECORD SA7 DNR NUMBER OF RECORDS BX6 X1 MEMORY ADDRESS SA6 DA2M SA1 DARG2 PARAMETER LIST EQ DPAR BDIS SPACE 4 ** BDIS - SENT MESSAGE TO THE B DISPLAY ONLY * * X6=ADDRESS OF MESSAGE BDIS DATA 0 ENTRY/EXIT SA6 DARG4 STORE ARGUMENT SA1 DARG4 RJ =XBDISP SB1 1 RESTORE EQ BDIS * /--- BLOCK SOURCEY 00 000 81/02/26 13.12 DMAM SPACE 4 ** DMAM - OUTPUT DATASET NAME INTO DAYFILE DMAM DATA 0 ENTRY/EXIT SA1 DSNAME GET CURRENT DATASET NAME BX6 X1 SA6 DMNAX STORE IN ERROR MESSAGE MESSAGE DMNAM EQ DMAM DMEM SPACE 4 ** DMEM - OUTPUT ERROR STATUS INTO DAYFILE DMEM DATA 0 ENTRY/EXIT SA1 DERROR GET ERROR STATUS RJ CDD CONVERT SA6 DMERX STORE IN ERROR MESSAGE MESSAGE DMERR EQ DMEM DBGM SPACE 4 ** DBGM - OUTPUT BEGIN RECORD INTO DAYFILE DBGM DATA 0 ENTRY/EXIT SA1 DBR GET BEGINNING RECORD NUMBER RJ CDD CONVERT SA6 DMBGX STORE IN ERROR MESSAGE MESSAGE DMBGR EQ DBGM DNRM SPACE 4 ** DNRM - OUTPUT NUMBER OF RECORDS INTO DAYFILE DNRM DATA 0 ENTRY/EXIT SA1 DNR GET NUMBER OF RECORDS RJ CDD CONVERT SA6 DMNRX STORE IN ERROR MESSAGE MESSAGE DMNRC EQ DNRM * ERROR MESSAGES DMATT DIS ,* ERROR IN ATTACHING DATASET* DMWRM DIS ,* ERROR IN WRITING DATASET* DMNAM DATA 10H DATASET DATA 10HNAME = DMNAX DATA 0 DATA 0 DMERR DATA 10H ERROR ST DATA 10HATUS = DMERX DATA 0 DATA 0 DMBGR DATA 10H BEGINNIN DATA 10HG RECORD = DMBGX DATA 0 DATA 0 DMNRC DATA 10H ENDING R DATA 10HECORD = DMNRX DATA 0 DATA 0 * ARGUMENT LISTS AND VARIABLES DWAIT DATA 10HWAITING FO DATA 10HR FILE - DSNAME DATA 0 DATASET NAME DATA 0 END OF MESSAGE DERROR DATA 0 RETURN STATUS DM1 DATA -1 WRITE PERMISSION DBR DATA 0 BEGINNING RECORD NUMBER DNR DATA 0 NUMBER OF RECORDS CMSG DATA 1L CLEAR MESSAGE DARG1 VFD 60/DSNAME ARGUMENT LIST FOR ATTACH VFD 60/DERROR VFD 60/DM1 DATA 0 DARG2 VFD 60/DBR ARG. LIST FOR DATAIN/DATAOUT DA2M VFD 60/0 MEMORY LOCATION STORED HERE VFD 60/DNR VFD 60/DERROR DATA 0 DARG3 VFD 60/DSNAME ARGUMENT LIST FOR DETACH DATA 0 DARG4 VFD 60/0 B DISPLAY ARGUMENT DATA 0 * /--- BLOCK SOURCEY 00 000 81/04/02 11.10 ATTA SPACE 4 ** ATTA - ATTACH AUDIT TRAIL DATASET (S0BACKA) ATTA DATA 0 ENTRY/EXIT SA1 ATTN DATASET NAME RJ DSET ATTACH EQ ATTA EXIT ATTN DATA 7LS0BACKA DATT SPACE 4 ** DATT - ATTACH BACKUPS DATASET (S0BACKC) DATT DATA 0 ENTRY/EXIT SA1 DATN DATASET NAME RJ DSET ATTACH EQ DATT EXIT DATN DATA 7LS0BACKC END SPACE 4 ** END - END PROGRAM. END BSS 0 END PROGRAM ENDRUN DERR1 MESSAGE DMERR1 ABORT SX6 MSG1 RJ TRIPMSG SX6 MSG2 RJ TRIPMSG MESSAGE MSG3 SX6 MSG2 RJ TRIPMSG SX6 MSG1 RJ TRIPMSG ABORT SPACE 4 * MESSAGES DMERR1 DIS ,* NOT ENOUGH DUMP DIRECTORY DATASETS* MSG1 DIS ,Z ******************************Z MSG2 DIS ,Z *** ***Z MSG3 DIS ,Z *** ERRORS ***Z SPACE 4 * COMMON DECKS. *CALL COMCCIO *CALL COMCRDW *CALL COMCSYS *CALL COMCWTW *CALL COMCCDD *CALL COMCCPM SPACE 4 * BUFFERS. BUFFERS BSS 0 TEMP BSSZ 1 RECORD COUNT DBUF BSSZ 500 BUFFER FOR DUMP DIRECTORY IBUF BSSZ IBUFL CIRCULAR BUFFER FOR I OBUF BSSZ OBUFL CIRCULAR BUFFER FOR O ABUF BSSZ ABUFL CIRCULAR BUFFER FOR A PARAM BSSZ MBPARM*BLKSZE PARAMETER TABLE END BACKCPY