6 22FL #LIS K0BSQ 16 22_= #SEG BSQ60 [BOB NICHOLSON 4 23DW # 4 23YG # 20 24D6 # THIS SEGMENT IS CONCERNED WITH QUEUING TRANSFER REQUESTS TO 21 24XQ # THE APPROPRIATE BACKING STORE ACTIVITY (BSA).THE INITALLY ENTRY 19 25CB # IS AT P4 WHICH MERELY DUMPS THE ACCUMULATORS AND PRESERVES 21 25X2 # POSSIBLE PARAMETERS IN EX4,EX5,EX6 AND EX7.THE MAIN ENTRY IS AT P1 14 26BL # THE CHAPTER CHANGE ENTRY IS AT BCHR 4 26W= # 4 27*W # 8 27TG FIXTRA K1BSQ 8 28*6 LABFIX AP4 15 28SQ P4 STO 2 BSP13 [PRESERVE X2 8 29#B LDX 2 FX2 15 29S2 STO 3 ACC3(2) [DUMP ACCS 9 2=?L STO 4 ACC4(2) 9 2=R= STO 5 ACC5(2) 9 2?=W STO 6 ACC6(2) 9 2?QG STO 7 ACC7(2) 20 2#=6 STO 4 EX4 [NAD PRESERVE POSSIBLE PARAMETER 8 2#PQ STO 5 EX5 8 2*9B STO 6 EX6 8 2*P2 STO 7 EX7 15 2B8L LDX 2 BSP13 [RESTORE X2 7 2BN= EXIT 0 0 4 2C7W # 6 2CMG LABFIX AP1 8 2D76 P1 LDX 2 FX2 19 2DLQ STOZ ACOMMUNE7(2) [NO ADDITIVE MODE SPECIFIED 6 2F6B LABFIX AP2 15 2FL2 P2 SQOSS2 [DUMP LINK 15 2G5L STO 4 BA1(2) [AND BA AREA 9 2GK= STO 5 BA2(2) 9 2H4W STO 6 BA3(2) 9 2HJG STO 7 BA4(2) 9 2J46 LDX 7 BA1(2) 7 2JHQ SLC 7 7 8 2K3B ANDN 7 #17 16 2KH2 ORS 7 ACOMMUNE7(2) [MODE OF TRANSFER 7 2L2L LDN 4 0 18 2LG= SLL 45 16 [X4=LENGTH OF TRANSFER 20 2L_W SRL 5 16 [X5=LOGICAL FILE NUMBER OR BSUN 9 2MFG LDX 0 BA1(2) 9 2M_6 ANDN 0 BOBJ+BSET 20 2NDQ BNZ 0 TB3 [J IF OBJECT PROGRAM OR SET CORE 17 2NYB BZE 7 T13A [J IF READ TRANSFER 9 2PD2 LDX 1 FPTR(2) 10 2PXL NAME 1,BSTB,BWRITE 21 2QC= BNZ 5 TB3 [J IF BS HOME SPECIFIED IN PARAMETERS 17 2QWW LDX 5 BACK1(1) [LFN FROM WRITE BLOCK 15 2RBG ORS 5 BA2(2) [AND TO X5 15 2RW6 LDX 6 BACK2(1) [BLOCK NO. 9 2S*Q STO 6 BA3(2) 8 2STB BRN TB3 4 2T*2 # 18 2TSL # RE-ENTER HERE IF THE GETCORE FOR THE READ BLOCK FAILED 12 2W#= # AND TRY AGAIN TO GET SOME CORE 4 2WRW # 8 2X?G LABFIX BP2D 9 2XR6 LDX 4 BA2(2) 18 2Y=Q SRL 4 8 [RESET LENGTH OF BLOCK 19 2YQB BRN T13Z [AND TRY TO GET CORE AGAIN 4 2_=2 # 9 2_PL T13A LDX 0 BA1(2) 8 329= ANDN 0 BUSE 16 32NW BNZ 0 T10 [J IF BUSE SET 21 338G T13 PUSHLINK BSEN1 [CHANGE LINK IN CASE GETCORE FAILS 16 33N6 T13Z GETEMSCR 4 [GET READ BLOCK 20 347Q PULLINK [PUT CORRECT LINK BACK IN ALINK2 9 34MB LDX 4 BA2(2) 18 3572 SRL 45 8 [X4=LENGTH OF TRANSFER 16 35LL SRL 5 16 [X5=LFN OR BSUN 15 366= LDX 6 BA3(2) [X6=BLOCK NO. 8 36KW BRN T11 18 375G T10 HUNTW 1,BSTB,BFREEW [SEE IF FREE WRITE BLOCK 14 37K6 BNG 1 T13 [J IF NOT 10 384Q LDX 0 ALOGLEN(1) 7 38JB SBX 0 4 20 3942 BPZ 0 T14 [J IF THIS BLOCK IS BIG ENOUGH 17 39HL FREECORE 1 [OTHERWISE FREE IT 17 3=3= BRN T13 [AND GET A NEW BLOCK 20 3=GW T14 CHAIN 1,2 [PUT READ BLOCK BEHIND ACTIVITY 9 3?2G T11 LDX 1 FPTR(2) 9 3?G6 NAME 1,BSTB,FLOUR 16 3?_Q STO 5 BACK1(1) [PUT IN RED TAPE 9 3#FB STO 6 BACK2(1) 9 3#_2 TB3 LDX 0 BA1(2) 15 3*DL BPZ 0 T1 [J NOT AUTO 19 3*Y= BRN T4 [J IF AUTONOMUS TO GET QBLK 4 3BCW # 4 3BXG # 13 3CC6 # RE-ENTER HERE IF THE GETQUE FAILED 4 3CWQ # 8 3DBB LABFIX AT4J 7 3DW2 LDCT 0 2 16 3F*L ANDX 0 BA1(2) [TEST IF SWAPTRAN 19 3FT= BZE 0 T4A [J IF NOT TRY GETQUE AGAIN 20 3G#W PULLINK [PUT PROPER LINK BACK IN ALINK2 18 3GSG FPUT [AND FPUT-GETQUE FAILED 8 3H#6 TRANSFIX BRN,FQOB 4 3HRQ # 16 3J?B # GETQUE FAILED FOR FILESTORE AUTONOMUS WRITE. 20 3JR2 # SINCE WAITING FOR CORE MAY RESULT IN READS TO THE SAME BLOCK 21 3K=L # GETTING ISSUED BEFORE THE WRITE,THE TRANSFER IS MADE NON-AUTONOMUS 21 3KQ= # (I.E. BOTH MAY BE HELD UP WAITING FOR CORE-READ MAY GET IN ON FON 21 3L9W # NOTE- THE CODE TO WHICH THIS COMMENT REFERS IS BEING RE-THUNK# 4 3LPG # 16 3M96 # TRY TO GET A NEW QBLK IF NO FQBLKS AVAILABLE 4 3MNQ # 20 3N8B T4 PUSHLINK BSEN2 [CHANGE LINK IN CASE GETQUE FAILS 7 3NN2 LDCT 0 2 16 3P7L ANDX 0 BA1(2) [TEST IF SWAPTRAN 20 3PM= BZE 0 T4A [AND J IF NOT TO DO NORMAL GETQUE 21 3Q6W GETQUE SWAP [ELSE DO SPECIAL GETQUE (NO WAITING) 17 3QLG BRN T2 [BACK TO MAIN PATH 15 3R66 T4A GETQUE [GET A QBLK 20 3RKQ T2 PULLINK [PUT CORRECT LINK BACK IN ALINK2 17 3S5B LDX 3 FPTR(2) [GET POINTER TO QBLK 7 3SK2 T5 LDCT 0 2 16 3T4L ANDX 0 BA1(2) [TEST IF SWAPTRAN 21 3TJ= BZE 0 T4B [AND JUMP IF NOT-NO NEED TO UPDATE LI 7 3W3W LDN 0 1 16 3WHG ADJUSTLK 2 [ADD ONE TO LINK 15 3X36 T4B LDX 0 BSP10 [NAME QBLK 15 3XGQ NAMEX 3 [ABSTB/BQBLK 10 3Y2B STOZ BACKCHAN(3) 15 3YG2 LDN 0 BA1(2) [MOVE DETAILS 15 3Y_L LDN 1 ATRAN(3) [OF TRANSFER 14 3_F= MOVE 0 5 [TO QBLK 16 3_YW LDX 0 ACOMMUNE7(2) [MODE OF TRANSFER 18 42DG STO 0 BSMODE(3) [..STORE IN BSTB/BQBLK 17 42Y6 N1 LDX 4 BA2(2) [RESET ACCUMULATORS 15 43CQ SRL 45 8 [X4=LENGTH 14 43XB SRL 5 16 [X5=LFN 14 44C2 LDX 6 BA3(2) [BLOCK NO 9 44WL T1 LDX 0 BA1(2) 8 45B= ANDN 0 BONL 15 45TW BNZ 0 T25 [J IF ONLINE 8 46*G #SKI K6BSQ>99-99 4 46T6 ( 9 47#Q LDX 7 BA1(2) 20 47SB ANDX 6 BITS22LS [REMOVE CORRUPT BLOCK MARK-IF ANY 14 48#2 LDX 2 6 [BLOCK NO 21 48RL LDN 0 BLN [MAKE SURE TRANSFER DOSNT GO BEYOND B 7 49?= DVS 1 0 8 49QW ANDN 7 ASWAP 15 4==G BNZ 7 T15A [J IF SWAP 7 4=Q6 SBX 0 1 19 4?9Q SLL 0 GSBSLOG-BLS [MAX LENGTH FOR THIS TRANSFER 7 4?PB SBX 0 4 8 4#92 BPZ 0 T15 19 4#NL GEOERR 0,BSLENGTH [TRANSFER GOES BEYOND BLOCK 7 4*8= T15A SBN 4 1 8 4*MW TXL 4 BSSS 8 4B7G BCS T15B 19 4BM6 GEOERR 0,BIGSHEET [TRANSFER LONGER THAN A SHEET 7 4C6Q T15B ADN 4 1 14 4CLB T15 TXL 5 BLMP [TEST LFN 8 4D62 BCS T16 17 4DKL GEOERR 0,FNUM2BIG [FILE NUMBER TOO BIG 4 4F5= ) 17 4FJW T16 LDX 1 ALFTP [POINTER TO LF TABLE 7 4G4G SLL 5 1 7 4GJ6 SMO 5 18 4H3Q LDX 7 A1(1) [GET ENTRY FROM LF TABLE 8 4HHB #SKI K6BSQ>99-99 4 4J32 ( 8 4JGL BPZ 7 T17 18 4K2= GEOERR 0,NOSUCHLF [ILLEGAL LOGICAL FILE NO 7 4KFW T17 SMO 5 9 4K_G TXL 6 A1+1(1) 8 4LF6 BCS T18 16 4LYQ GEOERR 0,TOO BIG [BLOCK NO TOO BIG 4 4MDB ) 7 4MY2 T18 LDX 1 7 21 4NCL ANDN 1 #7777 [MODIFIER TO FILE DESCRIPTION TABLE 19 4NX= ADX 1 AFDTP [ADD ON ADDRESS OF FD TABLE 18 4PBW DATUMBLK 6,1,4 [DATUMISE BLOCK NUMBER 8 4PWG #SKI K6BSQ>99-99 4 4QB6 ( 8 4QTQ BNZ 1 T19 10 4R*B GEOERR 0,LARGEBLK 4 4RT2 ) 8 4S#L T19 LDX 2 FX2 8 4SS= T19A STO 1 EX5 8 4T?W LDX 0 GMIN4 21 4TRG ANDS 0 EX5 [REMEMBER BLOCK NO FOR OPTIMISATION 9 4W?6 LDX 0 BA1(2) 15 4WQQ BNG 0 T20 [J IF AUTO 20 4X=B STO 1 ACOMMUNE9(2) [DATUMISED BLOCK NO TO ACTIVITY 16 4XQ2 LDX 3 2 [POINTER TO QBLK 8 4Y9L BRN T21 19 4YP= T20 STO 1 ADBLKNO(3) [DATUMISED BLOCK NO TO QBLK 10 4_8W ANDN 0 BONL+ASWAP 21 4_NG BNZ 0 T21 [DON'T REMOVE FAILURE BIT FOR BONL OR 8 5286 LDN 0 #1000 21 52MQ ERS 0 BA1(2) [FAILURE SHOULD NOT UPDATE BA WORDS N 13 537B T21 SRL 7 12 [BSUN 13 53M2 ANDN 7 #1777 [BSUN 17 546L T27 MPY 7 ASBSAB [DETERMINE WHICH BSA 18 54L= LDX 6 0 [SAVE X0 FOR SEA BREAKS 8 555W #SKI K6BSQ>199-199 9 55KG TRACE FX2,CALL ACT 7 5656 #SKI BSOPT<1$1 4 56JQ ( 7 574B NGX 2 0 8 57J2 ADX 2 BBAC 9 583L ADX 2 ASBSAB 9 58H= TRANSFIX CALL 7 ,BP8 10 592W LDX 2 BSBKCHAN(2) 10 59GG LDN 3 CHAINADD(3) 8 5=26 ONQUE 3,2 8 5=FQ TRANSFIX BRN,FQOB 4 5=_B ) 6 5?F2 #SKI BSOPT 4 5?YL ( 10 5#D= LDN 3 CHAINADD(3) 21 5#XW STO 3 EX6 [REM5MBER CHAINING ADDRESS OF QBLK 8 5*CG #SKI K6BSQ>299-299 9 5*X6 TRACE EX5,EX5 7 5BBQ NGX 3 0 8 5BWB ADX 3 BBAC 9 5CB2 ADX 3 ASBSAB 18 5CTL CALL 0 P13 [OPTIMISE THIS TRANSFER 8 5D*= LDX 2 FX2 9 5DSW LDX 0 BA1(2) 10 5F#G TRANSFIX BPZ 0,FQOB 20 5FS6 FPUT [FPUT CALLING ACTIVITY IF AUTO 8 5G?Q TRANSFIX BRN,FQOB 6 5GRB LABFIX AP13 15 5H?2 P13 STO 0 EX7 [STORE LINK 20 5HQL LDN 0 1 [ADD ONE TO COUNT OF OUTSTANDING 18 5J== ADS 0 ACOMMUNE7(3) [TRANSFERS FOR THIS BSA 6 5JPW #UNS ICTON 4 5K9G ( 20 5KP6 FIXTRA ASFP13 [USED BY BSPRI RESTORE TIME MACRO 17 5L8Q NULL [MENDED TO BRN ASFBS1 4 5LNB ) 18 5M82 LDN 0 BSCHANAD(3) [BASE OF PRIMARY QUEUE 18 5MML LDN 1 BSSCHAD(3) [BASE OF SECONDARY QUEUE 15 5N7= TXU 0 BSCHANAD(3) [SEE IF EQUAL 14 5NLW TXU 1 BSSCHAD(3) [TO BASE 21 5P6G BCC TDRUM [AND JUMP IF BOTH QUEUES ARE EMPTY 15 5PL6 LDX 0 AWORK1(3) [DEVICE TYPE 8 5Q5Q ANDN 0 #7777 7 5QKB SBN 0 9 21 5R52 BZE 0 TDROM [NO OPTIMISATION FOR DRUM TRANSFERS 8 5RJL SBN 0 16 8 5S4= BZE 0 TDROM 18 5SHW DCA CPPTR(3),LDX,2,DTSA [CURRENT HEAD POSITION 8 5T3G LDCT 0 #200 10 5TH6 ANDX 0 ACOMMUNE1(3) 21 5W2Q BNZ 0 PT4C [DON'T ROUND DOWN IF CHAPTER CHANGE 20 5WGB ANDX 2 GMIN4 [ROUND DOWN TO NEXT GEORGE BLOCK 21 5X22 PT4C SBX 2 EX5 [COMPARE CURRENT POSITION OF HEADS 20 5XFL LDX 0 2 [WITH POSITION REQUIRED FOR THIS 13 5X_= ERX 0 AWAY(3) [QBLK 18 5YDW BNG 0 OPT4 [J IF THIS TRANSFER WILL 21 5YYG BZE 2 OPT4 [FIT IN PRIMARY QUEUE OTHERWISE... 18 5_D6 NGN 1 1 [PUT ON SECONDARY QUEUE 19 5_XQ ERX 1 AWAY(3) [INVERT DIRECTION INDICATOR 18 62CB LDN 3 BSSCHAD(3) [BASE OF SECONDARY QUEUE 8 62X2 BRN OPT5 19 63BL OPT4 LDX 1 AWAY(3) [DIRECTION FOR PRIMARY QUEUE 18 63W= LDN 3 BSCHANAD(3) [BASE OF PRIMARY QUEUE 16 64*W OPT5 STO 3 BSP11 [REMEMBER BASE 8 64TG BRN PT1 9 65*6 PT2 ADN 3 CHAINADD 17 65SQ PT1 LDX 3 FPTR(3) [GET FIRST/NEXT QBLK 8 66#B TXU 3 BSP11 17 66S2 BCC PT4 [J IF END OF QUEUE 17 67?L SBN 3 CHAINADD [START OF QUEEU BLOCK 9 67R= LDX 0 ATYPE(3) 8 68=W TXL 0 CACT 17 68QG BCC OPT7 [J IF ACTIVITY BLOCK 20 69=6 LDX 2 ADBLKNO(3) [DATUMISED BS ADDRESS FROM QBLK 8 69PQ BRN OPT8 7 6=9B TDRUM LDX 2 3 21 6=P2 LDX 0 EX5 [REMEMBER IN CA5 OF ASSOCIATED BSA 12 6?8L DCA CPPTR(3),STO,0,DTSA 19 6?N= [BEFORE THE BSA IS WOKEN UP 9 6#7W LDX 0 AWORK2(3) 19 6#MG BNG 0 TDROM [DON'T FPUT BSA IF ON COOR2 18 6*76 FPUTX [LIST THE BSA (QUICKLY) 10 6*LQ TDROM LDN 3 BSCHANAD(3) 8 6B6B BRN PT4 9 6BL2 OPT7 LDX 0 BA1(3) 7 6C5L SLL 0 1 18 6CK= BNG 0 PT3 [J IF A CHAPTER CHANGE 21 6D4W LDX 2 ACOMMUNE9(3) [DATUMISED BS ADDRESS FROM ACTIVITY 8 6DJG BRN OPT8 18 6F46 PT3 LDX 2 BA4(3) [BS ADDRESS OF CHAPTER 8 6FHQ BRN PT4B 8 6G3B OPT8 ANDX 2 GMIN4 4 6GH2 PT4B 8 6H2L #SKI K6BSQ>299-299 9 6HG= TRACE 2,BSQBLK 17 6H_W SBX 2 EX5 [COMPARE BS ADDRESSES 7 6JFG LDX 0 2 7 6J_6 ERX 0 1 21 6KDQ BNG 0 PT2 [J IF THIS QBLK DOES NOT FIT IN HERE 15 6KYB BNZ 2 PT4A [J IF IT DOES 20 6LD2 LDN 0 1 [CASE WHERE BLOCK NOS ARR EQUAL 12 6LXL ADS 0 EX5 [ 17 6MC= BRN PT2 [LOCK FOR NEXT BLOCK 16 6MWW PT4A ADN 3 CHAINADD [CHAINING ADDRESS 9 6NBG PT4 LDX 2 BPTR(3) 15 6NW6 ONQUE EX6,2 [PUT ON QUEUE 13 6P*Q BRN (EX7) [EXIT 6 6PTB #UNS ICTON 4 6Q*2 ( 4 6QSL # 14 6R#= # ALTERNATIVE OPTIMISING ROUTINE FOR ICT 18 6RRW # PRIORITY TRANSFERS ON PRIMARY QUEUE IN ASCENDING ORDER 16 6S?G # OTHERS ON SECONDARY QUEUE IN ASCENDING ORDER 4 6SR6 # 7 6T=Q FIXTRA ASFBS1 9 6TQB STOZ ASFBSMUD 18 6W=2 LDN 0 BSCHANAD(3) [BASE OF PRIMARY QUEUE 18 6WPL LDN 1 BSSCHAD(3) [BASE OF SECONDARY QUEUE 15 6X9= TXU 0 BSCHANAD(3) [SEE IF EQUAL 14 6XNW TXU 1 BSSCHAD(3) [TO BASE 20 6Y8G BCC QDRUM [AND JUMP IF BOTH QUEUES EMPTY 15 6YN6 LDX 0 AWORK1(3) [DEVICE TYPE 8 6_7Q ANDN 0 #7777 7 6_MB SBN 0 9 21 7272 BZE 0 QDROM [NO OPTIMISATION FOR DRUM TRANSFERS 8 72LL SBN 0 16 8 736= BZE 0 QDROM 18 73KW LDN 3 BSSCHAD(3) [BASE OF SECONDARY QUEUE 8 745G STO 3 BSP11 21 74K6 LDX 3 FPTR(3) [GET FIRST QBLK ON SECONDARY QUEUE 19 754Q CALL 1 XGETBS [GET DATUMISED ADDRESS IN X2 19 75JB STO 2 ASFBSCUR [REMEMBER AS CURRENT POSITION 15 7642 LDX 3 BSP11 [RELOAD BASE 18 76HL SBN 3 CHAINADD [ADJUST TO START OF BLK 15 773= LDX 1 FX2 [IS THIS A 17 77GW LDCH 0 ACRIT(1) [PRIORITY TRANSFER 13 782G BZE 0 QPRI [YES 4 78G6 # 19 78_Q # IF OUR TRANSFER <= CURRENT START= WHERE DIRECTION CHANGES 14 79FB # IF OUR TRANSFER > CURRENT GET POSITION 4 79_2 # 5 7=DL NONPRI 9 7=Y= STO 2 ASFBSDUMP 10 7?CW XS LDX 3 CHAINADD(3) 17 7?XG BXE 3 BSP11,XSEND [J IF END OF QUEUE 18 7#C6 CALL 1 XGETBS [GET DATUMISED ADDR IN X2 18 7#WQ BXL 2 ASFBSDUMP,XSEND1 [J IF GDIRECTION CHANGES 9 7*BB STO 2 ASFBSDUMP 4 7*W2 # 17 7B*L # IF OUR TRANSFER > ASFBSCUR CHECK IF RIGHT PLACE 4 7BT= # 9 7C#W LDX 0 ASFBSCUR 18 7CSG BXGE 0 EX5,XS [IF OURS < CUR GO BACK 8 7D#6 SBX 2 EX5 19 7DRQ BNG 2 XS [IF OURS > ON QUEUE GO BACK 17 7F?B BZE 2 MATCH [IF SAME SORT IT OUT 18 7FR2 BRN QPT4A [CORRECT POSITION FOUND 4 7G=L # 5 7GQ= XSEND1 15 7H9W ADN 3 CHAINADD [GET TO RING 9 7HPG XSEND LDX 0 ASFBSCUR 20 7J96 BXL 0 EX5,QPT4 [IF ASCENDING WE HAVE RIGHT PLACE 6 7JNQ XGETSTART 9 7K8B LDX 3 BPTR(3) 8 7KN2 BRN QPT1 4 7L7L # 16 7LM= # SEARCH FOR BLOCK MATCH IF PRIORITY TRANSFER 4 7M6W # 10 7MLG QPRI LDX 3 CHAINADD(3) 17 7N66 BXE 3 BSP11,XPEND [J IF END OF QUEUE 18 7NKQ CALL 1 XGETBS [GET DATUMISED ADDR IN X2 17 7P5B BXU 2 EX5,QPRI [GO BACK IF NO MATCH 9 7PK2 ADN 3 CHAINADD 19 7Q4L DERING 3 [REMOVE LOW PRIORITY TRANSFER 20 7QJ= STO 3 ASFBSMUD [REMEMBER FOR RE-QUEUING LATER 18 7R3W XPEND LDX 3 BSP11 [BASE OF PRIMARY QUEUE 11 7RHG SBN 3 BSSCHAD-BSCHANAD 8 7S36 STO 3 BSP11 20 7SGQ LDX 3 FPTR(3) [GET PAST FIRST AS IN PROGRESS 18 7T2B CALL 1 XGETBS [GET DATUMISED ADDR IN X2 9 7TG2 STO 2 ASFBSCUR 9 7T_L BRN NONPRI 4 7WF= # 9 7WYW QPT2 ADN 3 CHAINADD 17 7XDG QPT1 LDX 3 FPTR(3) [GET FIRST$NEXT QBLK 8 7XY6 TXU 3 BSP11 17 7YCQ BCC QPT4 [J IF END OF QUEUE 16 7YXB SBN 3 CHAINADD [START OF QBLK 9 7_C2 LDX 0 ATYPE(3) 8 7_WL TXL 0 CACT 17 82B= BCC QOPT7 [J IF ACTIVITY BLK 20 82TW LDX 2 ADBLKNO(3) [DATUMISED BS ADDRESS FROM QBLK 8 83*G BRN QOPT8 7 83T6 QDRUM LDX 2 3 8 84#Q LDX 0 EX5 12 84SB DCA CPPTR(3),STO,0,DTSA 9 85#2 LDX 0 AWORK2(3) 19 85RL BNG 0 QDROM [DON'T FPUT BSA IF ON COOR2 17 86?= LDX 1 FX2 [IF PRIORITY TRANSFER 17 86QW LDCH 0 ACRIT(1) [WAKE UP BSA QUICKLY 8 87=G BZE 0 QUICK 6 87Q6 FPUT 8 889Q BRN QDROM 10 88PB QUICK LDN 1 CHAINADD(2) 9 8992 ENRING 1,ACTLIS 9 89NL STOZ GMEL+ASU 10 8=8= QDROM LDN 3 BSCHANAD(3) 8 8=MW BRN QPT4 9 8?7G QOPT7 LDX 0 BA1(3) 7 8?M6 SLL 0 1 17 8#6Q BNG 0 QPT3 [J IF CHAPTER CHANGE 20 8#LB LDX 2 ACOMMUNE9(3) [DATUMISED ADDRESS FROM ACTIVITY 8 8*62 BRN QOPT8 18 8*KL QPT3 LDX 2 BA4(3) [BS ADDRESS OF CHAPTER 8 8B5= BRN QPT4B 8 8BJW QOPT8 ANDX 2 GMIN4 17 8C4G QPT4B SBX 2 EX5 [COMPARE BS ADDRESSES 8 8CJ6 BZE 2 MATCH 8 8D3Q BNG 2 QPT2 8 8DHB BRN QPT4A 7 8F32 MATCH LDN 0 1 8 8FGL ADS 0 EX5 8 8G2= BRN QPT2 9 8GFW QPT4A ADN 3 CHAINADD 9 8G_G QPT4 LDX 2 BPTR(3) 8 8HF6 ONQUE EX6,2 21 8HYQ LDX 0 ASFBSMUD [DO WE HAVE SAME BLK FROM NON-PRIORIT 17 8JDB BZE 0 (EX7) [QUEUE EXIT IF NOT 21 8JY2 LDX 2 EX6 [PUT ON QUEUE BEFORE PRIORITY TRANSFE 9 8KCL LDX 2 BPTR(2) 10 8KX= ONQUE ASFBSMUD,2 8 8LBW BRN (EX7) 4 8LWG # 17 8MB6 # SUBROUTINE TO GET DATUMISED BS ADDRESS FROM QBLK 14 8MTQ # ON EXIT X2 CONTAINS DATUMISED ADDRESS 13 8N*B # X3 POINTS TO START OF QBLK 4 8NT2 # 5 8P#L XGETBS 17 8PS= SBN 3 CHAINADD [START OF QUEUE BLOCK 10 8Q?W LDX 2 ADBLKNO(3) 9 8QRG LDX 0 ATYPE(3) 17 8R?6 BXL 0 CACT,XG1 [J IF NOT ACTIVITY 18 8RQQ LDX 2 BA4(3) [BS ADDRESS OF CHAPTER 18 8S=B BBS 1,BA1(3),(1) [EXIT IF CHAPTER CHANGE 21 8SQ2 LDX 2 ACOMMUNE9(3) [DATUMISED BS ADDRESS FROM ACTIVITY 8 8T9L XG1 ANDX 2 GMIN4 7 8TP= EXIT 1 0 4 8W8W # 4 8WNG ) 4 8X86 ) 4 8XMQ # 15 8Y7B # THIS IS THE CHAPTER CHANGER ENTRY POINT. 20 8YM2 # THE BACKING STORE ADDRESS OF THE CHAPTER IS DATUMISED AND THEN 15 8_6L # A JUMP IS MADE TO THE OPTIMISING ROUTINE. 9 8_L= # ON ENTRY X2=FX2 4 925W # 6 92KG LABFIX BCHR 8 9356 #SKI K6BSQ>99-99 4 93JQ ( 8 944B LDCT 5 #200 9 94J2 ANDX 5 BA1(2) 21 953L BNZ 5 T33 [J IF ALREADY DOING CHAPTER CHANGE 4 95H= ) 17 962W LDCT 5 #200 [CHAPTER CHANGE BIT 15 96GG STO 5 BA1(2) [TO ACTIVITY 6 9726 #SKI CLINK 4 97FQ ( 9 97_B LDX 5 ALINK1(2) 17 98F2 SRL 5 12 [X5 HAS CHAP NUMBER 7 98YL SMO 5 21 99D= LDX 5 KTAB [X5 HAS LSEG/4 IN B0-8,DSEG/128 IN 13 99XW [REST 6 9=CG #SKI JPSCF 4 9=X6 ( 8 9?BQ SRC 5 13 19 9?WB SRL 56 1 [B0 X6=1 IF ON SCF ELSE CLEAR 19 9#B2 SRC 5 10 [CLEAR SCF BIT IN KTAB COPY 4 9#TL ) 7 9**= LDX 4 5 8 9*SW SLC 4 11 15 9B#G ANDN 4 #3774 [LENGTH IN X4 8 9BS6 BNZ 4 V1 8 9C?Q LDN 4 1024 8 9CRB V1 SLL 5 11 20 9D?2 SRL 5 4 [X5 HAS UNDATUMISED BS ADDRESS 4 9DQL ) 19 9F== STO 4 BA2(2) [STORE LENGTH OF CHAPTER 17 9FPW CALL 7 TB56 [PATUMISE BS ADDRESS 8 9G9G LDX 3 FX2 21 9GP6 STO 1 BA4(3) [DATUM[SE BS ADDRESS OF FIRST TRAN 8 9H8Q STO 1 EX5 21 9HNB STO 2 BA3(3) [X2=0 IF ONE TRANSFER OR LENGTH OR 1S 18 9J82 BZE 2 T25J [J IF ONLY ONE TRANSFER 16 9JML ADX 5 2 [UPDATE BLOCK NO 15 9K7= SBX 4 2 [AND LENGTH 21 9KLW CALL 7 TB56 [DATUMISE BS ADDRESS GF SECOND TRAN 8 9L6G #SKI K6BSQ>99-99 4 9LL6 ( 8 9M5Q BZE 2 TJH9A 21 9MKB T33 GEOERR 0,TWOTRANS [NOT MORE THAN TWO TRANSFERS ALLOWED 4 9N52 ) 8 9NJL TJH9A LDX 3 FX2 9 9P4= STO 1 BA5(3) 13 9PHW T25J LDN 7 1 [BSUN 6 9Q3G #SKI JPSCF 4 9QH6 ( 8 9R2Q BPZ 6 T27 16 9RGB LDX 7 BRADSPLTBSU [CHAPTER ON SCF 4 9S22 ) 8 9SFL BRN T27 6 9S_= #SKI JPSCF-1 18 9TDW TB56 DATUMADD 5,BINDEX,4 [GET DATUMISED BS ADDRESS 6 9TYG #SKI JPSCF 4 9WD6 ( 9 9WXQ TB56 LDX 3 BINDEX 19 9XCB BPZ 6 TBNR [USE FIRST PART OF CCTABLE 20 9XX2 ADN 3 6 [MOVE TO SECOND PART OF CCTABLE 8 9YBL TBNR DATUMADD 5,3,4 4 9YW= ) 8 9_*W #SKI K6BSQ>99-99 4 9_TG ( 8 =2*6 BNZ 1 TBS5 10 =2SQ GEOERR 0,LARGEADD 4 =3#B ) 7 =3S2 TBS5 EXIT 7 0 6 =4?L LABFIX AP5 15 =4R= P5 STO 0 EX4 [ONQUE MACRO 9 =5=W LDX 0 FPTR(2) 9 =5QG STO 3 FPTR(2) 9 =6=6 STO 0 FPTR(3) 9 =6PQ STO 2 BPTR(3) 7 =79B SMO 0 8 =7P2 STO 3 BPTR 8 =88L BRN (EX4) 6 =8N= LABFIX AP6 15 =97W P6 STO 0 EX5 [OFFQUE MACRO 8 =9MG LDX 0 0(3) 9 ==76 SMO BPTR(3) 7 ==LQ STO 0 0 9 =?6B LDX 0 BPTR(3) 9 =?L2 SMO FPTR(3) 8 =#5L STO 0 BPTR 9 =#K= STOZ BPTR(3) 8 =*4W BRN (EX5) 6 =*JG LABFIX AP7 15 =B46 P7 STO 0 EX6 [REQME MACRO 9 =BHQ CALL 0 (BSTS6) 9 =C3B CALL 0 (BSTS5) 8 =CH2 BRN (EX6) 20 =D2L LABFIX BP8 [ROUTINE TO FPUT BSA OR TFA IF 15 =DG= LDN 1 BSCHANAD(2) [NECESSARY 10 =D_W TXU 1 BSBKCHAN(2) 20 =FFG BCS T23 [J IF SOMETHING ALREADY ON QUEUE 18 =F_6 LDX 0 BACK1(2) [OR IF BSTB/BWRITE ON TFA 8 =GDQ BNZ 0 T23 7 =GYB STO 2 6 16 =HD2 FPUT [FPUT ACTIVITY 7 =HXL LDX 2 6 7 =JC= T23 EXIT 7 0 4 =JWW # 4 =KBG # 4 =KW6 T25 8 =L*Q #SKI K6BSQ>99-99 4 =LTB ( 8 =M*2 T29 TXL 5 BSUN 8 =MSL BCS T31 15 =N#= T32 GEOERR 0,NO HOME [INVALID BSUN 8 =NRW T31 BZE 5 T32 4 =P?G ) 7 =PR6 T22 LDX 7 5 13 =Q=Q SLL 7 12 [BSUN 15 =QQB LDX 1 BA3(2) [BS ADDRESS 8 =R=2 BRN T19A 4 =RPL # 8 =S9= # BACKWAIT MACRO 4 =SNW # 6 =T8G LABFIX AP11 7 =TN6 P11 ADN 0 1 18 =W7Q STO 0 EX4 [UPDATE & REMEMBER LINK 8 =WMB #SKI K6BSTS>199-199 10 =X72 TRACE BSP11,BACKWAIT 8 =XLL STO 3 EX5 8 =Y6= LDX 3 FX2 16 =YKW W2 LDX 3 FPTR(3) [LOOK FOR QBLK 9 =_5G LDX 0 ATYPE(3) 8 =_K6 TXL 0 CACT 16 ?24Q BCC W7B [J IF ACTIVITY 8 ?2JB SBX 0 BSP10 14 ?342 BNZ 0 W2 [NOT QDLK 13 ?3HL LDX 0 BSP11 [LFN 21 ?43= BNG 0 W3 [J IF ALL TRANSFERS TO BE WAITED FOR 9 ?4GW LDX 1 ATRAN(3) 19 ?52G ANDX 1 BIT11 [IF B11 IS SET IN ATRAN THIS 21 ?5G6 BNZ 1 W3 [PARTICULAR TRANSFER HAS BEEN AWAITED 7 ?5_Q SLL 0 1 19 ?6FB BNG 0 W2 [J ONLY BIZ NEED BE CHECKED 19 ?6_2 LDEX 0 BSP11 [LOGICAL FILE NUMBER OR BSUN 16 ?7DL LDX 1 ALENLFN(3) [GET LFN OR BSUN 15 ?7Y= ANDN 1 #377 [FROM QBLK 20 ?8CW LDX 2 BSP12 [BLOCK NO OR DATUMISED BLOCK NO. 17 ?8XG TXU 0 1 [COMPARE LFN OR BSUNS 17 ?9C6 TXU 2 BLKNO(3) [COMPARE BLOCK NO. 20 ?9WQ BCS W2 [J NOT SAME-LOOK FOR NEXT BLOCK 8 ?=BB LDN 0 BONL 19 ?=W2 ANDX 0 ATRAN(3) [ISOLATE ONLINE BIT-IF ANY 20 ??*L ERX 0 EX7 [SEE IF SAME AS REQUIRED TRANSFER 14 ??T= BNZ 0 W2 [J IF NOT 8 ?##W LDX 0 BSP11 19 ?#SG W3 LDCT 1 #100 [TEST IF THIS TRANSFER FAILED 9 ?*#6 ANDX 1 ATRAN(3) 16 ?*RQ BZE 1 W5 [J NOTHING WRONG 9 ?B?B LDX 0 FPTR(3) 19 ?BR2 STO 0 EX6 [RETAIN PTR TO WRITE BLOCK 9 ?C=L LDN 0 ATRAN(3) 9 ?CQ= LDN 1 BA1(2) 16 ?D9W MOVE 0 5 [PUT INFO IN ACT 7 ?DPG LDN 0 1 8 ?F96 SBS 0 EX4 18 ?FNQ LDX 0 ADBLKNO(3) [REPLY FROM ACTUAL PERI 17 ?G8B STO 0 ACOMMUNE9(2) [TO ACTIVITY BLOCK 9 ?GN2 LDX 0 ATRAN(3) 9 ?H7L ANDN 0 BSET+BOBJ 8 ?HM= BNZ 0 W7 16 ?J6W LDX 0 BSMODE(3) [MODE OF TRANSFER 15 ?JLG BZE 0 W7 [J IF READ 20 ?K66 CHAIN EX6,2 [PUT WRITE BLOCK BEHIND ACTIVITY 18 ?KKQ W7 CALL 0 PCA [FPUT PCA IF NECESSARY 14 ?L5B FREECORE 3 [FREE QBLK 8 ?LK2 W7B LDX 1 FX1 8 ?M4L LDX 2 FX2 8 ?MJ= LDX 3 EX5 18 ?N3W BRN (EX4) [REPORT FAIL OR EXIT OK 18 ?NHG W5 LDX 2 BIT10 [BACKWAIT IS WAITING BIT 20 ?P36 BNG 0 W7C [J IF ALL TRANSFERS TO BE WAITED 21 ?PGQ ADX 2 BIT11 [INDICATE BACKWAIT FOR THIS TRAN ONLY 17 ?Q2B W7C ORS 2 ATRAN(3) [BITS TO QUEUE BLK 20 ?QG2 LDX 0 EX4 [ADJUST LINK TO START OF MACRO 7 ?Q_L SBN 0 4 14 ?RF= W8 LDX 3 EX5 [RESET X3 19 ?RYW BRN (COOR1) [WAIT TO BE FPUTTED BY BSTS 4 ?SDG # 8 ?SY6 # FINDFAIL MACRO 4 ?TCQ # 6 ?TXB LABFIX AP12 16 ?WC2 P12 STO 0 BSP11 [REMEMB=R LINK 20 ?WWL HUNT2 2,BSTB,BFAIL [FIND CURRENT/PERMANENT FAIL LIST 7 ?XB= P12A ADN 2 2 9 ?XTW LDX 1 A1-1(2) 9 ?Y*G TXU 1 GMINUS1 17 ?YT6 BCC P12C [JUMP IF END OF LIST 12 ?_#Q TXU 1 EX5 [ 19 ?_SB BCS P12A [JUMP IF NOT REQUIREDBLOCK 20 #2#2 LDX 1 EX7 [CHECK IF CORRECT TYPE OF ENTRY 17 #2RL ANDX 1 A1(2) [PERMANENT OR CURRENT 15 #3?= BZE 1 P12A [JUMP IF NOT 8 #3QW LDX 1 A1(2) 8 #4=G ANDN 1 #77 8 #4Q6 TXU 1 EX6 17 #59Q BCS P12A [JUMP IF WRONG LFN 8 #5PB ADN 2 A1-1 8 #692 SMO EX4 14 #6NL STO 2 0 [POINTER 7 #78= LDN 0 1 20 #7MW ADS 0 BSP11 [INCREMENT LINK IF RECORD FOUND 8 #87G P12C LDX 1 FX1 8 #8M6 LDX 2 FX2 13 #96Q BRN (BSP11) [EXIT 4 #9LB # 21 #=62 # ROUTINE TO FPUT THE PCA IF B8 IS SET IN ATRAN. B8 IS INITIALLY SET 20 #=KL # BY SWAPWAIT IN SWAP TO WAIT FOR COMPLETION OF ANY AUTONOMOUS 19 #?5= # BACKING STORE TRANSFERS BELONGING TO THE OBJECT PROGRAM. 4 #?JW # 6 ##4G LABFIX PCA 15 ##J6 PCA STO 0 EX6 [STORE LINK 7 #*3Q LDCT 0 1 9 #*HB ANDX 0 ATRAN(3) 17 #B32 BZE 0 PCA1 [B8 NOT SET-SO EXIT 5 #BGL #SKI G3 4 #C2= ( 16 #CFW LDX 2 APCA(3) [ADDRESS OF PCA 8 #C_G #SKI K6BSTS>199-199 10 #DF6 TRACE 2,PCA FPUT 6 #DYQ FPUT 4 #FDB ) 5 #FY2 #SKI G4 20 #GCL FON #123 [WAKE UP INTERESTED ACTIVITIES 13 #GX= PCA1 BRN (EX6) [EXIT 4 #HBW # 4 #HWG # 4 #JB6 # 16 #JTQ # THE FOLLOWING GROUP OF SUBROUTINES ARE CALLED 11 #K*B # FROM BSTS 4 #KT2 # 13 #L#L # SUBROUTINE TO CONVERT NO. IN X5 11 #LS= # TO CHARACTERS FOR PRINTING 12 #M?W # ON EXIT CONVERTED NO. IN X7,X0 4 #MRG # 6 #N?6 LABFIX TOCT 7 #NQQ TOCT LDN 1 8 7 #P=B TOCT1 LDN 4 0 7 #PQ2 SLL 45 3 7 #Q9L SLL 70 6 7 #QP= DCH 4 0 8 #R8W BCT 1 TOCT1 7 #RNG EXIT 2 0 4 #S86 # 19 #SMQ # SUBROUTINE TO MOVE MESSAGE (X3) TO CONSOLE OUTPUT BUFFER 4 #T7B # 7 #TM2 LABFIX ZMVCH 19 #W6L ZMVCH LDX 5 FCOUTBUF [NEXT FREE PLACE IN BUFFER 7 #WL= LABFIX YMVCH 16 #X5W YMVCH LDN 4 1(3) [START OF MESSAGE 16 #XKG SMO 0(3) [NO OF CHARACTERS 15 #Y56 MVCH 4 0 [SHIFT MESS 17 #YJQ STO 5 FCOUTBUF [UPDATE NEXT PLACE 7 #_4B EXIT 6 0 4 #_J2 # 4 *23L # 4 *2H= # 14 *32W # SUBROUTINE TO GET HOLD OF OPS. CONSOLE 17 *3GG # - ON EXIT EX4 IS NON-ZERO IF INPUT WAS CANCELLED 4 *426 # 7 *4FQ LABFIX XGETCON 5 *4_B XGETCON 21 *5F2 STOZ EX4 [MARKER:IN CASE WE HAVE TO CANCEL I/P 20 *5YL DCA JCTWPTR,LDEX,0,MODE [INPUT OR OUTPUT MODE ON CONSOLE 21 *6D= BNZ 0 WAITX [J IF OUTPUT TO WAIT FOR COMPLETION 17 *6XW DISENGPER JCTWPTR [ELSE CANCEL INPUT 15 *7CG STO 2 EX4 [AND REMEMBER 8 *7X6 BRN OK 19 *8BQ WAITX JBUSY JCTWPTR,WAITX [WAIT IF CONSOLE OUTPUTTING 7 *8WB OK EXIT 7 0 4 *9B2 # 4 *9TL # 12 *=*= # SUBROUTINE TO DO CONSOLE PERI 15 *=SW # - ON ENTRY X3=END OF MESSAGE IN FCOUTBUF 11 *?#G # USES X0,X1,X3,X6 16 *?S6 # ^CANCEL^ IS OUTPUT IF EX4 IS NON-ZERO 4 *#?Q # 7 *#RB LABFIX XPERI 5 **?2 XPERI 17 **QL SBN 3 FCOUTBUF+1 [CALCULATE LENGTH OF 15 *B== SLC 3 2 [OF MESSAGE 18 *BPW LDX 1 JCTWPTR [PTR TO DL FOR CONSOLE 17 *C9G LDX 6 EX4 [GET CANCEL MARKER 16 *CP6 LDN 0 FCOUTBUF+1 [START ADDRESS 15 *D8Q BZE 6 NCAN [J NOT CANCEL 21 *DNB SBN 0 4 [INCLUDE CANCEL MESSAGE BY SUBTRACTIN 21 *F82 ADN 3 16 [4 FROM ADDRESS AND ADDING 16 TO COUN 17 *FML NCAN DCA 1,STO,3,COUNT [COUNT TO DEVICE LIST 16 *G7= DCA 1,STO,0,CTSA [START ADDRESS 8 *GLW LDN 0 1 15 *H6G DCA 1,DLA,0,MODE [OUTPUT MODE 20 *HL6 LDX 0 ACES [SPACE FILL COUNT WORD IN CASE 16 *J5Q STO 0 FCOUTBUF [CANCEL IS OUTPUT 12 *JKB [ 9 *K52 #UNS ENHOPER 4 *KJL ( 17 *L4= JENVNOT NOTDME,DME [IF DME,PUT DATE AND 18 *LHW LDX 3 CONSCNTRL [TIME THAT PERI IS ISSUED 18 *M3G LDX 0 EDATE [INTO THE CONBUFF/CNTRL 9 *MH6 STO 0 COBS(3) 21 *N2Q LDX 0 CLEANCT [THIS ENSURES THAT THE OPER SCREEN 20 *NGB STO 0 COBS+1(3) [WILL NOT BE OVERWRITTEN BEFORE 21 *P22 NOTDME [THE OPS HAVE A CHANCE TO SEE THIS 4 *PFL ) 12 *P_= [ 9 *QDW LDX 3 ACC3(2) 16 *QYG GPERI 1,2 [OUTPUT MESSAGE 15 *RD6 COOR1 ,6 [WAIT FOR EOT 7 *RXQ EXIT 7 0 4 *SCB # 4 *SX2 # 16 *TBL # SUBROUTINE TO OUTPUT UNIT N FIX TO THE CONSOLE 13 *TW= # LINK X7 SAVED IN AWORK3 16 *W*W # ALL ACCUMULATORS EXCEPT X2 DESTROYED 4 *WTG # 7 *X*6 LABFIX XOUTFIX 5 *XSQ XOUTFIX 15 *Y#B STO 7 AWORK3(2) [SAVE LINK 16 *YS2 LDX 0 CPRW1(2) [SAVE REPLY WORD 9 *_?L STO 0 BA4(2) 15 *_R= XOUT1 CALL 7 XGETCON [GET CONSOLE 18 B2=W LDN 3 JPMESS [PTR TO UNIT N FIX MSG 9 B2QG LDX 1 CPPTR(2) 16 B3=6 TRANSFIX CALL 0,JPG [GEOG NO TO MSG 10 B3PQ LDN 5 FCOUTBUF+1 17 B49B CALL 6 YMVCH [PUT MSG IN BUFFER 7 B4P2 LDX 3 5 16 B58L CALL 7 XPERI [DO CONSOLE PERI 9 B5N= LDCH 0 CPRW1(2) 18 B67W BNZ 0 XOUT1 [REPEAT PERI IF NOT OK 20 B6CN ... FON #50 [WAKE UP ANYBODY WAITING CONSOLE 18 B6MG LDX 1 BA4(2) [RE-INSTATE REPLY WORD 9 B776 STO 1 CPRW1(2) 9 B7LQ LDX 7 AWORK3(2) 7 B86B EXIT 7 0 4 B8L2 # 4 B95L # 20 B9K= # THIS SUBROUTINE SEARCHES THE PRIMARY AND SECONDARYQUEUES OF A 21 B=4W # GIVEN BSA FOR THE FIRST ACTIVITY WITH THE BLFAIL OR BONL BIT OF BA1 21 B=JG # SET. IF FOUND X5 IS SET NEGATIVE AND THE ACTIVITY IS REQUEUED AT TH 20 B?46 # HEAD OF THE PRIMARY QUEUE. OTHERWISE X5 =0 . ALSO BIT 5 IS SET 7 B?HQ # IN CPRW1 7 B#3B LABFIX XFIND 8 B#H2 XFIND LDX 2 FX2 8 B*2L LDCT 5 #10 16 B*G= ORS 5 CPRW1(2) [SET FAILED REPLY 17 B*_W LDN 5 0 [INITIALISE MARKER 18 BBFG LDX 0 BSBKCHAN(2) [CON0ENTS OF JOBRING+1 17 BB_6 LDN 1 BSCHANAD(2) [ADDRESS OF JOBRING 20 BCDQ XLP2 TXU 1 0(1) [COMPARE ADDRESS WITH CONTENTS 18 BCYB BCC XOUT [IF EQUAL, QUEUE IS EMPTY 16 BDD2 XLOOP LDX 1 0(1) [FI[ST/NEXT BLOCK 9 BDXL SBN 1 CHAINADD 9 BFC= LDX 4 ATYPE(1) 8 BFWW TXL 4 CACT 17 BGBG BCS XNACT [J IF NOT ACTIVITY 9 BGW6 LDX 4 BA1(1) 10 BH*Q ANDN 4 BLFAIL+BONL 18 BHTB BZE 4 XNACT [J IF BLFAIL BIT NOT SET 18 BJ*2 LDN 4 BA1(1) [ BA WORDS OF ACTIVITY 18 BJSL LDN 5 ACOMMUNE1(2) [ ACOMMUNE WORDS OF BSA 7 BK#= MOVE 4 5 21 BKRW NGN 5 1 [MARKER CHECKED BY CALLING ROUTINE 16 BL?G LDN 0 BSCHANAD(2) [START OF QUEUE 9 BLR6 ADN 1 CHAINADD 19 BM=Q REQUE 1,0 [RECHAIN AT FRONT OF PRIMARY QUEUE 8 BMQB LDX 2 FX2 9 BN=2 SBN 1 CHAINADD 10 BNPL LDX 0 ACOMMUNE7(1) 19 BP9= DCA ,DLA,0,MODE [ RESET DEVICE LIST IF NECC. 7 BPNW XOUT EXIT 7 0 9 BQ8G XNACT ADN 1 CHAINADD 16 BQN6 TXU 1 0 [END OF QUEUE? 14 BR7Q BCS XLOOP [J IF NOT 16 BRMB TXU 0 BSSBKCHN(2) [END OF SEARCH? 15 BS72 BCC XOUT [EXIT IF SO 18 BSLL LDX 0 BSSBKCHN(2) [POINTERS TO SECONDARY... 14 BT6= LDN 1 BSSCHAD(2) [...QUEUE 8 BTKW BRN XLP2 4 BW5G # 4 BWK6 # 19 BX4Q # THIS SUBROUTINE SEARCHES THE PRIMARY AND SECONDARY QUEUES 17 BXJB # FOR THE FIRST CHAPTER TRANSFER. IF FOUND X5 IS SET 18 BY42 # NEGATIVE AND THE TRANSFER REQUEUED AT THE HEAD OF THE 12 BYHL # PRIMARY QUEUE. OTHERWISE X5=0 4 B_3= # 7 B_GW LABFIX XFINDCH 5 C22G XFINDCH 15 C2G6 LDN 5 0 [CLEAR MARKER 18 C2_Q LDX 0 BSBKCHAN(2) [CONTENTS OF JOBRING+1 17 C3FB LDN 1 BSCHANAD(2) [ADDRESS OF JOBRING 20 C3_2 XCH1 TXU 1 0(1) [COMPARE ADDRESS WITH CONTENTS 18 C4DL BCC XOUTCH [IF EQUAL QUEUE IS EMPTY 16 C4Y= XCH2 LDX 1 0(1) [FIRST/NEXT BLK 9 C5CW SBN 1 CHAINADD 9 C5XG LDX 4 ATYPE(1) 8 C6C6 TXL 4 CACT 17 C6WQ BCS XCH3 [J IF NOT ACTIVITY 8 C7BB LDCT 4 #200 9 C7W2 ANDX 4 BA1(1) 19 C8*L BZE 4 XCH3 [J IF NOT CHAPTER TRANSFER 18 C8T= NGN 5 1 [SET MARKER TO SAY FOUND 18 C9#W LDN 0 BSCHANAD(2) [START OF PRIMARY QUEUE 9 C9SG ADN 1 CHAINADD 20 C=#6 REQUE 1,0 [REQUE AT HEAD OF PRIMARY QUEUE 8 C=RQ LDX 2 FX2 5 C??B XOUTCH 8 C?R2 EXIT 7 0 9 C#=L XCH3 ADN 1 CHAINADD 15 C#Q= TXU 1 0 [END OF QUEUE 14 C*9W BCS XCH2 [J IF NOT 16 C*PG XCH4 TXU 0 BSSBKCHN(2) [END OF SEARCH 15 CB96 BCC XOUTCH [EXIT IF SO 18 CBNQ LDX 0 BSSBKCHN(2) [POINTERS TO SECONDARY 14 CC8B LDN 1 BSSCHAD(2) [QUEUE 8 CCN2 BRN XCH1 4 CD7L # 4 CDM= #END 6 ____ ...470512060003