16 22FL ...#SEG READSPEC70 [FRANK BLUNDELL 16 22LS ...# COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 4 22S2 ...# 7 22_= #LIS K0READSPEC 7 23DW 8HREADSPEC 16 23YG # IMPLEMENTS MODE #1400 (READ FILE AREA SPEC) 12 24D6 # ON ENTRY ACTIVITY IS AOLPT 12 24XQ # EXEC2 CONTAINS CA ADDRESS 4 25CB # 4 25X2 # 7 26BL #DEF XCA=EVENT2 4 26W= # 12 27*W SEGENTRY K1READSPEC,QK1READ 12 27TG SEGENTRY K2READSPEC,QK2READ 4 28*6 # 9 28SQ RM1 #77777 9 29#B SM1 #777777 9 29S2 RHP PAIR PERION,1 4 2=?L # 4 2=R= # 5 2?=W QK1READ 17 2?QG STOZ AWORK3(2) [EOF FOR LATER USE 17 2#=6 STO 6 AWORK1(2) [SAVE ADDITIVE MODES 18 2#PQ LDX 7 APETADDR(2) [USED TO MARK OLPA ENTRY 7 2*9B LDN 4 8 14 2*P2 CHECKEXT XCA(2),4,XRV,7,W,RK,HLOCK1 17 2B8L RK [CHECK CONTROL AREA 9 2BN= #SKI K6READSPEC>199-199 4 2C7W ( 15 2CMG SBN 5 #1400 [CHECK MODE 8 2D76 BZE 5 RAA 9 2DLQ GEOERR 1,RSPMODE 4 2F6B RAA 4 2FL2 ) 9 2G5L LDX 3 XCA(2) 15 2GK= LDX 2 7 [PCA ADDRESS 7 2H4W ADN 3 6 21 2HJG FADDRESS 2,3,HLOCK1 [GET ADDRESS OF WORD CONTAINING LBN 8 2J46 LDX 2 FX2 16 2JHQ LDX 6 0(3) [X6 CONTAINS LBN 18 2K3B BZE 6 RD [JUMP IF LBN OUT OF RANGE 18 2KH2 MFINDEXOF 3,EXNUM(2) [FIND EXOF FOR THIS FILE 9 2L2L LDX 0 EXMODE(2) 8 2LG= SBN 0 #400 17 2L_W BNZ 0 RBA [JUMP IF NOT EOF MODE 9 2MFG ADX 6 FIP+10(3) 15 2M_6 SBN 6 1 [ADD IN EOF 9 2NDQ LDX 0 FIP+10(3) 7 2NYB SBN 0 1 17 2PD2 STO 0 AWORK3(2) [EOF FOR LATER USE 9 2PXL RBA LDEX 4 FIP+5(3) 14 2QC= BZE 4 RD [NO AREAS 21 2QWW LDN 5 0 [LOOK FOR FD CELL FOR THIS LBN 7 2RBG RB SMO 5 10 2RW6 TXL 6 FDCELLS+5(3) 8 2S*Q BCS RA 7 2STB ADN 5 6 8 2T*2 BCT 4 RB 18 2TSL RD LDCT 6 #400 [BUCKET OUT OF RANGE 7 2W#= ... LDN 4 6 7 2WRW ... LDN 5 1 19 2X?G BZE 7 RDA [JUMP IF WORKING IN PCA 18 2XR6 BRN RC [JUMP TO SET REPLY 7 2Y=Q RA SMO 5 21 2YQB LDX 4 FDCELLS(3) [SERIAL NUMBER OF UNIT HOLDING 19 2_=2 SUSESTX 4,RE [MARK UNIT TO BE LEFT ONLINE 9 2_PL RAS LDX 0 HSTUN(1) 8 329= SMO FX2 20 32NW STO 0 ACOMMUNE1 [START SORTING OUT OP REPLIES 17 375G LGEOG HUNIT(1),4 [GET GEOGRAPHICAL NO. 15 37K6 LDX 0 BSUNIT1(2) [COUNT OF SUS 7 38JB SRL 0 6 8 3942 ANDN 0 #77 19 39HL SBN 0 1 [JUMP IF ONLY ONE UNIT 8 3=3= BZE 0 RF 18 3=GW LDCT 0 #100 [SET SHARED HEADS BIT 7 3?2G ORX 4 0 8 3?G6 RF LDCT 0 #200 16 3?_Q ORX 4 0 [MOVEABLE HEADS 7 3#2B ...#UNS CAFSINT 4 3#32 ...( 18 3#3L ...# FOR THE CAFS INTERFACE, WE INDICATE IN EACH FILE AREA 18 3#4= ...# DESCRIPTION THE TYPE OF DRIVE CONTAINING THE FILE AREA 4 3#4W ...# 17 3#5G ...# THIS IS DONE IN WORD 7 OF THE ENTRY AS FOLLOWS: 4 3#66 ...# 13 3#6Q ...# BITS 12,13 = 0 NON-CAFS DRIVE 13 3#7B ...# = 1 CAFS 'S' DRIVE 13 3#82 ...# = 2 CAFS 'M' DRIVE 12 3#8L ...# = 3 UNDEFINED 4 3#9= ...# 4 3#9W ...# 21 3#=G ... JNCAFSDV HUNIT(1),SNOTCAFS [JIF FILE AREA NOT ON A CAFS DRIVE 4 3#?6 ...# 8 3#?Q ... LDCT 0 #100 21 3##B ... SMO HUNIT(1) [CHECK IF THE CAFS DRIVE NUMBER > 7 9 3#*2 ... ANDX 0 CFDRIVENO 20 3#*L ... SRL 0 11 [CONVERT TO APPROPRIATE PATTERN 17 3#B= ... ADN 0 #2000 [AS SPECIFIED ABOVE 18 3#BW ... ORX 4 0 [MERGE INTO REST OF REPLY 4 3#CG ...# 5 3#D6 ...SNOTCAFS 4 3#DQ ...) 8 3#FB LDX 2 FX2 10 3#_2 STO 4 ACOMMUNE7(2) 7 3*DL RJ SMO 5 10 3*Y= LDX 0 FDCELLS+1(3) 16 3BCW STO 0 ACOMMUNE2(2) [START CYLINDER 7 3BXG SMO 5 10 3CC6 ADX 0 FDCELLS+3(3) 15 3CWQ SBN 0 1 [END CYLINDER 17 3DBB [B0 SET IF NECESSARY 10 3DW2 STO 0 ACOMMUNE3(2) 7 3F*L SMO 5 10 3FT= LDX 0 FDCELLS+2(3) 16 3G#W STO 0 ACOMMUNE4(2) [STARTING BLOCK 7 3GSG SMO 5 15 3H#6 ADX 0 FDCELLS+4(3) [ENDING BLOCK 7 3HRQ SBN 0 1 10 3J?B STO 0 ACOMMUNE5(2) 7 3JR2 SMO 5 10 3K=L LDX 0 FDCELLS+5(3) 16 3KQ= SBX 0 AWORK3(2) [SUBTRACT EOF 15 3L9W STO 0 ACOMMUNE6(2) [LAST LBN+1 10 3LPG LDX 0 ACOMMUNE7(2) 18 3M96 BZE 0 RCA [JUMP IF UNIT NOT ONLINE 7 3MNQ SMO 5 16 3N8B LDX 6 FDCELLS(3) [SERIAL NUMBER 15 3NN2 RELST 6 [RELEASE UNIT 10 3P7L ...RCA LDN 4 ACOMMUNE1(2) 7 3PM= ... LDN 5 7 16 3Q6W BZE 7 RDA [JUMP IF IN PCA 9 3QLG RC LDX 3 XCA(2) 7 3R66 ADN 3 1 9 3RKQ ... INMOVE 7,3,4,5 8 3S5B LDX 1 FX1 9 3SK2 OLPFIN1 RHP(1) 4 3T4L # 9 3TJ= # UNIT NOT ONLINE 4 3W3W # 8 3WHG RE LDX 2 FX2 7 3X36 LDN 0 2 17 3XGQ ANDX 0 AWORK1(2) [CHECK FOR MODE #400 16 3Y2B BZE 0 RH [JUMP IF NOT SET 18 3YG2 STO 4 ACOMMUNE1(2) [SET REPLIES FOR UNIT NOT 14 3Y_L STOZ ACOMMUNE7(2) [ONLINE 19 3_F= BRN RJ [GO TO SET REST OF REPLIES 4 3_YW # 9 42DG # GET UNIT ONLINE 4 42Y6 # 17 43CQ RH LDX 5 EWCHAN(2) [GET DATA INTO ACCS 7 43XB SRC 5 6 20 44C2 ORX 5 4 [X5 B0-B5 CHANNEL B6-B23 C.S.N 15 44WL LDX 4 XCA(2) [C.A ADDRESS 9 45B= LDX 3 EXNUM(2) 13 45TW LDX 7 AWORK3(2) [EOF 8 46*G LDX 1 FX1 16 46T6 TOPCA1 RHP(1) [CHANGE TO PCA 15 47#Q UNPLUG [NOW IN PCA 15 47SB CAPCA [GO TO CPA 7 48#2 LDX 0 5 9 48RL ANDX 0 SM1(1) 16 49?= STO 0 AWORK1(2) [SERIAL NUMBER 12 49QW SMUSEST AWORK1(2),SCANT,SBRK 9 4=Q6 STO 7 AWORK3(2) 15 4?9Q LDN 7 0 [SET MARKER 16 4?PB STO 3 AWORK1(2) [EXOFILE NUMBER 19 4#92 ANDX 5 SM1(1) [X5 HOLDS SU SERIAL NUMBER 17 4#NL STO 4 AWORK2(2) [CONTROL AREA ADDRESS 19 4BM6 SA MFINDSU 1,5 [FIND ASTUC FOR THIS UNIT 10 4C6Q MFINDEXOF 3,AWORK1(2) 10 4F5= LADDP HUNIT(1),2 9 4FJW LDEX 4 FIP+5(3) 7 4G4G LDN 5 0 7 4GJ6 SB SMO 5 10 4H3Q TXL 6 FDCELLS+5(3) 8 4HHB BCS RAS 7 4J32 ADN 5 6 8 4JGL BCT 4 SB 19 4K2= BRN RD [JUMP TO SET LBN OUT OF RANGE 11 4K5X ...RDA SETUPCORE 5,3,EWDAS,GEXD 10 4K9J ... LDN 6 ACOMMUNE1(2) 8 4K*9 ... LDN 7 A1(3) 7 4KDW ... SMO 5 7 4KJH ... MOVE 6 0 15 4KN8 ... LDX 7 AWORK2(2) [C.A ADDRESS 7 4KRT ... ADN 7 1 8 4KXG ... LDN 6 A1 5 4L39 ...RDAREP 21 4L4* ... GETWORD 7,7,WRITE,4,5 [X3 WILL POINT TO GEORGE ADDR OF RW 9 4L5F ... TESTREPNOT OK,XCRV 10 4L6K ... MHUNTW 3,EWDAS,GEXD 7 4L7P ... ADX 6 3 19 4L8T ... TXL 4 5 [CAN MOVE BE DONE IN ONE GO? 15 4L=5 ... BCC RDAFIN [J IF IT CAN 7 4L?K ... SMO 4 16 4L*5 ... MOVE 6 0 [MOVE WHAT WE CAN 7 4LBK ... SMO 4 16 4LD5 ... LDN 6 A1 [UPDATE ADDRESSES 9 4LFK ... LDX 7 AWORK2(2) 7 4LH5 ... ADN 7 1 7 4LJK ... ADX 7 4 20 4LL5 ... SBX 5 4 [& NO OF WORDS WE WANT TO ACCESS 9 4LMT ... BRN RDAREP 5 4LPJ ...RDAFIN 7 4LR? ... SMO 5 15 4LSC ... MOVE 6 0 [FINAL MOVE 7 4LTH ... FREECORE 3 7 4LWP ... WORDFIN 16 4LYQ RUNPROG [RESTART PROGRAM 4 4MDB # 4 4MY2 # 4 4NCL # 4 4NX= # 18 4PBW # THIS SECTION IMPLEMENTS MODE #1100 (READ FILE SPEC) 10 4PWG # ENTRY AS MODE #1400 4 4QB6 # 4 4QTQ # 4 4R*B # 4 4RT2 # 5 4S#L QK2READ 15 4SS= LDX 7 APETADDR(2) [PWA ADDRESS 8 4T?W LDN 4 17 16 4TRG CHECKEXT XCA(2),4,XRV,APETADDR(2),W,QD,HLOCK1 17 4W?6 QD [CHECK CONTROL AREA 9 4WQQ STO 6 AWORK1(2) 9 4X=B #SKI K6READSPEC>199-199 4 4XQ2 ( 8 4Y9L SBN 5 #1100 8 4YP= BZE 5 QAA 10 4_8W GEOERR 1,MODEWRNG 4 4_NG QAA 4 5286 ) 8 52MQ LDCT 6 #400 18 537B ORN 6 5 [REPLY IF SCRATCH FILE 9 53M2 LDX 0 EXMODE(2) 8 546L SBN 0 #600 17 54L= BZE 0 QA [JUMP IF SCRATCH FILE 10 555W MFINDEXOF 3,EXNUM(2) 10 55KG SUSESTX ASUSN(3),QB 19 5656 LDX 0 HSTUN(1) [SERIAL NO. AND BITS 2 AND 3 9 56JQ STO 0 ASUSN(3) 8 574B LDX 1 FX1 8 57J2 LDX 2 FX2 9 583L LDX 4 XCA(2) 7 58H= ADN 4 1 16 592W LDN 5 16 [MOVE IN REPLIES 9 59GG LDN 6 ASUSN(3) 9 5=26 INMOVE 7,4,6,5 9 5=FQ LDX 0 SM1(1) 17 5=_B ANDS 0 ASUSN(3) [REMOVE BITS 2 AND 3 15 5?F2 RELST ASUSN(3) [RELEASE UNIT 9 5?YL OLPFIN1 RHP(1) 17 5#D= # UNIT NOT ONLINE - CHECK FOR MODE #4000,GET ONLINE 8 5#XW # IF NECESSARY 4 5*CG # 8 5*X6 QB LDX 1 FX1 8 5BBQ LDX 2 FX2 7 5BWB LDN 0 2 9 5CB2 ANDX 0 AWORK1(2) 8 5CTL BZE 0 QC 8 5D*= LDCT 6 #400 7 5DSW ORN 6 6 7 5F#G QA LDN 5 1 9 5FS6 LDX 4 XCA(2) 7 5G?Q ADN 4 1 7 5GRB LDN 3 6 9 5H?2 INMOVE 7,4,3,5 9 5HQL OLPFIN1 RHP(1) 4 5J== # 11 5JPW # BACK TO ANALYSIS ROUTINE 4 5K9G # 4 5KP6 # 20 5L8Q # GO TO CPA TO GET UNIT ONLINE,THEN BACK TO PCA TO SET REPLIES 4 5LNB # 9 5M82 QC LDX 5 EWCHAN(2) 7 5MML SRC 5 6 9 5N7= ORX 5 ASUSN(3) 9 5NLW LDX 3 EXNUM(2) 9 5P6G LDX 4 XCA(2) 9 5PL6 TOPCA1 RHP(1) 4 5Q5Q # 7 5QKB # NOW IN PCA 16 5R52 UNPLUG [UNPLUG PROGRAM 15 5RJL CAPCA [GO TO CPA 7 5S4= LDX 0 5 9 5SHW ANDX 0 SM1(1) 16 5T3G STO 0 AWORK1(2) [SERIAL NUMBER 15 5T?# ... STO 3 AWORK3(2) [EXOFILE NO 12 5TH6 SMUSEST AWORK1(2),SCANT,SBRK 16 5W2Q [GET UNIT ONLINE 9 5X22 ANDX 5 SM1(1) 8 5XFL MFINDSU 1,5 17 5X_= MFINDEXOF 3,3 [FIND ASTUC AND EXOF 9 5YDW LDX 0 HSTUN(1) 9 5YYG STO 0 ASUSN(3) 7 5_D6 LDX 5 4 7 5_XQ ADN 5 1 15 62=7 ... STO 5 AWORK2(2) [RW ADDRESS 8 62JJ ... LDN 4 ASUSN 8 62X2 LDN 6 16 4 62_D ...QGW 20 633W ... GETWORD 5,5,WRITE,7,6 [X5 POINTS TO GEORGE ADDR OF RW 9 636# ... TESTREPNOT OK,XCRV 10 638Q ... MFINDEXOF 3,AWORK3(2) 17 63?8 ... ADX 4 3 [X4 UPDATE FOR MOVE 19 63*L ... TXL 7 6 [[CAN MOVE BE DONE IN ONE GO? 15 63D4 ... BCC QWF [J IF IT CAN 7 63GG ... SMO 7 16 63JY ... MOVE 4 0 [MOVE WHAT WE CAN 9 63MB ... LDX 5 AWORK2(2) 7 63PS ... ADX 5 7 21 63S= ... SBX 6 7 [ADJUST NO OF WORDS REQD TO ACCESS 7 63WN ... SMO 7 8 63_6 ... LDN 4 ASUSN 8 643J ... BRN QGW 4 6462 ...QWF 7 648D ... SMO 6 15 64=W ... MOVE 4 0 [FINAL MOVE 8 64*W SMO FX1 8 64TG LDX 0 SM1 9 65*6 ANDS 0 ASUSN(3) 15 65SQ RELST ASUSN(3) [RELEASE UNIT 7 664J ... WORDFIN 16 66#B RUNPROG [RESTART PROGRAM 4 66S2 # 4 67?L # 15 67R= # CANTDO AND BREAKIN WHIST WAITING FOR UNIT 4 68=W # 4 68QG # 8 69=6 STEN +10 4 69PQ # 4 6=9B # 9 6=P2 XCRV GEOERR 1,RESVIOL 4 6?8L # 4 6?N= # 7 6#7W # BREAKIN 21 6#MG SBRK STEPBACK [STEP BACK ONR OF PROGRAM TO REPEAT 16 6*76 PROGBRKIN [REPORT BREAKIN 4 6*LQ # 6 6B6B # CANTDO 4 6BL2 # 7 6C5L SCANT LDX 3 4 17 6CK= SRL 5 18 [X5= CHANNEL NUMBER 7 6D4W ... LDCT 6 6 18 6DJG ... ADX 6 5 [DEVICE AND CHANNEL NO. 11 6F46 ...XPAR OUTPACK 6,1,PERINAME,XPAR 8 6LD2 XC2 LDCT 7 #440 7 6LXL ADN 3 1 9 6M=3 ... GETWORD 3,3,WRITE 9 6MJD ... TESTREPNOT OK,XCRV 8 6MWW STO 7 0(3) 7 6N6N ... WORDFIN 9 6NBG ILLEGAL PERFAIL 4 6NW6 # 4 6P*Q # 10 6PTB # RESERVATION VIOLATION 4 6Q*2 # 9 6QSL XRV TOPCA1 RHP(1) 6 6R#= UNPLUG 8 6RRW ILLEGAL NOCA 11 6S?G MENDAREA 30,K99READSPEC 4 6SR6 #END 8 ____ ...10177126000100000000