{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: DTSUBSA867)}}
====== DTSUBSA867 ======
(George Source)
**Macros used:** [[george:macro:ALTLEN|ALTLEN]], [[george:macro:BC|BC]], [[george:macro:BS|BS]], [[george:macro:BXE|BXE]], [[george:macro:BXGE|BXGE]], [[george:macro:BXL|BXL]], [[george:macro:BXU|BXU]], [[george:macro:CHAIN|CHAIN]], [[george:macro:CONSERNO|CONSERNO]], [[george:macro:DOWN|DOWN]], [[george:macro:FDTENT|FDTENT]], [[george:macro:FON|FON]], [[george:macro:FPUT|FPUT]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GETACT|GETACT]], [[george:macro:JBC|JBC]], [[george:macro:JBS|JBS]], [[george:macro:JBSC|JBSC]], [[george:macro:JMBS|JMBS]], [[george:macro:LINKSET|LINKSET]], [[george:macro:LONGOFF|LONGOFF]], [[george:macro:MBC|MBC]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:PAIR|PAIR]], [[george:macro:REWIND|REWIND]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETBIT|SETBIT]], [[george:macro:STARTACT|STARTACT]], [[george:macro:STEP|STEP]], [[george:macro:TWDUMP|TWDUMP]], [[george:macro:UP|UP]], [[george:macro:UPDOLC|UPDOLC]], [[george:macro:UPPLUS|UPPLUS]]
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