{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: IPCONC8)}}
====== IPCONC8 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:BXE|BXE]], [[george:macro:BXL|BXL]], [[george:macro:BXU|BXU]], [[george:macro:CCBB|CCBB]], [[george:macro:CLEAR|CLEAR]], [[george:macro:DCA|DCA]], [[george:macro:DECLINK|DECLINK]], [[george:macro:DESUSPEND|DESUSPEND]], [[george:macro:EMPTY|EMPTY]], [[george:macro:FINDACTFB|FINDACTFB]], [[george:macro:FINMOVE|FINMOVE]], [[george:macro:FREECORE|FREECORE]], [[george:macro:GPERIIPC|GPERIIPC]], [[george:macro:HUNT2|HUNT2]], [[george:macro:HUNT2OPT|HUNT2OPT]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREE|MFREE]], [[george:macro:MHUNT|MHUNT]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SIPCM|SIPCM]], [[george:macro:SREP|SREP]], [[george:macro:TICKLE|TICKLE]], [[george:macro:TIPCREP|TIPCREP]], [[george:macro:TRACE|TRACE]], [[george:macro:UP|UP]]
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