DTSUBSA867

(George Source)

Macros used: ALTLEN, BC, BS, BXE, BXGE, BXL, BXU, CHAIN, CONSERNO, DOWN, FDTENT, FON, FPUT, GEOERR, GETACT, JBC, JBS, JBSC, JMBS, LINKSET, LONGOFF, MBC, MFREEW, MHUNT, MHUNTW, PAIR, REWIND, SEG, SEGENTRY, SETBIT, STARTACT, STEP, TWDUMP, UP, UPDOLC, UPPLUS

DTSUBSA867.txt
227T ...  SEG DTSUBSA,867,C.R.JOHNSON,SCHEDULER 
22*N ...[   
22HH ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982
22PD ...[   
22SR ...      SEGENTRY K1DTSUBSA,X1DTSUBSA  
22Y6 ...      SEGENTRY K2DTSUBSA,X2DTSUBSA  
22^R ...      SEGENTRY K3DTSUBSA,X3DTSUBSA  
233F ...[   
236S ...TFMASK         #42020000
23=7 ...QLOAD          8HLOADMT00          [USED BY X2DTSUBSA...CD LOAD CODE
23*G ...PAIR  PAIR     DTSTART,1
23DW ...[   
2SM# ...[   ******************************************************************  
2SN3 ...[   
2SNQ ...[   THIS SUBROUTINE APPENDS TO THE FDT AN ENTRY FOR THE TSN SPECIFIED   
2SPF ...[     IN AWORK2 OF THE ACTIVITY BLOCK. IF AN ENTRY ALREADY EXISTS THEN T
2SQ8 ...[     SUBROUTINE WILL UNFORTUNATELY GEOERR. 
2TMC ...[     THE LINK ADDRESS MUST BE RELATIVISED  
2T^S ...[   
2W#=    [   
2WRW ...UPFDT   
2X?G          SBX   7  FX1  
2XR6          SMO      FX2  
2Y5H ...      LDX   5  AWORK2              [GET TSN 
2YCY ...[   
2YQ* ...[     FIND FDT ENTRY FOR TSN IN X5-IF NOT IN,GO TO NOFDTTAPE
2^4Q ...[   
2^C7 ...      FDTENT   3,5,NOFDTTAPE
2^PJ ...      GEOERR   1,INFDT             [FDT ENTRY ALREADY   
323^ ...[   
32BB ...[     TAPE NOT IN,MAKE NEW ENTRY
32NR ...[     FDT BLOCK MUST ALWAYS HAVE 4 SPARE WORDS-THERE CAN BE NO COORD.   
3338 ...[     BETWEEN SEARCH AND NEW ENTRY INSERTION.   
33*K ...[   
33N6    NOFDTTAPE   
347Q          LDX   3  BOLC                [POINT TO EDT BLOCK  
34MB          LDX   3  A1(3)
3572          SLL   3  2
35LL          ADX   3  BOLC                [POINT TO SPACE FOR NEW ENTRY
366= ...      STO   5  FDSN(3)             [SET UP NEW ENTRY -TSN   
36KW          STOZ     FDINC(3)            [                 -INCREMENT NUMBER  
375G          STOZ     FDFILE(3)           [                 -FILE NUMBER   
37K6 ...      STOZ     FDST(3)             [                 -STATE WORD
384Q ...      BS      3,BIFDTCD    [SET 'BEING OPENED' & 'CURRENT DUMP TAPE' BIT
3?7^ ...      LDX   3  BOLC                [X3 -> OFLC  
3?G6          LDX   6  A1(3)               [NUMBER OF ENTRIES   
3?^Q          ADN   6  1
3#FB          STO   6  A1(3)               [UPDATED 
3#P8 ...[   
3#^2 ...[     GET SPACE FOR NEXT ENTRY  
3*8S ...[   
3*DL          SLL   6  2
3*Y=          ADN   6  5
3BCW          ALTLEN   BOLC,6   
3BF4 ...      ADX   7  FX1                 [RELATIVIZE LINK ACCUMULATOR 
3BG= ...      EXIT  7  0                   [EXIT
3BHD ...[   
3BJL ...[   ******************************************************************  
3BKS ...[   
3BM2 ...[   THIS SUBROUTINE SETS UP A DUMP TAPE ACTIVITY FOR THE TAPE   
3BN8 ...[   WHOSE TSN IS IN AWORK2 OF THE ACTIVITY BLOCK. THE FIRST 
3BPB ...[   FDINCS BLOCK FOUND AFTER THE CURRENT ACTIVITY IS THEN   
3BQJ ...[   CHAINED AFTER THE DTA AND THE DTA IS THEN FPUT'ED.  
3BRQ ...[   
3BSY ...SETUPACT
3BW6 ...      SBX   7  FX1                 [RELATIVIZE LINK ACCUMULATOR 
3BXG          GETACT   ACTDOC,ADUMPT,1     [SET UP DUMP TAPE ACTIVITY   
3CC6 ...      LDX   5  AWORK2(2)           [GET TSN BEFORE CORRUPTING X2
3DW2          LDX   3  BPTR(2)             [X2 POINTS TO ITS BASE   
3F5S ...[   
3F*L    [     CHECK  LINKSET PARAMETERS 
3FKD ...[   
3FT=          LINKSET  3,PAIR(1)           [SET UP LINK 
3G#W ...      STO   5  ADTSN(3)            [MOVE IN TSN 
3H#6          MHUNTW   1,FILE,FDINCS
3HRQ          CHAIN    1,3                 [CHAIN FDINCS AFTER NEWLY
3J?B                                       [   SET UP DTA   
3JR2          LDX   2  3
3K=L          FPUT                         [PUT ACTIVITY ON LIST
3KQ=          ADX   7  FX1                 [RESETLINK   
3L9W          EXIT  7  0
3LPG ...[   
3M96 ...[   ******************************************************************  
3MNQ ...[   
3N8B ...[     THIS SUBROUTINE FINDS A FDT ENTRY.
3NN2 ...[   
3P7L ...XFDTENT                            [
3PM= ...      FDTENT   3,6,NOENTRY         [J IF NO FDT ENTRY   
3Q6W ...      EXIT  7  1                   [ENTRY FOUND 
3QLG ...NOENTRY                            [
3R66 ...      EXIT  7  0                   [ENTRY NOT FOUND 
3RKQ ...[   
3S5B ...[   ******************************************************************  
3SK2 ...[   
3T4L ...[     SUBROUTINE TO SEARCH FOR FGET BLOCK ATTACHED TO DUMPER'S  
3TJ= ...[     ACTIVITY .... WOULD BE BETTER IF DUMPER PUT IT IN MISC CHAIN. 
3W3W ...[   
82B=    XFGET LDCT  0  #443                [BLK TYPE OF FGET
82TW          LDX   3  BACT 
83*G    XGET1 LDX   3  FPTR(3)  
83T6          BXE   3  BACT,XGET2   
84#Q          BXU   0  ATYPE(3),XGET1   
84SB          EXIT  7  0
85#2    XGET2 GEOERR   1,NOFGET 
85RL ...[   
86?= ...[   ******************************************************************  
86QW ...[   
87=G ...[   THIS SUBROUTINE IS DESIGNED TO DO A NON-CORDINATING SEARCH OP THE   
87Q6 ...[   OLC, UPDATING ALL THE RELEVANT REQUEST BLOCKS. THERE ARE FOUR   
889Q ...[   ENTRY POINTS CORRESPONDING TO FOUR SEPERATE ACTIONS TO BE TAKEN 
88PB ...[   
8992 ...[     1     XTAPEM/XTAPEP : SEARCH DOWN THE OFF LINE CHAIN  
89NL ...[                           INCREMENTING/DECREMENTING ADTCOUNT IN   
8=8= ...[                           ALL REQUEST BLOCKS WHOSE INC. NO. IS IN 
8=MW ...[                           THE RANGE GIVEN BY FILE FDINCS BLOCK
8?7G ...[   
8?M6 ...[           ENTRY         :  X2 = FX2   
8#6Q ...[                            FILE FDINCS BLOCK PRESENT  
8#LB ...[   
8*62 ...[     2     XCOUNT        : SEARCH DOWN OLC UPDATING ADTCOUNT WITH A
8*KL ...[                           VALUE SPECIFIED IN X0, IN ALL REQUEST   
8B5= ...[                           BLOCKS WHOSE INC. NO. IS SAME AS IN X4  
8BJW ...[                           AND WHOSE FILESTORE NUMBER IS IN X6.
8C4G ...[   
8CJ6 ...[           ENTRY         : X2 = FX2
8D3Q ...[                           X0 = COUNT OF DTAS AVAILABLE
8DHB ...[                           X4 = INC. NO.   
8F32 ...[                           X6 = FILESTORE NUMBER.  
8FGL ...[   
8G2= ...[     3     XSTATE        : SEARCH DOWN OLC SETTING APPROPRIATE BIT IN  
8GFW ...[                           FDTSTATE WORD IN ALL REQUEST BLOCKS WHOSE   
8G^G ...[                           INC.NO. IS GIVEN IN X4 AND WHOSE FILESTORE  
8HF6 ...[                           NUMBER IS IN X6.
8HYQ ...[   
8JDB ...[           ENTRY         : X2 = FX2
8JY2 ...[                           X0 = STATE WORD 
8KCL ...[                           X4 = INC. NO.   
8KX= ...[                           X6 =FILESTORE NUMBER
8LBW ...[   
8LWG ...[     EXIT     IN ALL THESE CASES ALL THE ACCUMULATORS ARE CORRUPTED
8MB6 ...[   
8MTQ ...[     NOTE     THE LINK ACCUMULATOR IS X7   
8N*B ...      UPDOLC
8NT2 ...[   
8P#L ...[   ******************************************************************  
8PS= ...[   
8Q?W ...[     THIS CODE IS ENTERED AFTER THE DTS HAS NOTICED THAT DUMPER
8QRG ...[     HAS BEEN INITIATED (VIA B21 OF INCWORD)   
8R?6 ...[   
8RQQ ...[     EACH TAPE ENTRY IN DUMPERS FILE/FGET BLOCK IS LOOKED AT.  
8S=B ...[     IF THE TAPE IS FOUND TO HAVE FAILED OR BE WRONGED 
8SQ2 ...[     APROPRIATE BITS ARE SET IN THE FGET OTHERWISE A DUMP TAPE 
8T9L ...[     ACTIVITY IS SET UP AND ALL FREQS ADTCOUNTS ALTERED
8TP= ...[     ACCORDINGLY   
8W8W ...[   
8WNG ...X1DTSUBSA   
8X86 ...[   
8XMQ ...[   
8Y7B ...[     FIRST THING TO DO IS TO REMOVE DUMPER BIT FROM INCWORD
8YM2 ...[   
8^6L ...      BC       ,BMTSREQ            [CLEAR 'DUMPER REQUIRES TAPES' BIT   
8^L= ...REHUNT  
925W ...      LDX   2  FX2  
92KG ...#UNS IDC
9356 ...      JBSC     NOWFINI,,BMTSCAN    [CLEAR BIT & J IF DUMP CANCELLED 
93JQ ...      CALL  7  XFGET               [SEARCH FOR F/FGET BLOCK 
944B ...                                   [ON EXIT X3-> FGET   
94J2 ...#UNS  FPD   
953L ...      LDX   5  INCCOPIES(3) 
95H= ...#UNS  FPD   
962W ...#SKI
96GG ...(   
9726 ...      LDX   5  3
97FQ ...      ADX   5  ALOGLEN(3)   
97^B ...)   
98F2 ...NFGET   
98YL ...      LDX   0  FGETSTATE(3) 
99D= ...      BPZ   0  XREQNOT             [IF -VE ENTRY ALREADY
99XW ...                                   [BEEN LOOKED AT  
9=CG ...      ADN   3  FGETLEN  
9=X6 ...#UNS  FPD   
9?BQ ...      BCT   5  NFGET
9?WB ...#UNS  FPD   
9#B2 ...#SKI
9#TL ...      BXU   3  5,NFGET  
9**= ...NOWFINI 
9*SW ...      FON      FGOTWAIT            [ALL ENTRIES LOOKED AT   
9B#G ...                                   [SO KICK DUMPER  
9BS6 ...      STOZ     ADUMTST(2)   
9C?Q ...      UP                           [BACK UP TO SCHEDMTX 
9CRB ...XREQNOT 
9D?2 ...      SETBIT   0,FGETSTATE(3)      [MARK ENTRY AS LOOKED AT 
9DQL ...      LDX   6  FGETSER(3)          [PICK UP TSN FROM FGET ENTRY 
9F== ...      STO   6  AWORK2(2)           [USE AWORK2 FOR SETUPACT 
9FPW ...      SBX   3  4
9G9G ...      LONGOFF                      [DTSUBS8 OPENS INCINDEX!!!   
9GP6 ...      DOWN     DTSUBS,8            [SETS UP A F/FDINCS BLOCK
9H8Q ...                                   [COMES UP FOR OK CASE
9HNB ...                                   [OR UPPLUS 1 IF TAPE FOUND   
9J82 ...                                   [TO BE FAILED OR WRONGED 
9JML ...      BRN      TESTFDT  
9K7= ...NOGOOD  
9KLW ...      MFREEW   FILE,FDINCS  
9L6G ...#UNS IDC
9LL6 ...      JBSC     NOWFINI,,BMTSCAN    [CLEAR BIT & J IF DUMP CANCELLED 
9M5Q ...      LDX   6  ACOMMUNE1(2)        [MAGSTATE FOR DUMPING CASE   
9MKB ...NFDST   
9N52 ...      LDX   2  FX2  
9NJL ...      LDX   4  AWORK2(2)           [TSN 
9P4= ...      CALL  7  XFGET               [X3 -> FGET BLOCK
9PHW ...#UNS  FPD   
9Q3G ...      LDX   7  INCCOPIES(3) 
9QH6 ...#UNS  FPD   
9R2Q ...#SKI
9RGB ...(   
9S22 ...      LDX   7  ALOGLEN(3)          [ ***** SHOULD BE RECORD HEADER  
9SFL ...      ADX   7  3                   [POINTER TO END OF BLOCK 
9S^= ...)   
9TDW ...NEXTFGET
9TYG ...      BXE   4  FGETSER(3),XTSNINFGET
9WD6 ...      ADN   3  FGETLEN             [STEP TO  NEXT ELEMENT   
9WXQ ...#UNS  FPD   
9XCB ...      BCT   7  NEXTFGET 
9XX2 ...#UNS  FPD   
9YBL ...#SKI
9YW= ...      BXL   3  7,NEXTFGET   
9^*W ...      GEOERR    1,NOTNFGET  
9^TG ...XTSNINFGET  
=2*6 ...      BPZ   6  NOTFAILED           [X6 = MAGSTATE   
=2SQ ...      SETBIT   3,FGETSTATE(3)   
=34J ...      BRN      REHUNT   
=3#B ...NOTFAILED   
=3D? ...      LDCT  0  #002 
=3J8 ...      ANDX  0  6
=3N5 ...      BNZ   0  TWDUMP   
=3S2 ...      SETBIT   2,FGETSTATE(3)   
=4?L ...      BRN      REHUNT              [LOOK AT NEXT ENTRY IN FDINCS
=4CH ...TWDUMP                             [SET BIT 5 IF TW DUMP
=4HD ...      SETBIT   5,FGETSTATE(3)   
=4M* ...      BRN      REHUNT   
=4R= ...TESTFDT 
=5=W ...#UNS IDC
=5QG ...      JBS      NOGOOD,,BMTSCAN     [J IF DUMP CANCELLED 
=6=6 ...      LDX   7  ACOMMUNE1(2)        [STATE OF MAGTAPE
=6PQ ...      STO   7  AWORK3(2)
=79B ...      CALL  7  XFDTENT             [TSN IN X6 BEFORE WENT DOWN  
=7P2 ...      BRN      NOTHERE             [J IF NO ENTRY IN FDT
=88L ...[   
=8N= ...[     FDT ENTRY ALREADY SO CHECK IF FAILING AND FREE FDINCS 
=97W ...[   
=9MG ...      SMO      FX1  
==76 ...      LDX   6  TFMASK              [B0=FAIL,B4=CD OR OPERATOR WRONGED,B1
==LQ ...      ANDX  6  FDST(3)  
=?6B ...      BNZ   6  XFREEFF             [J IF THE TAPE IS WRONGED
=?L2 ...      JMBS XDUMPACT,3,BIFDTO,BIFDTJL  [J TO XDUMPACT IF NO ACTIVITY 
=#5L ...                                      [SET UP YET   
=#K= ...XFREEFF                            [
=*4W ...      MFREEW   FILE,FDINCS         [FREE FDINCS BLOCK   
=*JG ...      BNZ   6  NFDST               [GO AND SET STATE OF TAPE
=B46 ...                                   [IN FGET ENTRY   
=BHQ ...      BRN      SETDUMPBIT          [
=C3B ...NOTHERE 
=CH2 ...      LDX   2  FX2  
=D2L ...      CALL  7  XTAPEP              [NO FDT SO UPDATE ADTCOUNT   
=DG= ...      CALL  7  UPFDT               [UPDATE FDT - INSERT TSN,SET BIT 
=D^W ...                                   [BIFDTO,LENGTHEN FDT BY 4 WORDS. 
=F^6 ...      CALL  7  SETUPACT            [SET UP DTA FOR DUMP TAPE AND CHAIN  
=GDQ ...                                   [THE FDINCS AFTER IT 
=GYB ...      SMO      FX2                 [X2 IS CORRUPT   
=HD2 ...      LDX   6  AWORK2              [X6 => TSN FOR XFDTENT   
=HXL ...      CALL  7  XFDTENT  
=JC= ...      BRN      XGERR               [NO FDT ENTRY ?  
=JWW ...SETDUMPBIT  
=KBG ...#UNS IDC
=KW6 ...      JBS      SETBITS,,BMTSCAN    [J IF DUMP CANCELLED 
=L*Q ...      BS       3,BIFDTD            [SET 'NEEDED BY DUMPER' BIT  
=LTB ...SETBITS 
=M*2 ...      MBC      3,BIFDTO,BIFDTJL    [CLEAR 'TAPE TO BE OPENED' BIT   
=MSL ...                                   [AND 'TAPE JUST LOADED' BIT  
=N#= ...      BRN      REHUNT   
=N*M ...XDUMPACT                           [
=NC4 ...#UNS IDC
=NDF ...      JBS      NODUMP,,BMTSCAN     [J IF DUMP CANCELLED 
=NFW ...      BS       3,BIFDTD            [SET 'NEEDED BY DUMPER' BIT  
=NH? ...NODUMP                             [
=NJN ...      BS       3,BIFDTJL           [SET 'TAPE JUST LOADED' BIT  
=NL5 ...      BC       3,BIFDTO            [CLEAR 'TAPE TO BE LOADED' BIT   
=NMG ...      BS       BOLC,BIFDTLMEF      [SET 'EXTANT LOADED TAPE' BIT
=NNX ...      MFREEW   FILE,FDINCS         [ONE ALREADY PRESENT 
=NQ# ...      BRN      REHUNT              [GO LOOK AT NEXT FGET ENTRY  
=NRW ...XGERR   
=P?G ...      GEOERR   1,NOTINFDT   
=PR6 ...[   
=Q=Q ...[   ******************************************************************  
=QQB ...[   
=R=2 ...[     CHECK FOR CANTDO LOAD TAPE AND SET BIT BIFDTCL IN FDT IF APPROPRIA
=RPL ...[     .....ENTERED DOWN FROM MACRO CDRVTAPE 
=S9= ...[   
=SNW ...X2DTSUBSA                          [
=SS2 ...      LDX   6  ACOMMUNE1(2)        [X6 => COUNT OF REQUESTS ALREADY FOUN
=SX6 ...      LDX   3  BOLC                [X3 -> FDT   
=T2= ...      LDX   0  A1(3)               [X0 => NUMBER OF FDT ENTRIES 
=T5B ...      BZE   0  NOTEXTANT           [J IF NO RETRIEVE TAPES  
=T8G ...      MHUNT    3,CPB,CUNI          [FIND PARAMETER  
=TN6 ...      LDX   4  ANUM(3)             [X4 => COUNT OF CHARACTERS   
=W7Q ...      SBN   4  1                   [PARAMETER EXISTS IF X4 > 0  
=WMB ...      BPZ   4  XEXIST              [J IF EXISTS 
=X72 ...      BRN      NOTEXTANT           [GO UP - NOT AN EXTANT REQUEST   
=XLL ...XEXIST                             [
=Y6= ...      ADN   4  1                   [RESET X4
=YKW ...      ANDN  4  #7777               [B0-11 IS PARAMETER TYPE 
=^5G ...      ADN   3  APARA               [X3 -> FIRST CHARACTER OF MESSAGE
=^K6 ...XLDCH                              [
?24Q ...      LDN   0  0                   [COMPARISON STRING ENDS WITH ZERO
?2JB ...      LDCH  5  QLOAD(1)            [X5 => CHARACTER FROM COMPARASON STRI
?342 ...      BXE   5  0,TSNGIVEN          [J IF TSN FOUND  
?3HL ...      LDCH  0  0(3)                [X0 => CHARACTER FROM CD 
?43= ...      BXE   0  5,XCHEL             [J IF CHARACTER EQUAL
?4GW ...      BRN      NOTEXTANT           [GO UP - NOT AN EXTANT REQUEST   
?52G ...XCHEL                              [
?5G6 ...      BCT   4  NOTEXAU             [J IF CD CHAR CT NOT EXHAUSTED   
?5^Q ...      LDX   2  BOLC                [CORRECT MESSAGE BUT NO TSN GIVEN
?6FB ...      LDX   3  A1(2)               [X3 => COUNT OF ENTRIES IN FDT   
?6^2 ...      BZE   3  NOTEXTANT           [J IF NO EXTANT REQUESTS 
?7DL ...      LDN   1  0                   [X1 USED AS COUNTER  
?7Y= ...      SLL   3  2                   [FOUR WORDS PER TSN  
?8CW ...      ADX   3  BOLC                [X3 => LAST ENTRY IN FDT 
?8XG ...      SBN   3  4                   [LAST ENTRY IS EMPTY 
?9C6 ...RMREPEAT                           [
?9WQ ...      JBC      RMNEX,3,BIFDTO      [J IF NOT TO BE LOADED   
?=6J ...      BNZ   6  NOTUNIQUE           [MORE THAN ONE REQUEST   
?=BB ...      STO   3  7                   [REMEMBER POINTER TO EXTANT TAPE 
?=W2 ...      SBN   1  1                   [ARER THERE >1 OUTSTANDING REQUESTS  
??*L ...      BPZ   1  NOTUNIQUE           [J IF YES
??T= ...      ADN   1  2                   [INCREMENT COUNT OF REQUESTS 
?##W ...RMNEX                              [
?#SG ...      SBN   3  4                   [UPDATE MODIFIER 
?*#6 ...      TXL   3  BOLC                [END OF FDT? 
?*RQ ...      BCC      RMREPEAT            [J IF NOT
?B?B ...      BZE   1  NOTEXTANT           [J IF NO ENTRIES FOUND   
?BR2 ...      BS       7,BIFDTCL           [SET THE CANT DO LOAD BIT
?C=L ...      BRN      NCDLOK              [GO UPPLUS 2 - CD OK 
?CQ= ...NOTEXAU                            [
?D9W ...      BCHX  3  £                   [UPDATE POINTER TO PARAMETER 
?DPG ...      BCHX  1  £                   [ UPDATE POINTER TO COMPARISON STRING
?F96 ...      BRN      XLDCH               [
?FNQ ...TSNGIVEN                           [X3 -> FIRST CHARACTER OF TSN
?G8B ...                                   [X4 => NO. OF CHARACTERS LEFT
?GN2 ...      LDX   7  3                   [SAVE POINTER TO TSN 
?H7L ...      LDN   5  0                   [X5 USED AS COUNTER  
?HM= ...      LDN   1  8                   [USED TO CHECK VALIDITY OF TSN   
?J6W ...TSNLOOPY                           [
?JLG ...      LDCH  2  0(3)                [X2 => NEXT CHARACTER
?K66 ...      BXGE  2  1,TSNENDED          [J IF END OF TSN 
?KKQ ...      ADN   5  1                   [UPDATE CHARACTER COUNT  
?L5B ...      BCHX  3  £                   [UPDATE POINTER  
?LK2 ...      BCT   4  TSNLOOPY            [J IF MORE TSN   
?M4L ...                                   [X7 -> START OF TSN  
?MJ= ...                                   [X5 => NO. OF CHARS IN TSN   
?N3W ...                                   [X4 => NO. OF CHARS REMAINING
?NHG ...                                   [X3 -> NEXT CHARACTER
?P36 ...TSNENDED                           [
?P9^ ...      BZE   5  NOTEXTANT           [J IF ZERO LENGTH TSN
?PDS ...      BXL   1  5,NOTEXTANT         [J IF MORE THAN 8 CHARS IN TSN   
?PMM ...      NGX   6  6                   [SET X6 TO -1 IF +1 ... USED LATER   
?PWG ...      MHUNT    2,CPB,CUNI          [FIND CUNI   
?Q5* ...      SLL   2  2                   [CONVERT TO CHARACTER COUNT  
?Q#8 ...      SLC   7  2                   [CONVERT TSN POINTER AS WELL 
?QH3 ...      SBX   7  2                   [RELATIVIZE POINTER  
?QPW ...TSNREPEAT1                         [START LOOKING DOWN FDT BLOCK
?QYP ...      LDX   1  BOLC                [X1 -> FDT   
?R7J ...      LDX   2  A1(1)               [X2 => NUMBER OF ENTRIES 
?RBC ...      BZE   2  NOTEXTANT           [J IF NO EXTANT REQUESTS 
?RK= ...      SLL   2  2                   [FOUR WORDS PER TSN  
?RS5 ...      ADX   2  BOLC                [X3 -> LAST ENTRY IN FDT 
?S2Y ...      SBN   2  4                   [LAST ENTRY IS EMPTY 
?S9R ...TSNREPEAT2                         [LOOK AT NEXT FDT ENTRY  
?SDL ...      JBC      TSNEXT,2,BIFDTO     [J IF NOT TO BE LOADED   
?SMF ...      LDX   3  FDSN(2)             [X3 => BINARY TSN
?SW# ...      CONSERNO 3,ACOMMUNE1         [CONVERT TO CHARACTERS   
?T57 ...      MHUNT    1,CPB,CUNI          [REFIND CUNI 
?T#2 ...      SLL   1  2                   [CONVERT ADDRESS TO CHARACTERS   
?TGT ...      ADX   1  7                   [X1 -> TSN IN CHARACTERS IN COMMAND P
?TPN ...      SRC   1  2                   [X1 -> TSN IN WORDS AND CHARACTERS   
?TYH ...      LDX   0  ACOMMUNE1(2)        [X0 => CHARACTER COUNT OF FDT TSN
?W7B ...      BXL   0  5,REFIND            [J IF TSN IN COMMAND LONGER THAN IN F
?WB9 ...      LDX   0  5                   [X0 => NUMBER OF CHARACTERS TO COMPAR
?WK4 ...      STO   7  ACOMMUNE1(2)        [STORE X7 TEMPORARILY
?WRX ...TSNREPEAT3                         [NOW COMPARE TWO TSNS
?X2Q ...      LDCH  4  ACOMMUNE2(2)        [X4 => FIRST CHARACTER OF FDT TSN
?X9K ...      LDCH  7  0(1)                [X7 -> FIRST CHARACTER OF COMMAND TSN
?XDD ...      BXE   4  7,MODUPDATE         [J IF EQUAL...SO FAR!
?XM? ...      LDX   2  FX2                 [
?XW6 ...      LDX   7  ACOMMUNE1(2)        [REINSTATE X7
?Y4^ ...      BRN      REFIND              [NOT THIS TSN
?Y?S ...MODUPDATE                          [
?YGM ...      BCT   0  NOTEXAU1            [J IF MORE CHARACTERS TO COMPARE 
?YPG ...      BNZ   6  NOTUNIQUE           [MORE THAN ONE REQUEST   
?YY* ...      STO   3  6                   [STORE BINARY TSN
?^78 ...      LDX   2  FX2                 [
?^B3 ...      LDX   7  ACOMMUNE1(2)        [REINSTATE X7
?^JW ...REFIND                             [
?^RP ...      FDTENT   2,3,TSNREPEAT1      [ACUMMULATORS UNSUITABLE FOR XFDTENT!
#22J ...TSNEXT                             [POSITION ON NEXT FDT ENTRY  
#29C ...      SBN   2  4                   [FOUR WORDS PER ENTRY
#2D= ...      TXL   2  BOLC                [END OF FDT  
#2M5 ...      BCC      TSNREPEAT2          [J IF NOT
#2TY ...      BNG   6  NOTEXTANT           [J IF NO EXTANT REQUESTS 
#34R ...      BZE   6  NOTEXTANT           [DITTO   
#3?L ...      CALL  7  XFDTENT             [REFIND FDT ENTRY
#3GF ...      BRN      NOTEXTANT           [J IF ENTRY NO LONGER WITH US
#3P# ...      JBC      NOTEXTANT,3,BIFDTO  [J IF NO LONGER TO BE LOADED 
#3Y7 ...      BS       3,BIFDTCL           [SET CD LOAD BIT 
#472 ...      BRN      NCDLOK              [EVERYTHING OK   
#4*T ...NOTEXAU1                           [UPDATE POINTERS 
#4JN ...      BCHX  2  £                   [UPDATE POINTER TO FDT TSN   
#4RH ...      BCHX  1  £                   [UPDATE POINTER TO COMMAND TSN   
#52B ...      BRN      TSNREPEAT3          [COMPARE NEXT CHARACTER  
#59Q ...NCDLOK                             [
#5PB ...      BS       BOLC,BIFDTLMEF      [SET 'LOOK AT FDT FIRST' BIT 
#692 ...      STARTACT RET                 [KICK DTS TO DEAL WITH TAPE  
#6NL ...      UPPLUS   2                   [CD LOAD OK  
#78= ...NOTUNIQUE                          [
#7MW ...      UPPLUS   1                   [NOT UNIQUE  
#87G ...NOTEXTANT                          [
#8M6 ...      UP                           [NOT EXTANT  
#8MP ...[   
#8N# ...[   *******************************************************   X3DTSUBSA 
#8NX ...[   
#8PG ...[   
#8Q5 ...[   ENTRY FROM TSININC MACRO TO CHECK IF GIVEN TSN IN INCINDEX  
#8QN ...[   
#8R? ...X3DTSUBSA   
#8RW ...      LDX   4  ACOMMUNE2(2)        [X4 = TSN
#8SF ...      LDX   5  ACOMMUNE1(2)        [X5 = DEPTH OF INCINDEX  
#8T4 ...      LDX   2  5
#8TM ...      REWIND   0(2) 
#8W= ...XIN1
#8WT ...      LDX   2  5
#8XD ...      STEP     0(2) 
#8Y3 ...      BZE   3  XIN4 
#8YL ...      LDX   6  AMTS-A1(3)   
#8^9 ...XIN2
#8^S ...      BXE   4  AMAG-A1(3),XIN3  
#92C ...      ADN   3  INCMAGLEN
#932 ...      BCT   6  XIN2 
#93K ...      BRN      XIN1 
#948 ...XIN3
#94R ...      UP
#95B ...XIN4
#95^ ...      UPPLUS   1
#96Q ...[   
#9LB ...#END
^^^^ ...447450050001
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1