DUMP860

(George Source)

Macros used: ALTLEN, ALTLENG, BC, BS, BWNZ, BXE, BXL, BXU, CHAIN, CHNUMCON, CLOSETOP, COMERR, COMERRX, DOWN, ENDCOM, ERROR, FNORM, FREECORE, HUNTMISB, ISSUJOB, JBC, JBS, JBSS, JMBAS, LONGON, MENDAREA, MFREE, MFREEW, MHUNT, MHUNTW, MONOUT, NAME, NAMETOP, OPENINC, OPENSYS, OUTNULL, OUTPACK, OUTPARN, OUTTSNS, READAGAIN, REWIND, SEG, SEGENTRY, SETNCORE, SETUPCORE, SPARAPAS, SSEARCH, STEP, STEPAGAIN, TEST, TESTNAMX, TESTREP, TESTREP2, UP, VFREE, WIND

DUMP860.txt
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
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1