12 22FL ... SEG IPCONB,,KEITH MARTIN 17 22_= # THIS SEGMENT DEALS WITH OPEN TASKS FOR IPC LINKS 4 23DW # 11 23YG SEGENTRY K1IPCONB,X1IPCONB 11 24D6 SEGENTRY K2IPCONB,X2IPCONB 11 24XQ SEGENTRY K4IPCONB,X4IPCONB 8 25CB # STORED WORDS 9 25X2 RESBITS #777700 9 26BL TMESSCODES #04000040 9 26W= #04000041 9 27*W #04000042 9 27TG #04000043 9 28*6 #04000046 9 28SQ #03000047 9 29#B #07000060 9 29S2 #07000061 9 2=?L #04000066 9 2=R= #03000067 9 2?=W #02000070 9 2?QG #02000071 9 2#=6 #03000077 9 2#PQ TBIT1 #20000000 9 2*9B TBIT2 #10000000 9 2*P2 TBIT3 #4000000 9 2B8L TBIT4 #2000000 9 2BN= TBIT5 #1000000 9 2C7W TBIT11 #50000 9 2CMG TMSK #62777777 17 2D76 TIPBACT +IPCA+IPCBX [TYPE OF IPB ACTIVITY 8 2DLQ ROK #0 9 2F6B RTO #22000000 9 2FL2 RNI #22000000 9 2G5L RNINE #02400000 15 2GK= # SUBROUTINE TO LOCATE LINKS RING ELEMENT 19 2H4W # GIVEN THE LINK IDENTIFIER IN ACOMMUNE1(2) [X2 MUST = FX2] 17 2HJG # ADDRESS IS LEFT IN X3. LINK IS X7. ON EXIT X1=FX1 4 2J46 # 4 2JHQ SREL 17 2K3B LDX 3 IPCPTR(2) [FIND IPC ACTIVITY 16 2KH2 HUNT2 3,IPCD,IPSTACK [FIND STACK BLOCK 10 2L2L LDX 1 ARINGNO(3) 8 2LG= ANDN 1 #7777 15 2L_W BZE 1 SRE1 [STACK EMPTY 8 2MFG ADN 3 A1 9 2M_6 SRE3 LDX 0 ALINUM(3) 8 2NDQ ANDN 0 #7777 11 2NYB BXE 0 ACOMMUNE1(2),SRE2 9 2PD2 ADN 3 ARECLEN 8 2PXL BCT 1 SRE3 8 2QC= SRE1 NGN 3 #7777 8 2QWW SRE2 LDX 1 FX1 7 2RBG EXIT 7 0 14 2RW6 # S/R TO CLEAR UP WHEN FAIL IN OPENING 10 2S*Q SFIO LDX 0 IPWRB+1(2) 16 2STB CALL 7 SREL [FIND RING EL. 15 2T*2 BNG 3 SFI1 [NOT FOUND 9 2TSL LDX 0 BPTR(3) 8 2W#= BNZ 0 SFI2 8 2WRW CALL 4 SKF 4 2X?G SFI4 7 2XR6 EXIT 6 0 4 2Y=Q SFI2 10 2YQB LDX 0 ASTATUS2(3) 9 2_=2 ANDX 0 TBIT1(1) 8 2_PL BZE 0 SF13 9 329= LDX 0 TBIT4(1) 10 32NW ORS 0 ASTATUS2(3) 8 338G CALL 7 SNIPB 13 33N6 SFI1 EXIT 6 0 [EXIT 8 347Q SF13 CALL 7 SKH 7 34MB EXIT 6 0 9 3572 SKH LDX 2 ALINUM(3) 8 35LL SKH1 KILLHANGER 2 8 366= LDX 1 FX1 7 36KW EXIT 7 0 8 375G SKF CALL 7 SKH 7 37K6 LDX 7 4 8 384Q CALL 4 SFREE 7 38JB EXIT 7 0 15 3942 # S/R TO PASS OPEN TASK TO NEXT IPB,IF ANY 5 39HL SNIPB 10 3?2G WAKEHANGER ALINUM(3) 7 3?G6 EXIT 7 0 11 3Q6W # S/R TO REMOVE LINK ENTRIES 9 3QLG SFREE LDX 0 FPTR(3) 8 3R66 BNZ 0 SFR1 9 3YML ... LDX 1 FPTR(3) 9 3YP3 ... EMPTY FPTR(1) 9 3YQD ... EMPTY FPTR(3) 8 3YRT ... LDN 0 #40 10 3YT= ... ORS 0 ASTATUS2(3) 8 3YWM ... LDX 1 FX1 7 3Y_L EXIT 4 0 8 3_F= SFR1 LDCT 0 #20 10 3_YW ORS 0 ASTATUS2(3) 10 42DG ERS 0 ASTATUS2(3) 8 42Y6 LDX 1 FX1 8 43CQ LDX 2 FX2 7 43XB EXIT 4 0 18 44C2 # S/R TO CLEAR UP & MARK FAIL IN GEORGE OPEN PROCEDURE 16 44WL SOFG CALL 7 SREL [LOCATE RING EL 18 452H ... LDCT 0 #010 [CLEAR OPEN IN PROGRESS 10 456D ... ERX 0 ASTATUS2(3) 10 45=* ... ANDS 0 ASTATUS2(3) 9 45B= LDX 0 TBIT4(1) 15 45TW ORS 0 ASTATUS2(3) [SET F.I.O. 10 46*G MFREE IPCD,ATASK 13 46T6 EXIT 6 0 [EXIT 5 47#Q X1IPCONB 10 47SB MHUNT 3,IPCD,ATASK 8 48#2 LDX 0 A1(3) 10 48RL STO 0 ACOMMUNE1(2) 9 49?= TRACE 0,IPCON2 8 49QW CALL 7 SREL 9 4==G LDX 0 BPTR(3) 8 4=Q6 BNZ 0 OPA 8 4?9Q CALL 4 SKF 8 4?PB ...OPB BRN NEXTASK 10 4#NL OPA LDX 0 ASTATUS2(3) 7 4*8= SLL 0 1 8 4*MW BNG 0 OP1 8 4B7G CALL 7 SKH 8 4BM6 BRN OPB 12 4C6Q # SET UP OPEN REQUEST MESSAGE 4 4CLB OP1 16 4D62 LDX 2 FPTR(3) [ADDRESS OF AOLPT 16 4DKL LDX 0 ALINDIR-ARINGEL(2) [MODE OF OPENING 16 4F5= SRL 0 8 [0=READ,1=WRITE 7 4FJW SMO 0 14 4G4G LDX 0 TMESSCODES+6(1) [HEADER 7 4GJ6 LDX 1 2 8 4H3Q LDX 2 FX2 15 4HHB STO 0 IPWRB(2) [STORE HEADER 10 4J32 LDX 0 ACOMMUNE1(2) 16 4JGL STO 0 IPWRB+1(2) [LINK IDENTIFIER 12 4K2= LDN 6 ALINAME-ARINGEL(1) 10 4KFW LDN 7 IPWRB+2(2) 16 4K_G MOVE 6 3 [STORE LINK NAME 9 4LF6 SBN 1 ARINGEL 10 4LYQ HUNT2B 1,AOBRES,0 9 4MDB LDX 0 A1+1(1) 15 4MY2 STO 0 IPWRB+5(2) [PROG NAME 9 4NCL LDN 7 IPWRB(2) 7 4NX= SUM 6 6 16 4PBW NGS 6 IPWRB+6(2) [STORE CHECKSUM 9 4PWG # TRANSMIT MESSAGE 18 4QB6 LDN 0 #31 [CONTROL AREA: WRITE PART 10 4QTQ DCA ,DLA,0,MODE 7 4R*B LDN 0 7 10 4RT2 DCA ,DLA,0,COUNT 9 4S#L LDN 0 IPWRB(2) 10 4SS= DCA ,STO,0,CTSA 18 4T?W LDN 0 #32 [CONTROL AREA - READ PART 10 4TRG DSCA ,DLA,0,MODE 8 4W?6 LDN 4 11 10 4WQQ DSCA ,DLA,4,COUNT 9 4X=B LDN 0 IPREB(2) 10 4XQ2 DSCA ,STO,0,CTSA 8 4Y9L GPERIIPC ,2, 16 4YP= ... TIPCREP ,OPTO,OPRA,OPNPS,NPUT,OPWH,OPRA,OPNP 12 4_8W # REPLY RECEIVED - VALIDATE IT 9 4_NG LDX 5 CPRW2(2) 8 5286 ANDN 5 #777 18 52MQ SBX 4 5 [NR OF WDS TRANSFERRED 9 537B LDN 7 IPREB(2) 7 53M2 SMO 4 7 546L SUM 6 0 16 54L= BNZ 6 OPWH [J CHECKSUM WRONG 12 555W # FURTHER VALIDATION OF REPLY 9 55KG LDCH 0 IPREB(2) 17 5656 BXU 0 4,OPWH [COUNT GIVEN IS WRONG 10 56JQ LDX 0 IPREB+1(2) 8 574B SRL 0 12 11 57J2 BXU 0 IPWRB+1(2),OPWH 9 583L LDX 0 IPREB(2) 8 58H= ANDN 0 #77 8 592W SBN 0 #66 14 59GG BZE 0 PEST [OK REPLY 7 5=26 SBN 0 1 15 5=FQ BNZ 0 OPWH [WRONG REPLY 11 5=_B # DEAL WITH'NO LINK' REPLY 16 5?F2 CALL 7 SREL [RELOCATE RING EL 9 5?YL LDX 0 BPTR(3) 8 5#D= BNZ 0 OP3 4 5#XW OP4 8 5*CG CALL 4 SKF 9 5*X6 BRN NEXTASK 4 5BBQ OP3 9 5BWB LDX 0 TBIT1(1) 10 5CB2 ANDX 0 ASTATUS2(3) 8 5FS6 BNZ 0 PSNIP 8 5G?Q CALL 7 SKH 9 5GRB BRN NEXTASK 8 5HQL PSNIP CALL 7 SNIPB 9 5J== BRN NEXTASK 14 5JPW # DEAL WITH 'LINK ESTABLISHED' REPLY 4 5K9G PEST 15 5KP6 CALL 7 SREL [FIND RING EL 9 5L8Q LDX 0 BPTR(3) 8 5LNB BNZ 0 PE1 8 5M82 CALL 4 SKF 8 5MML BRN PLATE 9 5N7= PE1 LDX 0 TBIT1(1) 10 5NLW ANDX 0 ASTATUS2(3) 8 5P6G BNZ 0 PE2 8 5PL6 CALL 7 SKH 8 5Q5Q BRN PLATE 7 5QKB PE2 NGN 0 1 9 5R52 ERX 0 TBIT4(1) 9 5RJL ERX 0 TBIT1(1) 16 5S4= ANDS 0 ASTATUS2(3) [MARK ESTABLISHED 10 5T3G KILLHANGER ALINUM(3) 7 5TH6 INCLINK 20 5W2Q STO 2 APTRIPB(3) [DEVICE CONTROL ACTIVITY ADDRESS 10 5WGB LDX 0 IPREB+2(2) 18 5X22 STO 0 ALTPROG(3) [ALTERNATE PROGRAM NAME 10 5XFL LDX 0 IPREB+1(2) 8 5X_= SLC 0 12 9 5YDW STO 0 ALINUM(3) 8 62CB LGEOG ,7 8 62X2 ANDN 7 #77 9 63W= ORX 7 TBIT11(1) 9 65*6 SMO FPTR(3) 11 65SQ STO 7 IPPROPS-ARINGEL 9 66#B LDX 0 CPPTR(2) 9 66S2 SMO FPTR(3) 10 67?L STO 0 CPPTR-ARINGEL 4 67R= OPTR 10 68=W LDX 0 ASTATUS1(3) 7 68QG LDX 4 0 7 69=6 ANDN 0 1 19 6?8L ... BZE 0 NEXTASK [J. IF NO TRANSFER STORED. 19 6?N= OPTS HUNT2OPT 2,IPCD,ATASK [SEE IF TRANSFER TASK PRESENT 8 6#7W BNG 2 OPTT 19 6#G? ... LDX 0 A1(2) [LINK NO. FROM TASK BLOCK. 20 6#SN ... ERX 0 ALINUM(3) [NO. OF LINK JUST ESTABLISHED. 8 6*76 ANDN 0 #7777 17 6*LQ ... BNZ 0 OPTS [J. IF NOT SAME LINK. 9 6B6B LDX 0 A1+1(2) 7 6BL2 SBN 0 2 16 6C5L ... BZE 0 NEXTASK [J. IF TRANSFER. 7 6CK= SBN 0 2 19 6D4W ... BZE 0 NEXTASK [J. IF CONDITIONAL TRANSFER. 17 6DJG ... BRN OPTS [TRY NEXT TASK BLOCK. 4 6F46 OPTT 14 6FHQ LDX 7 ALINUM(3) [LINK NR 11 6G3B SETNCORE 2,3,IPCD,ATASK 16 6GH2 STO 7 A1(3) [LINK IDENTIFIER 19 6H2L ... LDN 0 2 [TRANSFER TASK IDENTIFIER NO. 7 6HG= SLC 4 4 18 6H_W ... ANDN 4 4 [GEORGE LINK BIT NOW B21. 7 6JFG ADX 0 4 18 6J_6 ... STO 0 A1+1(3) [SET (GEORGE) TRANSFER. 17 6KDQ BRN NEXTASK [J TO PERFORM TASK 18 6KYB # DEAL WITH TELLING REMOTE MACHINE THAT IT WAS TOO LATE 13 6LD2 # WITH ITS 'LINK ESTABLISHED' REPLY 10 6LXL PLATE LDX 4 IPREB+1(2) 8 6MC= SRC 4 12 10 6MWW MHUNT 3,IPCD,ATASK 16 6NBG STO 4 A1(3) [LINK IDENTIFIER 7 6NW6 LDN 0 7 15 6P*Q STO 0 A1+1(3) [TASK TYPE 17 6PTB BRN NEXTASK [J TO PERFORM TASK 12 6Q*2 # VARIOUS FAILURES IN OPENING 16 6QSL OPWH CALL 6 SFIO [SEQUENCE ERROR 9 6R#= BRN WHOOPS 14 6RRW OPTO CALL 6 SFIO [TIME-OUT 8 6S?G BRN TIME 14 6SR6 OPRA CALL 6 SFIO [RESET 9 6T=Q BRN RESETA 17 6TQB OPNPS CALL 6 SFIO [INOPERABLE ON READ 8 6W=2 BRN NOPS 17 6WPL OPNP CALL 6 SFIO [INOPERABLE ON WRITE 8 6X9= BRN NOP 10 6XNW PCNXT MFREE IPCD,ATASK 5 6Y8G NEXTASK 9 6YN6 ACROSS IPCON,1 11 6_7Q NPUT ACROSS IPCONA,2 8 6_MB NOPS SIPCM SI 18 7272 NOP ACROSS IPCONE,2 [DEAL WITH INOPERABLE IPB 5 72LL WHOOPS 16 736= ACROSS IPCONE,1 [DEAL WITH ERROR 5 73KW RESETA 18 745G ACROSS IPCONE,3 [DEAL WITH ERROR DETECTED 4 74K6 TIME 9 754Q ACROSS IPCONE,5 5 75JB X2IPCONB 8 7642 CALL 7 SREL 8 76HL CALL 7 SNIPB 5 773= UP 5 77GW X4IPCONB 11 782G # OPEN TASK FOR GEORGE LINK 4 78G6 # 14 78_Q # 1 SET UP OPEN REQUEST MESSAGE 10 79FB OTG MHUNT 3,IPCD,ATASK 14 79_2 LDX 6 A1(3) [LINK NO 10 7=DL STO 6 ACOMMUNE1(2) 17 7=Y= CALL 7 SREL [LOCATE RING ELEMENT 10 7?CW LDX 0 ASTATUS2(3) 7 7?XG SLC 0 1 8 7#C6 BPZ 0 OTCU 17 7#WQ LDX 0 ALTPROG(3) [DIRECTION OF LINK 7 7*BB SMO 0 14 7*W2 LDX 0 TMESSCODES+6(1) [HEADER 15 7B*L ORN 0 #1000 [^GEORGE^ BIT 15 7BT= STO 0 IPWRB(2) [STORE HEADER 16 7C#W STO 6 IPWRB+1(2) [STORE LINK NO 9 7CSG LDX 1 FPTR(3) 10 7D#6 LDN 4 IPCGNAM-A1(1) 10 7DRQ LDN 5 IPWRB+2(2) 16 7F?B MOVE 4 3 [STORE LINK NAME 17 7FR2 STOZ IPWRB+5(2) [ZEROISE PROGRAM NAME 11 7G=L ADN 4 IPCGDET-IPCGNAM 7 7GQ= ADN 5 4 8 7H9W SBN 1 A1 10 7HPG LDX 0 ALOGLEN(1) 11 7J96 SBN 0 IPCGDET-IPCRNG+1 15 7JNQ BZE 0 OTG1 [NO DETAILS 7 7K8B SMO 0 7 7KN2 MOVE 4 0 9 7L7L LDCH 7 IPWRB(2) 7 7LM= ADX 7 0 20 7M6W DCH 7 IPWRB(2) [UPDATE HEADER COUNT FOR DETAILS 19 7MLG ADS 0 IPWRB(2) [UPDATE HEADER FOR DETAILS 9 7N66 OTG1 LDN 7 IPWRB(2) 7 7NKQ SMO 0 7 7P5B SUM 6 6 7 7PK2 SMO 0 16 7Q4L NGS 6 IPWRB+6(2) [STORE CHECKSUM 11 7QJ= # 2 SEND OPEN REQUEST 19 7R3W LDN 0 #31 [CONTROL AREA : WRITE PART 10 7RHG DCA ,DLA,0,MODE 9 7S36 LDCH 0 IPWRB(2) 10 7SGQ DCA ,DLA,0,COUNT 9 7T2B LDN 0 IPWRB(2) 10 7TG2 DCA ,STO,0,CTSA 18 7T_L LDN 0 #32 [CONTROL AREA : READ PART 10 7WF= DSCA ,DLA,0,MODE 8 7WYW LDN 4 11 10 7XDG DSCA ,DLA,4,COUNT 9 7XY6 LDN 0 IPREB(2) 10 7YCQ DSCA ,STO,0,CTSA 15 7YXB GPERIIPC ,2, [ISSUE PERI 16 7_C2 ... TIPCREP ,OTG2,OTG3,OTG4,NPUT,OTG6,OTG3,OTG5 11 7_WL # 3 VALIDATE REPLY 9 82B= LDX 5 CPRW2(2) 8 82TW ANDN 5 #777 18 83*G SBX 4 5 [COUNT OF WORDS RECEIVED 9 83T6 LDN 7 IPREB(2) 7 84#Q SMO 4 7 84SB SUM 6 0 16 85#2 BNZ 6 OTG6 [CHECKSUM INVALID 9 85RL LDCH 0 IPREB(2) 15 86?= BXU 0 4,OTG6 [COUNT WRONG 10 86QW LDX 0 IPREB+1(2) 8 87=G SRL 0 12 20 87Q6 BXU 0 IPWRB+1(2),OTG6 [REPLY GIVES DIFFERENT LINK NO 9 889Q LDX 0 IPREB(2) 15 88PB ANDN 0 #77 [MESSAGE TYPE 8 8992 SBN 0 #66 16 89NL BZE 0 OTGA [LINK ESTABLISHED 7 8=8= SBN 0 1 19 8=MW BNZ 0 OTG6 [UNACCEPTABLE MESSAGE TYPE 9 8?7G # 4 CLEAR UP 8 8?M6 CALL 7 SREL 9 8#6Q OTCU LDX 0 TBIT5(1) 18 8#F7 ... ERX 0 ASTATUS2(3) [UNSET OPEN IN PROGRESS 10 8#RJ ... ANDS 0 ASTATUS2(3) 9 8*62 LDX 0 BPTR(3) 16 8*KL BNZ 0 OTG7 [LINK STILL OPEN 17 8B5= CALL 4 SFREE [IF NOT,DELETE ENTRY 8 8BJW OTG7 BRN PCNXT 11 8C4G # 5 LINK ESTABLISHED 8 8CJ6 OTGA CALL 7 SREL 9 8D3Q LDX 0 TBIT1(1) 10 8DHB ERS 0 ASTATUS2(3) 10 8F32 LDX 0 IPREB+1(2) 8 8FGL SRC 0 12 16 8G2= STO 0 ALINUM(3) [COMPLETE LINK NO 9 8GFW LDX 0 TMSK(1) 10 8G_G ANDS 0 ASTATUS2(3) 7 8HF6 INCLINK 8 8HYQ BRN OPTR 10 8JDB # 6 ERROR CASES 8 8JY2 # 6A TIME-OUT 16 8KCL OTG2 CALL 6 SOFG [SET F.I.O ETC 8 8KX= BRN TIME 7 8LBW # 6B RESET 8 8LWG OTG3 CALL 6 SOFG 14 8MB6 BRN RESETA [RESET 8 8MTQ # 6C INOPERABLE 17 8N*B OTG4 SIPCM SI [SEQUENCE INTERRUPTED 8 8NT2 OTG5 CALL 6 SOFG 8 8P#L BRN NOP 9 8PS= # 6D ERROR DETECTED 8 8Q?W OTG6 CALL 6 SOFG 9 8QRG BRN WHOOPS 11 8R?6 MENDAREA 1023-0?,K9IPCONB 4 8RQQ #END 8 ____ ...30365723001200000000