{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: DUMP860)}} ====== DUMP860 ====== (George Source) **Macros used:** [[george:macro:ALTLEN|ALTLEN]], [[george:macro:ALTLENG|ALTLENG]], [[george:macro:BC|BC]], [[george:macro:BS|BS]], [[george:macro:BWNZ|BWNZ]], [[george:macro:BXE|BXE]], [[george:macro:BXL|BXL]], [[george:macro:BXU|BXU]], [[george:macro:CHAIN|CHAIN]], [[george:macro:CHNUMCON|CHNUMCON]], [[george:macro:CLOSETOP|CLOSETOP]], [[george:macro:COMERR|COMERR]], [[george:macro:COMERRX|COMERRX]], [[george:macro:DOWN|DOWN]], [[george:macro:ENDCOM|ENDCOM]], [[george:macro:ERROR|ERROR]], [[george:macro:FNORM|FNORM]], [[george:macro:FREECORE|FREECORE]], [[george:macro:HUNTMISB|HUNTMISB]], [[george:macro:ISSUJOB|ISSUJOB]], [[george:macro:JBC|JBC]], [[george:macro:JBS|JBS]], [[george:macro:JBSS|JBSS]], [[george:macro:JMBAS|JMBAS]], [[george:macro:LONGON|LONGON]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREE|MFREE]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MONOUT|MONOUT]], [[george:macro:NAME|NAME]], [[george:macro:NAMETOP|NAMETOP]], [[george:macro:OPENINC|OPENINC]], [[george:macro:OPENSYS|OPENSYS]], [[george:macro:OUTNULL|OUTNULL]], [[george:macro:OUTPACK|OUTPACK]], [[george:macro:OUTPARN|OUTPARN]], [[george:macro:OUTTSNS|OUTTSNS]], [[george:macro:READAGAIN|READAGAIN]], [[george:macro:REWIND|REWIND]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SETUPCORE|SETUPCORE]], [[george:macro:SPARAPAS|SPARAPAS]], [[george:macro:SSEARCH|SSEARCH]], [[george:macro:STEP|STEP]], [[george:macro:STEPAGAIN|STEPAGAIN]], [[george:macro:TEST|TEST]], [[george:macro:TESTNAMX|TESTNAMX]], [[george:macro:TESTREP|TESTREP]], [[george:macro:TESTREP2|TESTREP2]], [[george:macro:UP|UP]], [[george:macro:VFREE|VFREE]], [[george:macro:WIND|WIND]] 22FL ... SEG DUMP,860,MIKE PUTNAM,INCDUMP 22^= # 23DW SEGENTRY K1DUMP,X1DUMP 23L4 ... SEGENTRY K2DUMP,X2DUMP 23R= ... SEGENTRY K3DUMP,X3DUMP 23YG # 24D6 # EXAMINES A DUMP COMMAND. 24XQ # 1) IF NO PARAMETER, SETS B0 OF INCWORD.(IN FIXED CORE). 25CB # 2) IF 1ST PARAMETER IS "TOTAL", SETS B0 & B1 OF INCWORD. 25X2 # 3) IF 1ST PARAMETER IS "RETURN" OR "REUSE" ,SETS UP ISSUJOB TO RETU 26BL # OR REUSE OBSOLETE DUMP TAPES. 2ND PARAMETER OF DUMP COMMAND 26W= # DETERMINES 2ND PARAMETER OF RUNJOB ISSUED , AS FOLLOWS :- 27*W # A) 2ND PARAMETER IS "ALL" , NO 2ND PARAMETER PROVIDED. 27TG # B) 2ND PARAM. IS A NUMBER, THIS IS PROVIDED AS 2ND PARAM. 28*6 # C) 2ND & SUBSEQUENT PARAMS. ARE MT ENTRANT DESCRIPIONS WITH 28SQ # TSN SPECIFIED, THESE ARE PROVIDED. 29#B # COMMAND ERRORS ARE GIVEN IF THE COMMAND DOES NOT CONFORM TO THE ABOVE 29S2 # 2=?L SALL 4HALL 2=R= RET 40HRJ RET,:DUMPER,PROCESSOR,PARAM(RETURN ) 2?=W REUSE 40HRJ RET,:DUMPER,PROCESSOR,PARAM(REUSE ) 2?QG # 2#=6 ZERM +ERMCH [PARAMETER NOT RECOGNISED 2#PQ ZPAR +JPARMIS [PARAMETER MISSING 2*9B ZNEG +JNEGNO [NEGATIVE NO NOT ALLOWED IN %C 2*P2 ZNULL +JPARNULL [PARAMETER NULL 2*SX ...MZIPC +INCIPC [ INVALID PARAMETERS 2*YS ...# A TABLE OF VALID PARAMETERS AND LABELS TO ANALYSE THEM 2B4P ...# 2B8L # 2BN= START 2C7W 8HTOTAL 2CMG ... +ZTOTAL 2D76 8HRETURN 2DLQ ... +ZRET 2F6B 8HREUSE 2F=S ... +ZREU 2FC= ...MSPARE 8HSPARE 2FHN ... +ZSPARE 2FN6 ...MPOOL 8HPOOL 2FSJ ... +ZPOOL 2F^2 ... 8HTAPES 2G5D ... +ZTAPES 2G9W ... 8HALL 2GB# ... +ZALL 2GGQ ... +0 2GM8 ...MSPACE 8H 2GRL ...MDUMPER 12HDUMPER [ USER NAME AND 2GY4 ...MTNAME 12HGEO3DUMPTAPE [ LOCAL NAME OF DUMPTAPE 2H4W +0 2H?M ...# 2HGD ...# 2HP9 ...# SUBROUTINE NEXTPARAM 2HY2 ...# 2J6R ...# THIS SUBROUTINE ANALYSES THE NEXT PARAMETER 2J*J ...# IT EXITS +0 IF THERE ARE NO MORE 2JJ* ...# +1 FOR A TSN (IN X5) 2JR6 ...# +2 FOR A POSITIVE INTEGER (IN X4) 2J^X ...# +3 FOR ONE OF TOTAL SPARE OR POOL 2K8N ...# (WITH RELEVANT BIT SET IN FDUCOM) 2KCF ...# +4 FOR ONE OF RETURN,REUSE,TAPES OR ALL 2KL= ...# (WITH MARKER IN X5) 2KT3 ...# FOR ANYTHING ELSE A BRANCH IS MADE TO THE RELEVANT COMERR 2L3S ...# 2L=K ...# NEXTSN IS AN ADDITIONAL ENTRY POINT WHICH WILL ONLY 2LFB ...# CHECK FOR A TSN AND ERROR ANYTHING ELSE 2LN7 ...# 2LWY ...# CALLED ON X6. USES ALL OTHERS EXCEPT X7 2M5P ...NEXTPARAM 2M#G ... LDN 5 0 2MH? ... BRN SPAS 2MQ4 ...NEXTSN 2MYT ... LDN 5 1 2N7L ...SPAS 2NBC ... SBX 6 FX1 2NK8 ... SPARAPAS 2NR^ ... MHUNT 3,CPB,CUNI 2P2Q ... LDX 0 ANUM(3) 2P9H ... BNG 0 XIT0 [NO MORE PARAMETERS 2PD# ... BZE 0 XNULL [NULL PARAMETER 2PM5 ... BNZ 5 ZNOT2 [J IF ONLY LOOKING FOR TSN 2PTW ... ANDN 0 #7777 2Q4M ... SBN 0 9 2Q?D ... BPZ 0 ZNOTSTRING [J IF >8 CHARS 2QG9 ... ADN 0 12 2QP2 ... SRL 0 2 2QXR ... LDX 4 0 [SAVE NO. OF WORDS IN PARAM 2R6J ... SBN 1 3 2RBG TEST 2RW6 ... LDX 5 4 [X3= NO. OF WORDS IN PARAMETER 2S*Q ADN 1 3 [X1-> NTH PARAMETER IN LIST 2STB LDX 0 START(1) [X0= 1ST WORD OF PARAMETER IN LIST 2T*2 ... BZE 0 ZNOTSTRING [J IF PARAM. NOT IN LIST 2TSL NEXT 2W#= ... SMO 5 2WRW ... LDX 0 -1+APARA(3) [X0= NEXT WORD OF PARAM. 2X?G ... SMO 5 2XR6 BXU 0 -1+START(1),TEST [J IF NOT THIS PARAMETER 2Y64 ... BCT 5 NEXT [J IF MORE WORDS TO TEST 2YF2 ... LDX 5 START+2(1) [X5-> LABEL IN LIST TO BRANCH TO 2YRY ... LDX 4 JPARNUM(3) 2^6W ... FREECORE 3 [FREE CPB/CUNI 2^FS ... MHUNTW 1,FI,FDUCOM 2^N9 ... ADX 6 FX1 2^WL ... ADX 5 FX1 3253 ... EXIT 5 0 [BRANCH TO APPROPRIATE CODE TO DO RES 32?F ...# ***************************************************************** 32*N ...# 32CX ...# THIS PARAMETER IS NOT ONE OF THE CHARACTER STRINGS , TOTAL ETC. 32G6 ...# IT MAY BE A TSN OR NUMBER 32J* ...# 32LJ ...# *************************************************************** 32NW # 32PJ ...ZNOTSTRING 32PR ... LDN 5 0 32Q2 ...ZNOT2 32Q= ... MHUNT 1,CPB,CUNI [ 32QY ... LDCH 0 APARA(1) [ IF FIRST PARAMETER IS A 32RL ... SBN 0 #30 [ ;(; THEN IT IS NOT 32S# ... BZE 0 NOTNUM [ A NUMBER 32SM ... BNZ 5 ZIPC 32T2 ... CHNUMCON 1 32TN ... MHUNT 3,CPB,CUNI 32WB ... TESTREP2 CHNUMERR,XER [ IF PARAMETER IS NOT A NUMBER 3338 ... MHUNT 2,CPAR,GNUMCON [ 333W ... LDX 4 A1+1(2) [ PICK UP INTEGER IN BINARY 334J ... FREECORE 2 [ FREE THE BLOCK 335= ... BNG 4 NEG [ JUMP IF NUMBER IS NEGATIVE 335Y ... ADX 6 FX1 336L ... EXIT 6 2 337# ...# 3382 ...# *************************************************************** 338N ...# * 339B ...# IS THE PARAMETER A VALID TSN ? * 33=4 ...# * 33=Q ...# *************************************************************** 33?D ...NOTNUM 33?R ... LDX 3 1 33#6 ... NAMETOP 3,FILE,FNAME [ NAME THE CPB/CUNI A FNAME 33#S ... FNORM [ AND SET UP A FABSNB CONTAINING 33*G ... MHUNT 3,FILE,FNAME [ THE PARAMETER 33B8 ... NAMETOP 3,CPB,CUNI [ NAME IT A CUNI AGAIN 33BW ... TESTREP NAMEFORM,XER [ ERROR - NOT RECOGNISED 33CJ ... MHUNT 2,FILE,FABSNB [ 33D= ... LDX 4 ATYPE(2) [ BIT IN FABSNB TO INDICATE THAT 33DY ... ANDN 4 #2000 [ PARAMETER IS A TSN 33FL ... SMO A1(2) [ MODIFIER DOWN FABSNB 33G# ... LDX 5 A1+1(2) [ PICK UP TSN IN X5 33H2 ... FREECORE 2 [ FREE THE FABSNB 33HN ... BZE 4 XER [ JUMP IF NOT A TSN - ERROR !! 33HT ... ADX 6 FX1 33J2 ... EXIT 6 1 33J7 ...XIT0 33J# ... ADX 6 FX1 33JF ... EXIT 6 0 33JL ...ZTOTAL 33JR ... BS 1,BFDTOTAL [ TOTAL 33JY ... EXIT 6 3 33K5 ...ZSPARE 33K= ... BS 1,BFDSPARE [ SPARE 33KC ... EXIT 6 3 33KJ ...ZPOOL 33KP ... BS 1,BFDPOOL [ POOL 33KW ... EXIT 6 3 33L3 ...ZALL 33L8 ... LDN 5 0 33L* ... BS 1,BFDALL [ ALL 33LG ... EXIT 6 4 33LM ...ZTAPES 33LS ... NGN 5 1 [ TAPES 33L^ ... BRN TRR 33M6 ...ZRET 33M? ... LDN 5 RET [ RETURN 33MD ... BRN TRR 33MK ...ZREU 33MQ ... LDN 5 REUSE [ REUSE 33MX ...TRR 33N4 ... SBN 4 2 [TAPES,RETURN AND REUSE MUST 33N9 ... BPZ 4 ZIPC [ BE THE 1ST PARAMETER 33NB ... EXIT 6 4 33NH ...# 33NN ...# **************************************************** 33NT ...# 33P2 ...# 33P7 ...# SUBROUTINE TSNADD 33P# ...# 33PF ...# THIS SUBROUTINE ADDS A TSN TO A FI-FDUCOM BLOCK 33PL ...# 33PR ...# 33PY ...# CALLED ON X6. TSN IN X5 33Q5 ...# 33Q= ...TSNADD 33QC ... SBX 6 FX1 33QJ ... MHUNTW 3,FI,FDUCOM 33QP ... LDX 0 FDUTSNCT(3) [IF TSN IS ALREADY 33QW ... BZE 0 NOTINIT [ IN FDUCOM - IGNORE IT 33R3 ...NEXTIN 33R8 ... SMO 0 33R* ... BXE 5 FDUTSN-1(3),TSNXIT 33RG ... BCT 0 NEXTIN 33RM ...NOTINIT 33RS ... LDX 4 ALOGLEN(3) [PICK UP LENGTH OF FDUCOM 33R^ ... ADN 4 1 [AND INCREASE BY 1 33S6 ... ALTLEN 3,4,FI,FDUCOM [ 33S? ... MHUNTW 3,FI,FDUCOM 33SD ... BS 3,BFDTSN [SHOW WE HAVE FOUND A VALID TSN 33SK ... SMO FDUTSNCT(3) 33SQ ... STO 5 FDUTSN(3) [STORE TSN IN FDUCOM 33SX ... LDN 0 1 33T4 ... ADS 0 FDUTSNCT(3) [ADD 1 TO THE COUNT OF TSN@S 33T9 ...TSNXIT 33TB ... ADX 6 FX1 33TH ... EXIT 6 0 33TN ...# 33TT ...# ***************************************************** 33W2 ...# 33W7 ...X1DUMP 33W# ... SETNCORE FDUTSN-FDUPARAMS,1,FI,FDUCOM 33WF ... STOZ FDUPARAMS(1) 33WL ... LDN 0 FDUPARAMS(1) [SET UP FDUCOM BLOCK 33WR ... LDN 1 FDUPARAMS+1(1) [AND INITIALISE 33WY ... MOVE 0 FDUTSN-FDUPARAMS-1 33X5 ...PARAMETER 33X= ... CALL 6 NEXTPARAM 33XC ... BRN XDUMPINIT [NO MORE PARAMS 33XJ ... BRN ZTSN1 [TSN 33XP ... BRN ZIPC [+VE INTEGER 33XW ... BRN PARAMETER [SPARE POOL OR TOTAL 33Y3 ... BRN RETREU [TAPES,RETURN,REUSE OR ALL 33Y8 ...ZTSN1 33Y* ... FREECORE 3 33YG ... CALL 6 TSNADD 33YQ ... BRN PARAMETER [ BACK TO READ NEXT PARAMETER 33^D ...# 34JN ...# THIS ENTRY POINT IS CALLED FROM INCTAPES TO RE-VALIDATE TSNS 34KB ...X3DUMP [ 34L4 ... CALL 4 XCHECKTSNS [ IT SIMPLY CALLS THE SUBROUTINE 34LQ ... LDX 0 AWORK1(2) [ AWORK1 IS SET NON ZERO IF THERE 34MD ... STO 0 ACOMMUNE1(2) [ ARE ANY INVALID TSNS 34N6 ... UP [ 34NS ...# 34PG ...# ****************************************************************** 34Q8 ...# * 34QW ...# THIS SUBROUTINE CHECKS THAT ALL TSNS IN THE FDUCOM ARE AVAILABLE * 34RJ ...# FOR USE BY DUMPER - THEY MUST BE IN :DUMPER,HAVE LOCAL NAME * 34S= ...# GEO3DUMPTAPE,MUST BE EITHER NOT IN USE IN INCINDEX OR IN LAST * 34SY ...# INCREMENT,THEY MUST NOT BE WRONGED * 34TL ...# * 34W# ...# ****************************************************************** 34X2 ...# 34XN ...XCHECKTSNS 34YB ... STOZ AWORK1(2) [ CLEAR THE ERROR MARKER 34^4 ... MHUNTW 3,FI,FDUCOM [ 34^Q ... LDX 6 FDUTSNCT(3) [ PICK OUT NUMBER OF TSNS 352D ... BNZ 6 OPENSERIAL [ IF NO TSNS,NO CHECKING TO DO 3536 ... EXIT 4 0 [ 353S ...OPENSERIAL [ 354G ... SBX 4 FX1 [ 3558 ... OPENSYS (GEOERR),SERIAL,READ [ OPEN :SYSTEM.SERIAL 355W ... DOWN INCTAPES,2 [ DOWN TO OPEN :DUMPER 356J ...TSTEP3 [ 357= ... MHUNTW 2,FI,FDUCOM [ 357Y ... SMO 6 [ 358L ... LDX 5 FDUTSN-1(2) [ PICK UP NEXT TSN 359# ... SSEARCH MTUNAV,5,1 [ JUMP IF NOT IN SERIAL 35=2 ... TESTNAMX 3,2(3),MDUMPER(1),MTUNAV [ JUMP IF IT IS NOT IN DUMPER 35=N ... LDCT 0 #30 [ 35?B ... ANDX 0 5(3) [ 35#4 ... BNZ 0 MTUNAV [ JUMP IF WRONGED 35#Q ...# 35*D ...# ****************************************************************** 35B6 ...# * 35BS ...# WE HAVE A NON-WRONGED TAPE BELONGING TO DUMPER * 35CG ...# CHECK WHETHER IT IS A GEO3DUMPTAPE * 35D8 ...# * 35DW ...# ****************************************************************** 35FJ ... REWIND [ REWIND :DUMPER 35G= ...TSTEP1 [ 35GY ... STEP [ 35HL ... BZE 3 MTUNAV [ JUMP IF END OF FILE -CAN'T FIND TSN 35J# ... BWNZ ERESN(3),TSTEP1 [ JUMP IF NOT NAME RECORD 35K2 ... BXU 5 ESERN(3),TSTEP1 [ JUMP IF NOT THIS TSN 35KN ... JBS MTUNAV,3,BNERASE [ JUMP IF BEING RETURNED 35LB ... TESTNAMX 3,ELOC1N(3),MTNAME(1),MTUNAV [JUMP IF NOT "GEO3DUMPTAPE" 35M4 ... BWNZ EREELN(3),MTUNAV [ IGNORE NON-ZERO REEL NO 35MQ ...# 35ND ...# THIS IS A :DUMPER.GEO3DUMPTAPE AND IS NOT WRONGED 35P6 ...# HAVE TO FIND IF IT IS IN USE OR IS IN LAST INCREMENT 35PS ...# 35QG ... JBC TAPEOK,3,BNUSEDUMP [ JUMP IF TAPE IS NOT IN USE 35R8 ... WIND 2 [ WIND TO END OF INCINDEX 35RW ... STEPAGAIN 2 [ GET POINTER TO LAST RECORD 35SJ ... JBS MTUNAV,3,BINEWDTR [ JUMP IF NEW TAPES NEEDED 35T= ...# [ WE CANT USE THE TSN SPECIFIED 35TY ... LDN 0 0 [ 35WL ... LDX 1 AMTSR(3) [ NUMBER OF TAPES IN THIS INCREMENT 35X# ...TSTEP2 [ 35Y2 ... SMO 0 [ MODIFIER DOWN RECORD 35YN ... BXE 5 AMAGR(3),TAPEOK [ JUMP IF THE TAPE WAS USED IN 35^B ...# [ LAST INCREMENT 3624 ... ADN 0 INCMAGLEN [ INCREASE POINTER AND 362Q ... BCT 1 TSTEP2 [ GO BACK FOR NEXT (IF ANY LEFT) 363D ...# WE DROP THROUGH THE LOOP IF TAPE IS USED,BUT NOT IN LAST INCREMENT 3646 ...# 364S ...# **************************************************************** 365G ...# THE TSN SPECIFIED CAN NOT BE USED BY DUMPER = GIVE ERROR MESSAGE 3668 ...MTUNAV [ 366W ... MHUNTW 1,FI,FDUCOM [ 367J ... LDX 2 FX2 368= ... ADX 1 6 [ MODIFIER DOWN BLOCK 368Y ... SBN 1 1 369L ... JBSS MTU2,1,FDUTSNUSED [ SHOW TAPE NOT USEABLE 36=# ... OUTPACK 5,1,TSN [ TSN AS A PARAMETER 36?2 ... MONOUT INCTAPEUNAV [ MT %A NOT AVAILABLE FOR USE BY DUMPER 36?N ...MTU2 36#B ... STO 2 AWORK1(2) [ SET ' ERROR ' MARKER 36*4 ...TAPEOK [ 36*Q ... BCT 6 TSTEP3 [ GO BACK FOR NEXT TAPE(IF ANY LEFT) 36BD ... CLOSETOP [ CLOSE DUMPER 36C6 ... CLOSETOP [ CLOSE :SYSTEM.SERIAL 36CS ... ADX 4 FX1 [ RELATIVISE LINK 36DG ... EXIT 4 0 [ AND EXIT 36F8 ...# 36FW ...# ***************************************************************** 36GJ ...# 36GK ...RETREU 36GL ... BZE 5 ZIPC [J IF ALL 36GM ... BNG 5 TAPES [J IF TAPES 36GN ... SETNCORE CPDATA-A1+10,2,ADATA,CREADL 36GQ ... LDN 0 40 36GR ... STO 0 A1(2) [SET NO. OF CHARS. IN RJ COMMAND 36GS ... STOZ A1+1(2) [CLEAR 2ND WORD OF RECORD HEADER 36GT ... ADN 2 CPDATA 36GW ... ADX 1 5 [DATUMISE RUNJOB COMMAND POINTER 36GX ... MOVE 1 10 [MOVE RJ COMMAND READY FOR ISSUE 36GY ... LDN 7 0 [CLEAR MARKER WORD 36H2 ... CALL 6 NEXTPARAM [GET NEXT PARAM 36H4 ... BRN ZIPC [NO MORE 36H6 ... BRN ZAPP [TSN 36H8 ... BRN RETINT [+VE INTEGER 36H= ... BRN ZIPC [TOTAL,POOL OR SPARE 36H# ... BZE 5 PROCESS [ALL 36HB ... BRN ZIPC 36HD ...RETINT 36HG ... ORX 7 GSIGN [SET "2ND PARAMETER IS NUMBER" MARKER 36J8 ...ZAPP 36J= ... LDEX 4 ANUM(3) [X4= NO. OF CHARS. IN PARAMETER 36J? ... ADN 4 1 [PLUS 1 FOR COMMA TO BE INSERTED 36J# ... MHUNTW 3,ADATA,CREADL 36J* ... LDX 5 A1(3) [X5= NO. OF CHARS. ALREADY IN RJ 36JB ... SBN 5 1 [WANT TO OVERWRITE FINAL ")" 36JC ... ADS 4 A1(3) [UPDATE COUNT OF CHARS. IN RJ COMMAND 36JD ... LDX 4 A1(3) [X4=NEW COUNT OF CHARS. 36JF ... ADN 4 3 36JG ... SRL 4 2 [X4= NO. OF WORDS IN RJ COMMAND NOW 36JH ... ADN 4 CPDATA-A1 36JJ ... ALTLEN 3,4,ADATA,CREADL [LENGTHEN RJ COMMAND BLOCK 36JK ... MHUNT 1,CPB,CUNI 36JL ... MHUNTW 3,ADATA,CREADL 36JM ... ADN 3 CPDATA 36JN ... SRC 5 2 [CHARACTERIZE COUNT OF CHARS. 36JP ... ADX 3 5 [X3-> NEXT FREE CHAR. IN RJ COMMAND 36JQ ... LDN 0 #34 36JR ... DCH 0 0(3) [INSERT "," 36JS ... BCHX 3 £ [UPDATE CHAR./MODIFIER 36JT ... LDEX 0 ANUM(1) [X0= NO. OF CHARS. IN PARAM. 36JW ... LDN 2 APARA(1) 36JX ... SMO 0 [MOVE PARAM. OF DUMP COMMAND TO BE 36JY ... MVCH 2 0 [ PARAM. OF RJ COMMAND 36J^ ... LDN 0 #31 36K2 ... DCH 0 0(3) [ADD ")" AT END 36K3 ...PFREE 36K4 ... MFREE CPB,CUNI 36K5 ... VFREE CPB,CUNI [ONE FOR LUCK FOR FNORM 36K6 ... [ (PRESUMBALY FNORM SOMETIMES LEAVES 36K7 ... [ AN EXTRA CUNI AROUND) 36K8 ... BNG 7 PROCESS [J IF PARAM. WAS JUST A NUMBER 36K9 ... CALL 6 NEXTSN [PASS NEXT PARAMETER 36K= ... BRN PEND [ NO MORE 36K? ... BRN ZAPP [ TSN 36K# ...PEND 36K* ... FREECORE 3 [FREE CPB/CUNI 36KD ...PROCESS 36KF ... ISSUJOB 0 [SET APPROPRIATE SYSTEM-ISSUED JOB GO 36KG ...NDCOM 36KH ... ENDCOM [END OF DUMP COMMAND 36KJ ...XFINT 36KK ... ERROR AMISS,ERNOP [OUTPUT MESSAGE "SERIAL NUMBER MISSIN 36KL ... BRN PFREE 36KM ...SFINDCREADL [ SUBROUTINE FOR ALTLEN 36KN ... MHUNTW 2,ADATA,CREADL [ 36KP ... EXIT 1 0 [ 375* ...TAPES 37J^ ... CALL 6 NEXTPARAM [PASS NEXT PARAMETER 384K ... BRN TAPEOUT [ NO MORE 38J9 ... BRN ZIPC [ TSN 393T ... BRN TAPEINT [ +VE INTEGER 39HF ... BRN ZIPC [ SPARE,POOL OR TOTAL 3=35 ... BZE 5 TAPEOUT [J IF ALL 3=GP ... BRN ZIPC 3?2* ...TAPEINT 3?F^ ... FREECORE 3 3?^K ... MHUNTW 3,FI,FDUCOM 3#F9 ... BS 3,BFDINT 3#YT ... STO 4 FDUNUM(3) 3*DF ...TAPEOUT 4KJN ...# 4KK7 ...# ******************************************************************* 4KKL ...# * * 4KL5 ...# * THE FOLLOWING CODE IMPLEMENTS THE "DUMP TAPES" COMMAND * 4KLJ ...# * * 4KM3 ...# ******************************************************************* 4KMG ...# 4KM^ ... HUNTMISB 2,FI,FDUCOM 4KND ... BNG 2 NOFDUCOM [ JUMP IF NO "STORED" DUMP COMMAND 4KNX ... LDX 3 ALOGLEN(2) [ 4KPB ... SETUPCORE 3,3,FI,FDUCOM [ TAKE A COPY OF THE FDUCOM 4KPT ... HUNTMISB 2,FI,FDUCOM [ 4KQ# ... BNG 2 PHDUCOMGON [ JUMP IF IT HAS BEEN CANCELLED 4KQR ... LDX 1 ALOGLEN(2) 4KR= ... LDN 2 A1(2) [ MOVE CONTENTS OF ORIGINAL 4KRP ... LDN 3 A1(3) [ BLOCK INTO COPY 4KS8 ... MOVE 2 0(1) [ 4KSM ... MHUNTW 2,FI,FDUCOM [ 4KT6 ... LDX 3 FDUTSNCT(2) [ COUNT OF TSNS IN FDUCOM 4KTK ... BNZ 3 TSNPRES [ JUMP IF ANY GIVEN 4KW4 ... OUTNULL [ OTHERWISE OUTPUT NULL 4KWH ... BRN MTEND [ 4KX2 ...TSNPRES [ 4KXF ... ADX 3 3 [ 4KXY ... SETNCORE AMAGSTATER(3),3,FILE,APROC [ SET UP "EMPTY" FILE/APROC 4KYC ... STOZ A1(3) [ AND ZEROISE IT 4KYW ... LDN 0 A1(3) [ 4K^* ... LDN 1 A1+1(3) [ 4K^S ... MOVE 0 AMAGR [ 4L2? ... MHUNTW 2,FI,FDUCOM [ 4L2Q ... LDX 4 FDUTSNCT(2) [ MOVE COUNT OF TAPES FROM FDUCOM 4L39 ... STO 4 AMTS(3) [ TO APROC 4L3N ...NEXTTSN [ 4L47 ... LDX 0 FDUTSN(2) [ MOVE NEXT TSN INTO APROC 4L4L ... STOZ AMAGSTATE(3) 4L55 ... STO 0 AMAG(3) [ 4L5J ... ADN 2 1 [ UPDATE POINTERS 4L63 ... ADN 3 2 [ AND GO BACK FOR NEXT TSN 4L6G ... BCT 4 NEXTTSN [ 4L6^ ... OUTTSNS [ OUTPUT LIST OF TSNS 4L7D ...MTEND [ 4L7X ... LDN 4 MSPACE(1) [ ADDRESS OF " " 4L8B ... MHUNTW 2,FI,FDUCOM [ TO BE REPLACED BY 4L8T ... JBC NOTPOOL,2,BFDPOOL [ 4L9# ... LDN 4 MPOOL(1) [ "POOL" 4L9R ...NOTPOOL 4L== ... JBC NOTSPARE,2,BFDSPARE 4L=P ... LDN 4 MSPARE(1) [ OR "SPARE" IF GIVEN 4L?8 ...NOTSPARE [ 4L?M ... LDX 2 FX2 [ 4L#6 ... LDN 5 ACOMMUNE2(2) [ MOVE TEXT INTO ACOMMUNE WORDS 4L#K ... MOVE 4 2 [ 4L*4 ... OUTPARN 5,ACOMMUNE2 [ AND OUTPUT THE PARAMETER 4L*H ... MONOUT INCSTORED [ "STORED COMMAND DUMP %B %C 4LB2 ...PHDUCOMGON [ 4LBF ... MFREEW FI,FDUCOM [ FREE THE BLOCK 4LBY ...# 4LCC ...# ********************************************************************* 4LCW ...# * * 4LD* ...# * THIS CODE OUTPUTS A LIST OF CURRENT DUMP TAPES * 4LDS ...# * * 4LF? ...# ********************************************************************* 4LFQ ...# 4LG9 ...NOFDUCOM [ 4LGN ... OPENINC ,READ [ OPEN :SYSTEM.INCINDEX IN READ MODE 4LH7 ... WIND [ WIND TO END OF THE FILE 4LHL ... STEPAGAIN [ GET POINTER TO LAST RECORD 4LJ5 ... JBS NOCURRENT,3,BINEWDTR [ JUMP IF NEW TAPES ARE NEEDED 4LJJ ... LDX 0 AMTSR(3) 4LK3 ...ZCURRENT 4LKG ... LDX 1 AMAGR(3) 4LK^ ... BNG 1 NOCURRENT 4LLD ... ADN 3 INCMAGLEN 4LLX ... BCT 0 ZCURRENT 4LMB ... READAGAIN [ OTHERWISE GET COPY OF RECORD FOR 4LMT ... MHUNTW 1,FILE,FRB [ LAST INCREMENT AND NAME IT 4LN# ... NAME 1,FILE,APROC [ A FILE/APROC FOR USE BY 4LNR ... OUTTSNS [ MACRO TO GIVE A LIST OF TSNS 4LP= ... MONOUT INCCURTAPES [ "CURRENT DUMP TAPE%A %B" 4LPP ... MFREEW FILE,APROC [ FREE BLOCK AND 4LQ8 ...NOCURRENT [ 4LQM ... CLOSETOP [ CLOSE :SYSTEM.INCINDEX 4LR6 ...# 4LRK ...# ********************************************************************** 4LS4 ...# * * 4LSH ...# * CODE TO OUTPUT "SPARE DUMP TAPES" * 4LT2 ...# * * 4LTF ...# ********************************************************************** 4LTY ...# 4LWC ... DOWN INCTAPES,4 [ DOWN TO SET UP LIST OF SPARE TAPES 4LWW ... MHUNTW 3,FI,FDUMPTAPES [ IN A FI/FDUMPTAPES 4LX* ... LDX 2 ALOGLEN(3) [ 4LXS ... BNZ 2 SPARETAPES [ JUMP IF THERE ARE ANY SPARE TAPES 4LY? ... LDX 2 FX2 4LYQ ... MONOUT INCNOSPARE [ "NO SPARE DUMP TAPES " 4L^9 ... BRN NOSPARE 4L^N ...SFINDPROC [ SUBROUTINE FOR ALTLENG 4M27 ... MHUNTW 2,FILE,APROC 4M2L ... EXIT 1 0 4M35 ...# 4M3J ...# ************************************************************ 4M43 ...# 4M4G ...SPARETAPES 4M4^ ...# 4M5D ...# ********************************************************************* 4M5X ...# * * 4M6B ...# * NOW CONVERT THE LIST OF SPARE TAPES INTO A FILE/APROC * 4M6T ...# * FOR EASE OF OUTPUTTING * 4M7# ...# * * 4M7R ...# ********************************************************************* 4M8= ...# 4M8P ... SETNCORE AMAGSTATER,2,FILE,APROC [ APROC TO CONTAIN TSNS 4M98 ... LDN 6 0 [ INITIALISE COUNTERS 4M9M ... LDN 7 0 [ 4M=6 ... STOZ AMTS(2) [ ZEROISE COUNT OF TAPES 4M=K ... MHUNTW 1,FI,FDUCOM [ 4M?4 ... LDN 4 10 [ DEFAULT NUMBER OF TAPES = 10 4M?H ... JBC NONUMBER,1,BFDINT [ JUMP IF NO NUMBER GIVEN 4M#2 ... LDX 4 FDUNUM(1) [ PICK UP NUMBER PARAMETER 4M#F ... BZE 4 NOSPARE 4M#Y ...NONUMBER 4M*C ... JBC NOTALL,1,BFDALL [ 4M*W ... LDN 4 4095 [ IF "ALL" SPECIFIED GIVE 4095 TAPES 4MB* ...NOTALL [ 4MBS ... OPENSYS (GEOERR),SERIAL,READ [ OPEN :SYSTEM.SERIAL 4MC? ...NEXTTAPE [ 4MCQ ... MHUNTW 2,FILE,APROC [ 4MD9 ... LDX 3 ALOGLEN(2) [ INCREASE LENGTH OFAPROC BY 4MDN ... ADN 3 INCMAGLEN [ LENGTH OF ENTRY FOR ONE TAPE 4MF7 ... ALTLENG 2,3,SFINDPROC [ 4MFL ... MHUNTW 1,FI,FDUMPTAPES [ 4MG5 ... MHUNTW 2,FILE,APROC [ 4MGJ ... SMO 6 [ PICK UP NEXT SPARE TSN 4MH3 ... LDX 5 FDTTAPE(1) [ 4MHG ... SSEARCH MTGONE,5 [ LOOK FOR IT IN SERIAL 4MH^ ... MHUNTW 2,FILE,APROC [ 4MJD ... LDN 0 1 [ 4MJX ... ADS 0 AMTS(2) [ INCREASE COUNT IN APROC 4MKB ... LDCT 0 #30 [ 4MKT ... ANDX 0 5(3) [ PICK UP "WRONGED" BITS 4ML# ... BNZ 0 TAPEWRONGED [ JUMP IF WRONGED 4MLR ... SBN 4 1 [ DECREASE NUMBER OF TAPES WANTED 4MM= ...TAPEWRONGED [ 4MMP ... SLL 0 1 [ SHIFT "WRONG" BITS TO CORRESPONDING 4MN8 ... ADX 2 7 [ POSITION IN MAGSTATE WORD IN INCIND 4MNM ... STO 0 AMAGSTATE(2) [ 4MP6 ... STO 5 AMAG(2) [ STORE TSN 4MPK ... ADN 7 INCMAGLEN [ UPDATE POINTER FOR APROC 4MQ4 ...MTGONE [ 4MQH ... ADN 6 1 [ AND FDUCOM 4MR2 ... BZE 4 MTFIN [ JUMP IF WE HAVE ALL THE TAPES NEEDE 4MRF ... MHUNTW 1,FI,FDUMPTAPES 4MRY ... BXL 6 ALOGLEN(1),NEXTTAPE [ 4MSC ...MTFIN [ 4MSW ... CLOSETOP [ 4MT* ... OUTTSNS [ 4MTS ... MFREEW FILE,APROC [ 4MW? ...OUTSPARE [ 4MWQ ... MONOUT INCSPARE [ 4MX9 ...NOSPARE 4MXN ... MFREEW FI,FDUMPTAPES [ 4MY7 ... MFREEW FI,FDUCOM [ 4MYL ... ENDCOM 4MYR ...# 4MYY ...# ***************************************************** 4M^5 ...# ACTUAL DUMPER INITIATING CODE 4M^# ...# ***************************************************** 4M^H ...XDUMPINIT 4M^Q ... MHUNTW 1,FI,FDUCOM 4N23 ... JMBAS ZIPC,1,BFDPOOL,BFDSPARE 4N2^ ... JBC NOTOPN,1,BFDTSN 4N3D ... OPENINC ,READ 4N3X ... CALL 4 XCHECKTSNS 4N4B ... CLOSETOP 4N4T ... LDX 0 AWORK1(2) 4N5# ... BNZ 0 ZMTUNAV 4N5R ...NOTOPN 4N6= ... HUNTMISB 2,FI,FDUCOM 4N6P ... BNG 2 NOTHERE 4N78 ... FREECORE 2 4N7M ...NOTHERE 4N86 ... MHUNTW 1,FI,FDUCOM 4N8K ... CHAIN 1,BMISC+1 4N94 ... BS ,BDCISS 4N9H ... LONGON ADUMPWAIT 4N=2 ... ENDCOM 4N=F ...ZMTUNAV 4N=Y ... MFREEW FI,FDUCOM 4N?C ... ENDCOM 4N?W ...ZIPC LDX 1 FX1 4N#* ... LDX 0 MZIPC(1) 4N#S ... BRN XCOM 4NCL XER 4NX= SMO FX1 4PBW LDX 0 ZERM [PARAMETER NOT RECOGNIZED 4PWG BRN XCOM 4QB6 NEG LDX 0 ZNEG(1) [NEGATIVE NUMBER NOT ALLOWED IN %C 4QTQ BRN XCOM 4R*B XNULL LDX 0 ZNULL(1) [PARAMETER NULL 4RT2 BRN XCOM 4S#L TWOERR 4SS= LDX 0 ZPAR(1) [NO VALID 2ND OR SUBSEQUENT PARAM. (I 4T?W [ RETURN OR REUSE IS 1ST PARAM.) 4TRG XCOM 4W?6 COMERRX 0 [GIVE APPROPRIATE COMERR 4WQQ # 4WRM ...X2DUMP 4WSJ ...# 4WTF ...# ################################################################## 4WWB ...# 4WX? ...# THIS CODE IMPLEMENTS THE CANCEL DUMP COMMAND 4WY8 ...# 4W^5 ... BC ,BDCISS 4X22 ... BS ,BDUMPAB [ SET ABANDON DUMP MARKER 4X2X ... LONGON FGOTWAIT [ WAKE DUMPER IF WAITING FOR DTS 4X3S ... HUNTMISB 1,FI,FDUCOM 4X4P ... BNG 1 ZNOFREE1 [ FREE FDUCOM IF ANY 4X5L ... FREECORE 1 4X64 ...ZNOF 4X6H ... MONOUT INCCAN [ SSTORED DUMP COMMAND CANCELLED 4X7D ... ENDCOM 4X7F ...ZNOFREE1 4X7G ... JBC ZNOFREE,,BNOWD 4X7H ... BC ,BNOWD 4X7J ... BRN ZNOF 4X7M ...ZNOFREE 4X7W ... JBS NDCOM,,BCANAB [ J IF NO CANCELLABLE DUMP 4X85 ... COMERR INCCANTCAN [ ERROR NO CANCELLABLE DUMP 4X8* ...# 4X9= ...# ################################################################## 4X=B MENDAREA 20,K99DUMP 4XQ2 # 4Y9L #END ^^^^ ...22517646000800000000