IPCONC8
(George Source)
Macros used: ACROSS, BXE, BXL, BXU, CCBB, CLEAR, DCA, DECLINK, DESUSPEND, EMPTY, FINDACTFB, FINMOVE, FREECORE, GPERIIPC, HUNT2, HUNT2OPT, MENDAREA, MFREE, MHUNT, SEG, SEGENTRY, SIPCM, SREP, TICKLE, TIPCREP, TRACE, UP
- IPCONC8.txt
22FL SEG IPCONC,,JOHN BAILEY 22^= # THIS SEGMENT DEALS WITH CLOSING IPC LINKS 23DW # ENTRY POINT 1 IS FOR CLOSE TASKS 23YG SEGENTRY K1IPCONC,X1IPCONC 24D6 # ENTRY POINT 2 IS FOR CLOSE REQUEST MESSAGES 24XQ SEGENTRY K2IPCONC,X2IPCONC 25CB SEGENTRY K20IPCONC,X20IPCONC 25X2 # 26BL # 2=YW ...SFREE 2?2? ... LDX 1 FPTR(3) 2?3N ... EMPTY FPTR(1) 2?55 ... EMPTY FPTR(3) 2?6G ... LDN 0 #40 2?7X ... ORS 0 ASTATUS2(3) 2?=W EXIT 4 0 2?QG X1IPCONC 2#=6 TRACE IPREB+1(2),IPCONC1 2#PQ # CLOSE LINK TASK : THE RING ELEMENT ETC WILL HAVE ALREADY 2*9B # BEEN FREED. THE ACTION REQUIRED IS SIMPLY TO INFORM THE 2*P2 # OTHER END. 2B8L # THIS TYPE OF TASK IS USED ALSO WHEN AN OPEN LINK ATTEMPT 2BN= # IS ANTICIPATED BY ANOTHER SOURCE. 2C7W TCLOS MHUNT 3,IPCD,ATASK 2CMG LDX 0 A1(3) 2D76 STO 0 IPWRB+1(2) [LINK IDENTIFIER 2DLQ LDX 0 TMESSCODES+9(1) 2F6B STO 0 IPWRB(2) [HEADER 2FL2 LDN 7 IPWRB(2) 2G5L SUM 6 2 2GK= NGS 6 IPWRB+2(2) [STORE 2H4W LDN 0 #11 2HJG DCA ,DLA,0,MODE [COUNT 2J46 LDN 0 IPWRB(2) 2JHQ DCA ,STO,0,CTSA [CORE ADDRESS 2K3B LDN 0 3 2KH2 DCA ,DLA,0,COUNT 2L2L GPERIIPC ,2,CT 2LG= TIPCREP CT,TIME,RESETA,NOP,NPUT 2L^W STOZ AWORK1(2) 2MFG TC3 MHUNT 3,IPCD,ATASK 2M^6 ... LDX 0 A1+1(3) 2NDQ SBN 0 7 2NYB BZE 0 TC1 2PD2 ... LDX 6 A1(3) 2PXL STO 6 ACOMMUNE1(2) 2QC= ANDN 6 #7777 2QWW BZE 6 TC1 2RBG CALL 7 SREL 2RL# ... BNG 3 TC1 [ALREADY CLOSED OR REMOVED 2RW6 LDX 0 ASTATUS2(3) 2S*Q SLL 0 5 2STB BPZ 0 TC2 2T*2 ... STOZ BPTR(3) 2TSL BRN TC1 2W#= TC2 CALL 4 SFREE 2WRW TC1 LDX 0 AWORK1(2) 2X?G BZE 0 PCNXT 2XR6 MFREE IPCD,ATASK 2Y=Q UP 2YQB TFREP #3200000 2^=2 TIREP #2000000 2^PL NPUT ACROSS IPCONA,2 329= NOPS SIPCM SI 32NW NOP ACROSS IPCONE,2 [DEAL WITH INOPERABLE IPB 338G WHOOPS 33N6 ACROSS IPCONE,1 [DEAL WITH ERROR 347Q RESETA 34MB ACROSS IPCONE,3 [DEAL WITH ERROR DETECTED 3572 TIME 35LL ACROSS IPCONE,5 366= X20IPCONC 36KW LDN 0 1 375G STO 0 AWORK1(2) 37K6 BRN TC3 384Q # STORED WORDS 38JB RESBITS #777700 3942 TMESSCODES #04000040 39HL #04000041 3=3= #04000042 3=GW #04000043 3?2G #04000046 3?G6 #03000047 3?^Q #07000060 3#FB #07000061 3#^2 #04000066 3*DL #03000067 3*Y= #02000070 3BCW #02000071 3BXG #03000077 3CC6 TBIT1 #20000000 3CWQ TBIT2 #10000000 3DBB TBIT3 #4000000 3DW2 TBIT11 #10000 3F*L RNE #02400000 3FT= # SUBROUTINE USED TO SET OBJECT PROGRAM REPLIES 3G#W # 3GSG SREP 3H#6 LDX 3 ACOMMUNE1(2) 3HRQ STO 4 ACC4(2) 3J?B STO 5 ACC5(2) 3JR2 STO 7 ACC7(2) 3K=L LDX 5 AREPPTR(3) 3KQ= LDX 3 FPTR(3) 3L9W SBN 3 ARINGEL [ADDRESS OF AOLPT 3LPG #SKI G3 3M96 FINDACTFB 3,,APET,,,BPTR [ADDRESS OF AOLPTS PCA 3MNQ #SKI IPCG4 3N8B HUNT2 2,ADATA,HLOCKDOWN,3 3NN2 SMO FX2 3P7L LDN 4 ACOMMUNE2 3PM= LDN 7 1 3Q6W FINMOVE 3,5,4,7,HLOCKB1,2,1 3QLG LDX 2 FX2 3R66 LDX 4 ACC4(2) 3RKQ LDX 5 ACC5(2) 3S5B LDX 7 ACC7(2) 3SK2 LDX 3 ACOMMUNE1(2) 3T4L NGNC 0 2 3TJ= ANDS 0 ASTATUS1(3) [UNSET TR STORED & IN PROGRESS BITS 3W3W STOZ ATIMCT(3) 3WHG STOZ ASTR(3) 3X36 STOZ ALENTR(3) 3XGQ STOZ AREPPTR(3) 3Y2B LDX 0 ASTMEL(3) 3YG2 STO 0 AWORK4(2) 3Y^L STOZ ASTMEL(3) 3^F= LDX 3 FPTR(3) 3^YW SBN 3 ARINGEL 42DG #SKI IPCG4 42Y6 ( 43CQ HUNT2 2,ADATA,HLOCKDOWN,3 43XB CLEAR APETADDR(3),0,HLOCKB1,2,2 44C2 LDX 2 FX2 44WL ) 45B= CCBB 3 45JG ... STO 5 ACC5(2) 45QQ ... LDX 5 AWORK4(2) 45^2 ... TICKLE JOBNO(3),5 467= ... LDX 5 ACC5(2) 46*G LDX 3 ARINGEL(3) 46T6 EXIT 6 0 47#Q # SUBROUTPNE TO LOCATE LINK ELEMENTS IN STACK 47SB # GIVEN THE LINK IDENTIFIER IN ACOMMUNE1(2) [X2 MUDT = FX2 48#2 # ADDRESS IS LEFT IN X3. LINK IS X7. ON EXIT X1=FX1 48RL # 49?= SREL 49QW LDX 3 IPCPTR(2) [FIND IPC ACTIVITY 4==G HUNT2 3,IPCD,IPSTACK [FIND STACK BLOCK 4=Q6 LDX 1 ARINGNO(3) 4?9Q ANDN 1 #7777 4?PB BZE 1 SRE1 [STACK EMPTY 4#92 ADN 3 A1 4#NL SRE3 LDX 0 ALINUM(3) 4*8= BXE 0 ACOMMUNE1(2),SRE2 4*MW ADN 3 ARECLEN 4B7G BCT 1 SRE3 4BM6 SRE1 NGN 3 #7777 4C6Q SRE2 LDX 1 FX1 4CLB EXIT 7 0 4D62 # S/R TO LOCATE ACTIVITY OWNING GEORGE THREE IPC LINK 4DKL SLACT LDX 2 FPTR(3) [CONTROL BLOCK 4F5= SBN 2 IPCRNG [BEGINNING OF CONTROL BLOCK 4FJW SLACT1 4G4G LDX 2 BPTR(2) 4GJ6 LDX 0 ATYPE(2) 4H3Q BXL 0 CACT,SLACT1 [J IF NOT ACTIVITY 4HHB EXIT 7 0 4J32 # S/R TO SET REPLY TO GEORGE TRANSFER 4JGL SGSR 4K2= CALL 7 SREL 4KFW SGSR1 LDX 2 FPTR(3) 4K^G STO 6 IPCGREP-IPCRNG(2) [STORE REPLY 4LF6 NGNC 0 2 4LYQ ANDS 0 ASTATUS1(3) [UNSET T.IP. 4MDB STOZ ATIMCT(3) 4MY2 STOZ ASTR(3) 4NCL STOZ ALENTR(3) 4PBW STOZ ASTMEL(3) 4PWG CALL 7 SLACT [LOCATE ACTIVITY 4QB6 DESUSPEND [KICK IT 4QTQ EXIT 4 0 4R*B X2IPCONC 4RT2 PCLOSREQ 4S#L TRACE IPREB+1(2),IPCONC2 4SS= LDX 0 IPREB+1(2) 4T?W SRC 0 12 4TRG STO 0 ACOMMUNE1(2) [LINK IDENTIFIER 4W?6 LDX 3 IPCPTR(2) 4WQQ HUNT2 3,IPCD,IPSTACK 4X=B LDX 1 ARINGNO(3) 4XQ2 ANDN 1 #7777 4Y9L BZE 1 NEXTASK [NO ELS 4YP= ADN 3 A1 4^8W PCL3 LDX 0 ALINUM(3) 4^NG ERX 0 ACOMMUNE1(2) 5286 BNZ 0 PCL7 [NOT THIS ONE 52MQ LDX 0 BPTR(3) 537B BZE 0 PCL7 53#J ... LDN 0 FPTR(3) 53FQ ... BXE 0 FPTR(3),PCL7 53M2 LDX 0 APTRIPB(3) 546L BXE 0 FX2,PCL4 54L= PCL7 ADN 3 ARECLEN 555W BCT 1 PCL3 55KG BRN NEXTASK 5656 PCL4 56JQ LDN 0 #7777 574B ANDS 0 ALINUM(3) 57J2 LDX 1 FX1 583L LDX 6 TBIT2(1) ["JUST DISESTABLISHED" MARKER 58H= LDX 0 ASTATUS1(3) 592W ANDN 0 1 59GG BZE 0 PCL2 [J NO TRANSFER STORED 5=26 LDCT 0 #200 5=FQ ANDX 0 ASTATUS1(3) 5=^B BZE 0 PCL5 [NOT GEORGE LINK 5?F2 LDX 6 RNE(1) 5?YL CALL 4 SGSR1 5#D= BRN PCL6 5#XW PCL5 5*CG LDX 0 RNE(1) 5*X6 STO 0 ACOMMUNE2(2) 5BBQ STO 3 ACOMMUNE1(2) 5BWB CALL 6 SREP [SET REPLY 5CB2 PCL6 5CTL LDX 6 TBIT3(1) ["REPLY GIVEN" MARKER 5D*= PCL2 ORS 6 ASTATUS2(3) 5DSW LDX 0 ASTATUS1(3) 5F#G SLL 0 1 5FS6 BNG 0 PCLB 5G?Q STOZ APTRIPB(3) 5GRB PCLB LDX 6 TBIT1(1) 5H?2 ERS 6 ASTATUS2(3) [MARK DISESTABLISHED 5HQL BNG 0 PCLC 5J== SMO FPTR(3) 5JPW STOZ IPPROPS-ARINGEL 5K9G PCLC DECLINK 5KP6 PCL1 HUNT2OPT 2,IPCD,ATASK [LOOK FOR TASK BLOCKS 5L8Q BNG 2 NEXTASK [NO MORE 5LNB LDX 0 A1(2) 5M82 ANDN 0 #7777 5MML BXU 0 ALINUM(3),PCL1 [TRY NEXT 5N7= LDX 0 A1+1(2) 5NLW ANDN 0 1 5P6G BNZ 0 PCL1 5PL6 LDX 6 BPTR(2) 5Q5Q FREECORE 2 [FREE TASK BLOCK 5QKB LDX 2 6 5R52 BRN PCL1 [CONTINUE SCAN 5RJL PCNXT MFREE IPCD,ATASK 5S4= NEXTASK ACROSS IPCON,1 5SHW # 5T3G # 5TH6 MENDAREA 100,K9IPCONC 5W2Q # 5WGB # 5X22 #END ^^^^ ...41530262000800000000