DTSUBS867

(George Source)

Macros used: ALTLEN, BBS, BXE, BXL, CLOSETOP, CONSERNO, FREECORE, JBC, JBCC, JBS, JMBAC, JMBAS, JMBS, LF, MENDAREA, MFREEW, MHUNTW, MONOUTX, OPENINC, OUTEXES, OUTMON, OUTNULL, OUTNUM, OUTPARAM, READBACK, REPEAT, REWIND, SEG, SEGENTRY, SETNCORE, SETUPCORE, STEP, STF, TESTREP2, UP, UPPLUS

DTSUBS867.txt
225X ...  SEG DTSUBS,867,C.R.JOHNSON,SCHEDULER  
229S ...[   
22*P ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982
22FL ...[   
22PD ...[   
237Q ...      SEGENTRY K1DTSUBS,(GEOERR)
23L4 ...      SEGENTRY K9DTSUBS,(GEOERR)
244B ...      SEGENTRY K3DTSUBS,(GEOERR)
24GN ...      SEGENTRY K2DTSUBS,(GEOERR)
24^2 ...      SEGENTRY K5DTSUBS,(GEOERR)
25CB ...      SEGENTRY K7DTSUBS,(GEOERR)
25X2          SEGENTRY K8DTSUBS,X8DTSUBS
26BL ...      SEGENTRY K11DTSUBS,X11DTSUBS  
26W=          SEGENTRY K4DTSUBS,X4DTSUBS
27*W          SEGENTRY K10DTSUBS,X10DTSUBS  
27TG          SEGENTRY K12DTSUBS,X12DTSUBS  
28*6          SEGENTRY K13DTSUBS,X13DTSUBS  
28SQ          SEGENTRY K14DTSUBS,X14DTSUBS  
29#B          SEGENTRY K15DTSUBS,X15DTSUBS  
29S2    [     AWORK1 USED IN TSNS AND OUTTAPE S.R. TO DISTINGUISH ENTRY POINTS  
2=?L    [     AWORK1 ZERO UNLESS TSNS ENTRY USED
2=R=    [   
2?=W    [     THE FOLLOWING ENTRY POINTS ARE PROVIDED TO DEAL WITH THE VARIOUS  
2?QG    [     TYPES OF FAILURE.  THE "FDT" BLOCK IS USED (AND MARKED) TO FIND   
2#=6    [     THE INCREMENT THAT WAS IN USE.
2#PQ    [   
2#WY ...[     MONITORING FILE MESSAGES  
2*46 ...[   
2*9B    [   
2*P2    [   
2B8L ...WMTLOAD        +JMTLOAD            [PLEASE LOAD RETRIEVE TAPE%A : %B
2FL2    MASK0          #37777777
2G5L    MAGNO          +7036875 
2G*D ...TEN            +10  
2GK=    QIS            4HIS 
2H4W    QARE           4HARE
2H56 ...QWPR           8H(WPR)  
2H5B ...QFSNO          4H(FS               [USED BY X11DTSUBS   
2H5N ...WRSTRING                           [THESE CHARACTER STRINGS 
2H5T ...               4H(U)               [ARE USED BT OUTTSNS 
2H62 ...               4H(O)               [......THEY MUST BE KEPT 
2H67 ...               8H(O,U)             [CONTIGUOUS....  
5=^B ...[   
5?F2 ...[     SET UP A FDINCS BLOCK FOR TAPE IN ADTSN   
5XPD ...[   
5X^= ...[   ********************************************************************
5Y94 ...[   
5YDW    X8DTSUBS
5YHF ...      JBCC     XOPENINC,BOLC,BIFDTOPEN [J IF INCINDEX NOT OPEN  
5YJX ...      LDN   4  20                   [SET 'NOT DUMPING' FLAG 
5YL* ...[      SEARCH BACKWARDS THROUGH INCINDEX UNTIL TAPE 
5YLL ...[      MISSING FOR 20 CONSECUTIVE INCS OR BEGINNING OF FILE 
5YLX ...X8DT1 READBACK  
5YM8 ...      TESTREP2 BEGFILE,X8DT3,FIRSTREC,X8DT3 
5YMF ...      MHUNTW   3,FILE,FRB   
5YMQ ...      ADN   3  A1   
5YN3 ...      LDX   0  AWORK2(2)            [TSN
5YN# ...      LDEX  2  AINCRHR(3)   
5YNK ...      SBN   2  AMAGR
5YNW ...X8DT2 SBN   2  INCMAGLEN
5YP7 ...      SMO      2
5YPD ...      BXE   0  AMAGR(3),X8DT4   
5YPP ...      BNZ   2  X8DT2
5YQ2 ...      BNG   4  X8DT6
5YQ? ...      SBN   4  1
5YQJ ...      BRN      X8DT5
5YQK ...X8DT4 LDN   4  20   
5YQL ...X8DT5 SBN   3  A1   
5YQM ...      FREECORE 3
5YQN ...      BRN      X8DT1
5YQP ...X8DT6   
5YQQ ...      SBN   3  A1   
5YQR ...      FREECORE 3
5YQS ...      BRN      X8DT7
5YQT ...X8DT3 REWIND
5YQW ...
5YQX ...X8DT7 LDN   4  20   
5YR6 ...      SMO      FX2  
5YR# ...      STO   4  ACOMMUNE1
5YRG ...      LDN   4  0
5YRN ...      BRN      XNOOPEN  
5YW5 ...XOPENINC
5YYG          OPENINC  ,READ
5^7D ...      LDN   4  1                   [SET 'DUMPING' FLAG  
5^BB ...XNOOPEN                            [
5^K# ...      SETNCORE  7,3,FILE,FDINCS 
5^S= ...      STOZ     FDINCNO(3)   
6238 ...      LDX   0  AWORK2(2)           [X0 => TSN   
62=6 ...      STO   0  FDINCTSN(3)         [STORE TSN IN FDINCS 
62F4 ...      LDN   2  0                   [X2 => ZERO  
62N2 ...      STF      3,FDINCFSNO,2       [FILESTORE 0 
62X2    T1SUBS  
63BL          STEP  
63W=          BZE   3  T5SUBS   
64*W ...      JBS      T1SUBS,3,BINSUITRVR [J IF INCREMENT NOT SUITABLE 
64TG ...      LDEX  2  AINCRHR(3)   
65*6 ...      SBN   2  AMAGR
65SQ          SMO      FX2  
66#B          LDX   0  AWORK2   
66S2    T2SUBS  
67?L          SBN   2  INCMAGLEN
67R=          SMO      2
68=W ...      BXE   0  AMAGR(3),T3SUBS     [J IF TSN FOUND IN INCINDEX RECORD   
68*N ...      BNZ   2  T2SUBS   
68DG ...      MHUNTW   2,FILE,FDINCS
68H# ...      LDX   3  FDINCNO(2)   
68L6 ...      BZE   3  T1SUBS               [READ NEXT RECORD   
68NY ...      SMO      FX2  
68RQ ...      LDX   3  ACOMMUNE1
68WJ ...      BNG   3  T5SUBS   
68^B ...      SBN   3  1
6948 ...      SMO      FX2  
6972 ...      STO   3  ACOMMUNE1
69=6          BRN      T1SUBS              [READ NEXT INCINDEX RECORD   
69FY ...T3SUBS  
69KT ...      LDN   6  20   
69PQ ...      SMO      FX2  
69^J ...      STO   6  ACOMMUNE1
6=9B          ADX   2  3
6=P2          LDX   6  AMAGSTATE-A1(2)     [PICK UP MAGSTATE OF THIS TAPE   
6?8L ...      LDCT  5  #562                [CHECK STATE OF TAPE 
6?N=          ANDX  5  6
6#7W          SLC   5  2
6#MG          BNG   5  T1SUBS              [J IF TAPE RETURNED  
6*76          BZE   4  T4SUBS              [ J IF NOT FOR DUMPING   
6*LQ          BNZ   5  T6SUBS              [J IF FAILED OR WRONGED  
6B6B    T4SUBS  
6BL2          LDX   7  AINCNO-A1(3) 
6C5L          MHUNTW   2,FILE,FDINCS
6CK= ...      LDX   3  FDINCNO(2)          [NUMBER OF ENTRIES   
6D4W          LDN   0  1
6DJG ...      ADS   0  FDINCNO(2)          [INCREASE NO. OF ENTRIES 
6FHQ          SMO      2
6G3B ...      STO   7  FDINCINC(3)         [INC NO. FOR THIS ENTRY  
6G?8 ...      ADN   3  5                   [PLUS 1 SPARE
6GH2 ...
6H^W          BXL   3  ALOGLEN(2),T1SUBS
6JFG          LDX   6  2
6JP# ...      ADN   3  8                   [INCREASE LENGTH BY 8 IF NESCESSARY  
6J^6          ALTLEN   6,3,FILE,FDINCS     [INCREASE BLOCK SIZE IF MESS 
6KDQ          BRN      T1SUBS   
6KYB    T5SUBS  
6LD2          LDN   5  0
6LXL    T6SUBS  
6MC=          CLOSETOP  
6MWW          STO   6  ACOMMUNE1(2) 
6N6N ...      BZE   4  PLUS0               [J IF NOT FOR DUMPING
6NBG          BNZ   5  PLUS1
6NL# ...PLUS0   
6NW6          UP
6P*Q    PLUS1   
6PTB          UPPLUS 1                     [EXIT PLUS 1 IF DUMPING CASE AND 
6Q*2                                       [TAPE FAILED OR WRONGED  
6QSL                                       [X5 HOLDS APPRO BITS : X6 = AMAGSTATE
6R#=    [   
6RRW    [     S.R. TO SET NEXT PARAM S OR NULL,NEXT AS SET OF TSNS  
6R^4 ...[   
6S6= ...[   ********************************************************************
6S?G    [   
6SR6    OUTTAPE 
6T=Q          LDX   2  FX2  
6TQB          STOZ     AWORK1(2)           [SET'NO IS OR ARE'   
6W=2          BRN      TSNS2
6WPL    [   
6X9=    [     SR TO SET FIRST PARAM AS S OR NULL,SECOND PARAM AS SET OF TSNS,   
6XNW    [     3RD PARAM IS OR ARE   
6Y8G    TSNS  LDX   2  FX2  
6YN6          STO   7  AWORK1(2)
6^7Q    TSNS2 SBX   7  FX1                 [SET'IS OR ARE'REQUIRED  
6^#D ...[     CALCULATE SIZE OF FILE FINTER 
6^F6 ...      MHUNTW   2,FILE,APROC 
6^KS ...      LDX   4  AMTS(2)             [COUNT OF TAPES  
6^QG ...      STO   4  5
6^X8 ...      SLL   4  1                   [2 WORDS PER TSN 
723W ...      ADN   5  15                  [1 WORD FOR A1 AND   
728J ...      SRL   5  2                   [SPACE FOR SPACES
72*= ...      ADX   4  5                   [AND SPACE FOR (O,U) 
72FY ...      SETUPCORE  4,3,FILE,FINTER
72LL          STOZ     A1(3)
736=          MHUNTW   2,FILE,APROC 
73KW          LDX   4  AMTS(2)             [COUNT OF TAPES  
745G          SBN   4  1
74K6          BZE   4  ONLYONE             [J IF ONLY ONE COPY  
754Q          LDCT  0  #630                [S CHAR  
75JB          SMO      FX2  
7642          STO   0  ACOMMUNE1
76HL          LDN   0  1
773=          OUTPARAM 0,ACOMMUNE1  
77GW          BRN      OUTN 
782G    ONLYONE 
78G6          OUTNULL   
78^Q    OUTN  ADN   4  1                   [RESET COUNT OF MTS  
79FB          LDN   5  0                   [MODIFIER
79K? ...#UNS IDC
79P8 ...      LDN   1  0                   [MARKER FOR LENGTHENING FINTER BLOCK 
79T5 ...[   
79^2    [     CONVERT NEXT TSN TO CHARS 
7=8S ...[   
7=DL    OUTTSN  
7=G8 ...#UNS IDC
7=HQ ...(   
7=K# ...      BZE   1  NOINCREASE          [J IF NO INCREASE
7=LW ...      LDX   3  1                   [X3 => INCREASE IN LENGTH
7=ND ...      MHUNTW   1,FILE,FINTER       [FIND FINTER 
7=Q2 ...      ADX   3  ALOGLEN(1)          [X3 => NEW LENGTH
7=RJ ...      ALTLEN   1,3,FILE,FINTER     [INCREASE LENGTH 
7=T6 ...NOINCREASE                         [
7=WN ...)   
7=Y=          MHUNTW   3,FILE,APROC 
7?CW          SMO      5
7?XG          LDX   6  AMAG(3)  
7#C6          CONSERNO 6,ACOMMUNE1  
7#WQ          LDX   1  ACOMMUNE1(2) 
7*BB          ADN   2  ACOMMUNE2
7*W2          MHUNTW   3,FILE,FINTER
7B*L ...      LDX   6  3
7BT=          LDX   3  A1(3)
7C#W          ADN   3  A1+1 
7CSG ...      ADX   3  6
7D#6          MVCH  2  0(1) 
7D#L ...#UNS IDC
7D*6 ...(   
7D*L ...[   
7DB6 ...[     IS TAPE WRONGED?  
7DBL ...[   
7DC6 ...      MHUNTW   1,FILE,APROC        [X1 -> INCINDEX RECORD   
7DCL ...      ADX   1  5                   [ADD ON MODIFIER 
7DD6 ...      JMBAC    NOTWRONG,1,BMOPWR,BMUSWR [J IF NOT WRONGED   
7DDL ...      LDN   2  0                   [X2 IS MODIFIER FOR CHAR STRING  
7DF6 ...      JMBAS    XBOTHWR,1,BMUSWR,BMOPWR  [J IF USER AND OPERATOR WRONGED 
7DFL ...      JBS      USWR,1,BMUSWR       [J IF USER WRONGED ONLY  
7DG6 ...      ADN   2  1                   [MUST BE OPERATOR WRONGED
7DGL ...USWR                               [
7DH6 ...      SMO      FX1                 [
7DHL ...      ADN   2  WRSTRING            [X2 -> APPRPRIATE STRING 
7DJ6 ...      MVCH  2  3                   [MOVE IN STRING  
7DJL ...      LDN   1  1                   [INCREASE FINTER BY ONE WORD 
7DK6 ...      BRN      SPACE               [
7DKL ...XBOTHWR                             [WRONGED IN BOTH CONTEXTS   
7DL6 ...      ADN   2  2                   [OP AND US WRONGED   
7DLL ...      SMO      FX1                 [
7DM6 ...      ADN   2  WRSTRING            [X2 -> CHAR STRING   
7DML ...      MVCH  2  5                   [MOVE IN STRING  
7DN6 ...      LDN   1  2                   [INCREASE FINTER BY TWO WORDS
7DNL ...      BRN      SPACE               [
7DP6 ...NOTWRONG                           [DO NOT INCREASE FINTER LENGTH   
7DPL ...      LDN   1  0                   [MARKER. 
7DQ6 ...SPACE                              [
7DQL ...)   
7DRQ    [   
7F?B    [     INSERT SPACE  
7FR2    [   
7G=L ...      LDN   0  #20  
7GQ= ...      DCH   0  0(3) 
7H9W          BCHX  3  £
7HPG ...      SBX   3  6
7J96          SBN   3  A1+1 
7JNQ ...      SMO      6
7K8B          STO   3  A1   
7KN2          ADN   5  INCMAGLEN
7L7L          BCT   4  OUTTSN   
7LM=    [   
7M6W    [     ALL TSNS NOW CONVERTED-OUTPUT MESSAGE 
7MLG    [   
7N66          MHUNTW   3,FILE,FINTER
7NKQ          LDX   2  A1(3)
7P5B          SLC   2  2                   [NO.OF CHARS 
7PK2          SBN   2  1                   [DONT O/P LAST SPACE CHAR
7Q4L ...      OUTEXES 2,A1+1,FILE,FINTER
7QJ=          MFREEW   FILE,FINTER  
7R3W    [   
7RHG    [     IS OR ARE 
7S36    [   
7SGQ          LDX   0  AWORK1(2)
7T2B          BZE   0  TSNEND              [J IF NO'IS OR ARE'REUQUIRED 
7TG2          MHUNTW   3,FILE,APROC 
7T^L          LDX   4  AMTS(3)  
7WF=          SBN   4  1
7WYW          LDN   0  2                   [CHARS IN IS 
7XDG          ADN   1  QIS                 [ADDRESS OF IS   
7XY6          BZE   4  NULLPARAM
7YCQ          ADN   0  1                   [CHARS IN ARE
7YXB          ADN   1  1                   [ADDRESS OF ARE  
7^C2    NULLPARAM   
7^WL          LDX   6  0(1)                [MESSAGE 
82B=          STO   6  ACOMMUNE1(2) 
82TW          OUTPARAM 0,ACOMMUNE1         [PARAM=IS OR ARE 
83*G    TSNEND  
83T6          ADX   7  FX1  
84#Q          EXIT  7  0
84SB    [   
85#2    [     SR TO DO OUTPARAM OF LIST OF INC.NOS IN FLINC BLOCK,AND THEN  
85RL    [   
86?=    OUTINCNOS   
86QW          SBX   7  FX1  
87=G          MHUNTW   3,FLIB,FLINC 
87Q6          LDX   6  A1(3)
889Q          SBN   6  2
88PB          BZE   6  ONLYINC             [J IF ONLY ONE INC   
88R5 ...#SKI JSKI30 
88SS ...(   
88WH ...      LDX   0  FLINCST(3)   
88Y= ...      BNZ   0  OLDFORM             [J IF NO FLINCST 
88^^ ...      SBN   6  1
893N ...      BZE   6  ONLYINC             [J IF ONLY 1 INC,FORMAT 2 FLINC  
895C ...OLDFORM 
8976 ...)   
8992          LDCT  0  #630                [S CHAR  
89NL          SMO      FX2  
8=8=          STO   0  ACOMMUNE1
8=MW          LDN   0  1
8?7G          OUTPARAM 0,ACOMMUNE1  
8?M6          BRN      OUTOTHER 
8#6Q    ONLYINC 
8#LB          OUTNULL   
8*62    OUTOTHER
8*KL          ADN   6  2
8B5=          SLL   6  2
8BJW          SETUPCORE 6,2,ADATA,CREADL
8C4G          ADN   2  CPDATA              [NEXT CHAR POSN  
8CJ6          MHUNTW   3,FLIB,FLINC 
8D3Q          LDX   6  A1(3)
8DHB          SBN   6  1
8F32    XDECR LDX   0  A1+2(3)             [NEXT INC.NO.
8F4P ...#SKI JSKI30 
8F6D ...(   
8F87 ...      BNZ   0  NOFLINCST           [J IF NO FLINCST 
8F9W ...      ADN   3  1
8F?K ...      SBN   6  1
8F*# ...      BRN      XDECR
8FC3 ...NOFLINCST   
8FDQ ...)   
8FGL          LDN   4  0
8G2=          SMO      FX1  
8GFW          MPY   0  MAGNO
8G^G          MODE     0
8HF6          LDN   5  7
8HYQ    VCON  CBD   0  4
8JDB          BNZ   4  NOTZ 
8JY2          BCT   5  VCON 
8KCL          ADN   5  1
8KX=    NOTZ  DCH   4  0(2)                [FIRST NON-ZERO CHAR 
8LBW          BRN      NOTZ2
8LWG    WCON  CBD   0  0(2) 
8MB6    NOTZ2 BCHX  2  £
8MTQ          BCT   5  WCON 
8N*B          BCT   6  PUTCOMMA            [COMMA IF MORE LEFT  
8NT2          BRN      NOINCSLEFT   
8P#L    PUTCOMMA
8PS=          LDN   4  #34                 [COMMA   
8Q?W          DCH   4  0(2) 
8QRG          BCHX  2  £
8R?6          ADN   3  1                   [POINT TO NEXT INC.NO.   
8RQQ          BRN      XDECR
8S=B    [   
8SQ2    [     X2 POINTS TO NEXT CHAR POSN IN ADATA  
8T9L    [   
8TP=    NOINCSLEFT  
8W8W          SLC   2  2
8WNG          MHUNTW   3,ADATA,CREADL   
8X86          LDX   4  3
8XMQ          ADN   4  CPDATA   
8Y7B          SLL   4  2
8YM2          SBX   2  4                   [NO OF CHARS IN X2   
8^6L ...      OUTEXES 2,CPDATA,ADATA,CREADL 
8^L=          MFREEW   ADATA,CREADL 
925W          ADX   7  FX1  
92KG          EXIT  7  0
9356    [   
93JQ    [     SR TO DO MONOUT   
944B    [   
94J2    OUTMON  
953L          SBX   7  FX1  
95H=          SMO      7
962W          LDX   5  0(1)                [MESSAGE 
96GG          MONOUTX  5
9726          ADX   7  FX1  
97FQ          EXIT  7  1
97GY ...[   
97J6 ...[   
97K# ...[     MESSAGE-PLEASE LOAD RETRIEVE TAPE%A :%B   
97LG ...[   
97MN ...[   ********************************************************************
97NW ...[   
97Q4 ...      SEGENTRY K100DTSUBS          [USED BY RESTORE TIME MACRO REQRVMAX 
97R= ...               +175                [DEFAULT SETTING FOR MAX NO OF TSNS T
97SD ...X11DTSUBS   
97TL ...#UNSET FIRSTR   
97WS ...(   
97Y2 ...      LDX   7  K100DTSUBS(1)       [X7 => MAX NO OF TSNS TO BE OUTPUT IN
97^8 ...      LDN   6  0                   [X6 => WILL CONTAIN NO OF TSNS PUT IN
982B ...      LDX   3  BOLC                [X3 => FDT   
983J ...      LDX   4  A1(3)               [X4 => NO OF TAPE ENTRIES
984Q ...      BZE   4  XNOMESS2            [J IF NO TSNS
985Y ...      BXL   4  7,XFOURLOW          [J IF X4 < X7
9876 ...      SLL   7  1                   [TWO WORDS PER TSN   
988# ...      SETUPCORE 7,2,FILE,FINTER1   [USED TO HOLD TSNS IN BINARY FORM
989G ...      SRL   7  1                   [RESET X7
98=N ...      SLL   4  2                   [4 WORDS PER TSN 
98?W ...      BRN      XSEVLOW             [
98*4 ...XFOURLOW                           [
98B= ...      SLL   4  1                   [TWO WORDS PER TSN   
98CD ...      SETUPCORE 4,2,FILE,FINTER1   [USED TO HOLD TSNS IN BINARY FORM
98DL ...      SLL   4  1                   [FOUR WORDS PER TSN  
98FS ...XSEVLOW                            [
98H2 ...      ADX   4  BOLC                [X4 => LIMIT OF ENTRIES IN FDT   
98J8 ...      LDX   3  BOLC                [X3 SET UP AS A MODIFIER FOR 
98KB ...      SBN   3  4                   [SCANNING UP FDT 
98LJ ...REPEAT                             [
98MQ ...      ADN   3  4                   [POINT TO NEXT ENTRY 
98NY ...      BXE   3  4,XFDTEND           [J IF END OF FDT 
98Q6 ...      JBC      REPEAT,3,BIFDTO     [J IF BIFDT CLEAR
98R# ...      JMBS     REPEAT,3,BIFDTOW,BIFDTUW,BIFDTCL [J IF TAPE WRONGED OR CA
98SG ...      LDX   5  FDSN(3)             [X5 => BINARY TSN
98TN ...      STO   5  A1(2)               [STORE TSN IN FINTER1
98WW ...      LDX   5  FDST(3)             [X5 => STATE OF TAPE 
98Y4 ...      STO   5  A1+1(2)             [STORE STATE OF TAPE IN FINTER1  
98^= ...      ADN   2  2                   [UPDATE FINTER1 POINTER  
992D ...      ADN   6  1                   [UPDATE COUNT OF TSNS
993L ...      BXL   6  7,REPEAT            [J IF MAX NO OF TSNS NOT YET REACHED 
994S ...XFDTEND                            [
9962 ...      BZE   6  XNOMESS1            [J IF NO TSNS FOUND  
9978 ...      SBN   6  1                   [WE NOW HAVE TO OUTPUT AN
998B ...      BZE   6  XONLYONE            [ S CHARACTER IF MORE THAN ONE TAPE  
999J ...      LDCT  0  #630                [ S CHARACTER
99=Q ...      SMO      FX2                 [
99?Y ...      STO   0  ACOMMUNE1           [STORE S CHARACTER FOR OUTPARAM  
99*6 ...      LDN   0  1                   [ONE CHARACTER   
99B# ...      OUTPARAM 0,ACOMMUNE1         [OUTPARAM ASSUMES ACTIVITY BLOCK 
99CG ...      BRN      TSNSETUP            [
99DN ...XONLYONE                           [
99FW ...      OUTNULL                      [NO S IF ONLY ONE TAPE   
99H4 ...TSNSETUP                           [
99J= ...      ADN   6  1                   [RESET X6 => NO. OF TAPES
99KD ...      STO   6  4                   [X4 => NO. OF TAPES, X6 IS CORRUPTED 
99LL ...      STO   6  7                   [NOW SET UP A FILE/FINTER BLOCK  
99MS ...      SLL   6  1                   [TWO WORDS PER TSN   
99P2 ...      ADN   7  7                   [1 WORD FOR A1 AND   
99Q8 ...      SRL   7  2                   [SPACE FOR COMMAS
99RB ...      ADX   6  7                   [SPACE FOR (FSN) = 2 WORDS + 
99SJ ...      ADN   6  6                   [SPACE FOR '(WPR)' STRING, 5*3 = 4 WO
99TQ ...      SETUPCORE 6,3,FILE,FINTER    [USED TO HOLD CHARACTER TSNS 
99WY ...      STOZ     A1(3)               [SET CHARACTER COUNT ZERO
99Y6 ...      LDN   5  0                   [X5 SET UP AS MODIFIER FOR FINTER1   
99^# ...#UNS FTS2   
9=2G ...      LDN   7  0                   [SET 'DONT INCREASE LENGTH' FLAG 
9=3N ...TSNLOOP                            [
9=4W ...#UNS FTS2   
9=64 ...(   
9=7= ...      BZE   7  XNOINCREAS          [J IF NO 'FS'
9=8D ...      MHUNTW   3,FILE,FINTER       [X3 -> FINTER
9=9L ...      LDX   7  ALOGLEN(3)          [X7 => LOGICAL LENGTH
9==S ...      ADN   7  2                   [INCREASE BY 2   
9=#2 ...      ALTLEN   3,7,FILE,FINTER     [INCREASE
9=*8 ...      LDN   7  0                   [SET 'DON'T INCREASE LENGTH' FLAG
9=BB ...XNOINCREAS  
9=CJ ...)   
9=DQ ...      MHUNTW 3,FILE,FINTER1        [FIND BINARY TSNS AGAIN  
9=FY ...      SMO      5                   [MODIFIES FINTER1
9=H6 ...      LDX   6  A1(3)               [X6 => TSN   
9=J# ...      CONSERNO 6,ACOMMUNE1         [CONVERT TSN TO CHARACTERS   
9=KG ...      LDX   1  ACOMMUNE1(2)        [X1 => CHARACTER COUNT   
9=LN ...      ADN   2  ACOMMUNE2           [X2 -> FIRST TSN CHARACTER   
9=MW ...      MHUNTW 3,FILE,FINTER         [X3 -> FINTER
9=P4 ...      LDX   6  3                   [X6 -> FINTER
9=Q= ...      LDX   3  A1(3)               [X3 => CHARACTER COUNT   
9=RD ...      ADN   3  A1+1                [X3 => RELATIVE CHARACTER POSITION   
9=SL ...      ADX   3  6                   [X3 => ABSOLUTE CHARACTER POSITION IN
9=TS ...      MVCH  2  0(1)                [MOVE TSN INTO FINTER,X3 IS UPDATED  
9=X2 ...      MHUNTW 2,FILE,FINTER1        [FIND FINTER1 AGAIN  
9=Y8 ...      SBN   2  1                   [TO FIND FILESTORE   
9=^B ...      ADX   2  5                   [NUMBER AND  
9?2J ...      LF       2,FDTFSNO,1         [IN ORDER TO SEE IF A
9?3Q ...      LDX   2  A1+2(2)             [WPR IS NEEDED   
9?4Y ...      BBS   7,2,XNOWPR             [J IF NO WPR REQUIRED
9?66 ...[   
9?7# ...[      INSERT '(WPR)' STRING IF NECESSARY   
9?8G ...[   
9?9N ...      SMO      FX1                 [X1 WAS CORRUPTED
9?=W ...      LDN   2  QWPR                [X2 => ADDRESS OF STRING (WPR)   
9?#4 ...      MVCH  2  5                   [MOVE THE FIVE CHARACTERS
9?*= ...#UNS FTS2   
9?BD ...      BNZ   1  (GEOERR)            [J IF ALIEN TAPE NEEDS WPR!  
9?CL ...[   
9?DS ...[     NOW INSERT FILESTORE NUMBER   
9?G2 ...[   
9?H8 ...XNOWPR                             [
9?JB ...#UNS FTS2   
9?KJ ...(   
9?LQ ...      BZE   1  XNOFSNO             [J IF HOST FILESTORE 
9?MY ...      SMO      FX1                 [X1 CORRUPTED
9?P6 ...      LDN   2  QFSNO               [X2 -> STRING '(FS'  
9?Q# ...      MVCH  2  3                   [MOVE THE THREE CHARACTERS   
9?RG ...      LDN   7  1                   [SET 'INCREASE LENGTH' FLAG  
9?SN ...      SMO      FX1                 [
9?TW ...      DVS   0  TEN                 [CONVERT FILESTORE NUMBER TO DECIMAL 
9?X4 ...      LDN   2  2                   [X2 => COUNT OF RELEVENT CHARS   
9?Y= ...      SLL   1  18                  [QUOTIENT IN TOP CHARACTER POSITION  
9?^D ...      SLL   0  12                  [REMAINDER IN SECOND POSITION
9#2L ...      BNZ   1  XTWOCHAR            [J IF TWO CHARS  
9#3S ...      SBN   2  1                   [ONLY ONE CHARACTER  
9#52 ...      SLL   0  6                   [REMAINDER IN TOP POSITION   
9#68 ...XTWOCHAR                           [
9#7B ...      ORX   1  0                   [X1 => FILESTORE IN CHARS
9#8J ...      BZE   1  (GEOERR)            [X1 ILLEGAL  
9#9Q ...      SMO      FX2                 [
9#=Y ...      STO   1  ACOMMUNE1           [STORE FILESTORE NUMBER  
9##6 ...      LDX   1  2                   [X1 => COUNT 
9#*# ...      SMO      FX2                 [
9#BG ...      LDN   2  ACOMMUNE1           [X2 -> FILESTORE NUMBER  
9#CN ...      SMO      1                   [X1 => 1 OR 2
9#DW ...      MVCH  2  0                   [MOVE CHARACTERS 
9#G4 ...      LDN   0  #31                 [X0 => ')'   
9#H= ...      DCH   0  0(3)                [PUT ) IN FINTER 
9#JD ...      BCHX  3  £                   [UPDATE CHARACTER BY ONE 
9#KL ...)   
9#LS ...[   
9#N2 ...[      NOW INSERT A SPACE   
9#P8 ...[   
9#QB ...XNOFSNO                            [
9#RJ ...      LDN   0  #20                 [X0 => SPACE 
9#SQ ...      DCH   0  0(3)                [PUT COMMA IN FINTER 
9#TY ...      BCHX  3  £                   [UPDATE CHARACTER COUNT BY ONE   
9#X6 ...      SBX   3  6                   [RESET X3 TO CONTAIN 
9#Y# ...      SBN   3  A1+1                [NEW CHARACTER COUNT 
9#^G ...      SMO      6                   [
9*2N ...      STO   3  A1                  [STORE NEW CHARACTER COUNT IN FINTER 
9*3W ...      ADN   5  2                   [UPDATE MODIFIER 
9*54 ...      BCT   4  TSNLOOP             [J IF NOT ALL TSNS YET CONVERTED 
9*6= ...[   
9*7D ...[      ALL TSNS NOW CONVERTED - OUTPUT MESSAGE  
9*8L ...[   
9*9S ...      MHUNTW   3,FILE,FINTER       [FIND FINTER 
9*?2 ...      LDX   2  A1(3)               [X2 => CHARACTER COUNT WORD  
9*#8 ...      SLC   2  2                   [NO. OF CHARACTERS   
9**B ...      SBN   2  1                   [DONT OUTPUT LAST COMMA  
9*BJ ...      OUTEXES 2,A1+1,FILE,FINTER   [OUTPUT %B OF MESSAGE
9*CQ ...      MFREEW   FILE,FINTER         [GET RID OF FINTER   
9*DY ...      CALL  7  OUTMON              [OUTPUT MESSAGE  
9*G6 ...                +JMTLOAD
9*H# ...XNOMESS1
9*JG ...      MFREEW FILE,FINTER1          [FREE FILE/FINTER1   
9*KN ...XNOMESS2
9*LW ...      UP                           [RETURN FROM WHENCE WE CAME (SCHEDMTX
9*N4 ...)   
9*SW    [   
9B#G ...[     MESSAGE-MT%A %B %C%D WRONGED MAKING INC%E %F UNAVAILABLE  
9BS6    [   
9B^# ...[   ********************************************************************
9C6G ...[   
9C?Q    X4DTSUBS
9CRB          CALL  7  TSNS                [CONVERT LIST OF TSNS FROM PSEUDO
9D?2                                       [INCINDEX RECORD IN APROC BLOCK  
9DGS ...      OUTNULL   
9DQL          BRN      OUTWRNGMES   
9F==    [   
9FH7 ...[     O/P LIST OF INCREMENTS AND MESSAGE:   
9FS4 ...[     MT%A %B %C%D WRONGED MAKING INC%E %F UNAVAILABLE  
9G4^ ...[       %A AND %B ARE NULL, %C AND %D ALREADY OUTPUT (BY DTWRONG)   
9G*W ...[   
9GLR ...[   ********************************************************************
9GXN ...[   
9H8Q    X10DTSUBS   
9HNB    OUTWRNGMES                         [SEND MESSAGE ABOUT WRONGED TAPES
9J82          CALL  7  OUTINCNOS
9JML          CALL  7  OUTMON   
9K7= ...               +HMTWRONGP   
9KLW          UP
9L6G    [   
9LL6    [     MESSAGE OF THE TYPE-INC %A ON MT%B %C-DEAL WITH A,B,C FROM APROC  
9LTY ...[   
9M5Q ...[   ********************************************************************
9M*J ...[   
9MKB    X12DTSUBS   
9N52          MHUNTW   2,FILE,APROC 
9NJL          OUTNUM   AINCNO(2),0  
9P4=          CALL  7  OUTTAPE  
9PHW          UP
9Q3G    [ ENTRY POINTS FOR OUTINCS,OUTTSNS AND OUTINCTSN MACROS 
9Q7C ...[   
9Q?# ...[   ********************************************************************
9QC9 ...[   
9QH6    X13DTSUBS   
9R2Q          CALL  7  OUTINCNOS
9RGB          UP
9RKG ...[   
9RNL ...[   ********************************************************************
9RRQ ...[   
9RWW ...[   
9S22    X14DTSUBS   
9SFL          CALL  7  OUTTAPE             [      WITH NO PARAMETER 
9S^=          UP
9T57 ...[   
9T94 ...[   ********************************************************************
9T#^ ...[   
9TDW    X15DTSUBS   
9TYG          CALL  7  TSNS                [      WITH PARAMETER ARE
9WD6          UP
9WXQ          MENDAREA 20,K99DTSUBS 
9XCB    #END
9XX2
^^^^ ...76463364000100000000