{{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