{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: IPCONA864)}}
====== IPCONA864 ======
(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:CHECKATT|CHECKATT]], [[george:macro:CIPCM|CIPCM]], [[george:macro:CLEAR|CLEAR]], [[george:macro:DCA|DCA]], [[george:macro:DESUSPEND|DESUSPEND]], [[george:macro:DSCA|DSCA]], [[george:macro:FINDACTFB|FINDACTFB]], [[george:macro:FINMOVE|FINMOVE]], [[george:macro:FSHCODE|FSHCODE]], [[george:macro:FSHSKIP|FSHSKIP]], [[george:macro:GPERIIPC|GPERIIPC]], [[george:macro:HUNT2|HUNT2]], [[george:macro:HUNT2B|HUNT2B]], [[george:macro:HUNT2OPT|HUNT2OPT]], [[george:macro:HUNTW|HUNTW]], [[george:macro:INCLINK|INCLINK]], [[george:macro:JIPCMN|JIPCMN]], [[george:macro:LGEOG|LGEOG]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREE|MFREE]], [[george:macro:R|R]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SETUPCORE|SETUPCORE]], [[george:macro:SIPCM|SIPCM]], [[george:macro:SREP|SREP]], [[george:macro:STOPHANGER|STOPHANGER]], [[george:macro:TESTREPNOT|TESTREPNOT]], [[george:macro:TICKLE|TICKLE]], [[george:macro:TIPCREP|TIPCREP]], [[george:macro:TRACE|TRACE]], [[george:macro:TRACEIF|TRACEIF]], [[george:macro:VFREE|VFREE]]
22FL ... SEG IPCONA,,KEITH MARTIN
22^= # THIS SEGMENT HANDLES REMOTELY INITIATED MESSAGE SEQUENCES
23DW # FOR TYPE 28 IPBS.
23YG #
24D6 SEGENTRY K1IPCONA,X1IPCONA
24XQ SEGENTRY K2IPCONA,X2IPCONA
25CB # STORED WORDS
25X2 RESBITS #777700
26BL TMESSCODES #04000040
26W= #04000041
27*W #04000042
27TG #04000043
28*6 #04000046
28SQ #03000047
29#B #07000060
29S2 #07000061
2=?L #04000066
2=R= #03000067
2?=W #02000070
2?QG #02000071
2#=6 #03000077
2#PQ TBIT1 #20000000
2*9B TBIT2 #10000000
2*P2 TBIT3 #4000000
2B8L TBIT5 #1000000
2BN= TBIT11 #50000
2C7W RNE #02400000
2CMG TFREP #3200000
2D76 TIREP #2000000
2DLQ # SUBROUTINE USED TO SET OBJECT PROGRAM REPLIES
2F6B #
2FL2 SREP
2G5L LDX 3 ACOMMUNE1(2)
2GK= STO 4 ACC4(2)
2H4W STO 5 ACC5(2)
2HJG STO 7 ACC7(2)
2J46 LDX 5 AREPPTR(3)
2JHQ LDX 3 FPTR(3)
2K3B SBN 3 ARINGEL [ADDRESS OF AOLPT
2KH2 #SKI G3
2L2L FINDACTFB 3,,APET,,,BPTR [ADDRESS OF AOLPTS PCA
2LG= #SKI IPCG4
2L^W HUNT2 2,ADATA,HLOCKDOWN,3
2MFG SMO FX2
2M^6 LDN 4 ACOMMUNE2
2NDQ LDN 7 1
2NYB FINMOVE 3,5,4,7,HLOCKB1,2,1
2PD2 LDX 2 FX2
2PXL LDX 4 ACC4(2)
2QC= LDX 5 ACC5(2)
2QWW LDX 7 ACC7(2)
2RBG LDX 3 ACOMMUNE1(2)
2RW6 NGNC 0 2
2S*Q ANDS 0 ASTATUS1(3) [UNSET TR STORED & IN PROGRESS BITS
2STB STOZ ATIMCT(3)
2T*2 STOZ ASTR(3)
2TSL STOZ ALENTR(3)
2W#= STOZ AREPPTR(3)
2WRW LDX 0 ASTMEL(3)
2X?G STO 0 AWORK4(2)
2XR6 STOZ ASTMEL(3)
2Y=Q LDX 3 FPTR(3)
2YQB SBN 3 ARINGEL
2^=2 #SKI IPCG4
2^PL (
329= HUNT2 2,ADATA,HLOCKDOWN,3
32NW CLEAR APETADDR(3),0,HLOCKB1,2,2
338G LDX 2 FX2
33N6 )
347Q CCBB 3
34MB LDX 3 ARINGEL(3)
34TL ... STO 5 ACC5(2)
353W ... LDX 5 AWORK4(2)
35=6 ... TICKLE JOBNO(3),5
35DB ... LDX 5 ACC5(2)
35LL EXIT 6 0
366= # SUBROUTPNE TO LOCATE LINK ELEMENTS IN STACK
36KW # GIVEN THE LINK IDENTIFIER IN ACOMMUNE1(2) [X2 MUDT = FX2
375G # ADDRESS IS LEFT IN X3. LINK IS X7. ON EXIT X1=FX1
37K6 #
384Q SREL
38JB LDX 3 IPCPTR(2) [FIND IPC ACTIVITY
3942 HUNT2 3,IPCD,IPSTACK [FIND STACK BLOCK
39HL LDX 1 ARINGNO(3)
3=3= ANDN 1 #7777
3=GW BZE 1 SFR1 [STACK EMPTY
3?2G ADN 3 A1
3?G6 SFR3 LDX 0 ALINUM(3)
3?^Q BXE 0 ACOMMUNE1(2),SFR2
3#FB ADN 3 ARECLEN
3#^2 BCT 1 SFR3
3*DL SFR1 NGN 3 1
3*Y= SFR2 LDX 1 FX1
3BCW EXIT 7 0
3BXG # S/R TO LOCATE ACTIVITY OWNING GEORGE THREE IPC LINK
3CC6 SLACT LDX 2 FPTR(3) [CONTROL BLOCK
3CWQ SBN 2 IPCRNG [BEGINNING OF CONTROL BLOCK
3DBB SLACT1
3DW2 LDX 2 BPTR(2)
3F*L LDX 0 ATYPE(2)
3FT= BXL 0 CACT,SLACT1 [J IF NOT ACTIVITY
3G#W EXIT 7 0
3GSG # S/R TO SET REPLY TO GEORGE TRANSFER
3H#6 SGSR
3HRQ CALL 7 SREL
3J?B LDX 2 FPTR(3)
3JR2 STO 6 IPCGREP-IPCRNG(2) [STORE REPLY
3K=L LDX 0 GSIGN
3KQ= ERS 0 ASTATUS1(3) [UNSET T.IP.
3L9W STOZ ATIMCT(3)
3LPG STOZ ASTR(3)
3M96 STOZ ALENTR(3)
3N8B STOZ ASTMEL(3)
3NN2 CALL 7 SLACT [LOCATE ACTIVITY
3P7L DESUSPEND [KICK IT
3PM= EXIT 4 0
3PMM ...TOPX
3PN4 ... MFREE IPCD,ATASK
3PNF ... BRN TOPX12
3PNW ...TOPX1
3PP? ... LDX 6 0
3PPN ...TOPX12
3PQ5 ... HUNTW 3,IPCD,ATASK [ANY TASCKS
3PQG ... BPZ 3 TOPXA [J IF SO[
3PQX ... EXIT 6 0 [ELSE SIT QUIESCENT
3PR# ...TOPXA LDX 0 A1(3)
3PRP ... STO 0 ACOMMUNE1(2)
3PS6 ... LDX 0 A1+1(3) [TYPE
3PSH ... ANDN 0 1
3PSY ... BNZ 0 TOPXB
3PT* ... CALL 7 SREL
3PTQ ... LDX 7 ASTATUS1(3)
3PW7 ... ANDN 7 1
3PWJ ... BZE 7 TOPX [J IF NO TRANSFER STORED
3PW^ ... LDCT 7 #400
3PXB ... ORS 7 ASTATUS1(3)
3PXR ...TOPXB
3PY8 ... CIPCM Q [CLEAR QUIESCENT BIT
3PYK ...# NOW CANCELL READ
3P^2 ... LDN 0 2
3P^C ... DCA ,DLA,0,MODE
3P^S ... GPERIIPC ,2,CT
3Q22 ... TRACE CPRW2(2),IPCANCRD [READ REPLY AFTER A CANCEL
3Q29 ...# NOW TEST READ REPLY TO DETERMINE
3Q2L ...# RESULT OF CANCELL
3Q33 ...# READ REJECTED => CANCELL ACCEPTED ETC
3Q3D ... TIPCREP SP,TIME,RESETA,NOP,,X1IPCONA
3Q3T ...# CANCELL REJECTED
3Q4= ...TOPXC
3Q4M ... CALL 7 SREL
3Q54 ... LDCT 7 #400
3Q5F ... ANDX 7 ASTATUS1(3)
3Q5W ... ERS 7 ASTATUS1(3) [CLEAR TIP
3Q6? ... BRN NPUTOK [LOOK AT WHAT WE READ NOW
3Q6W # ENTRY POINT WHEN IPB QUIESCENT
3QLG X1IPCONA
3QN4 ...# IF READ NOT IMP OP,THEN
3QNT ...# PROBABLY AFTER A SUCCESSFUL
3QPL ...# CANCEL WUTH NO WRITE DONE
3QQC ...# AFTER IT,SO SET UP DUMMY CLOSE
3QR8 ... LDX 0 CPRW2(2)
3QR^ ... SRL 0 12
3QSQ ... SBN 0 #0300
3QTH ... BNZ 0 READOK
3QW# ... HUNTW 3,IPCD,ATASK
3QX5 ... TRACE 3,IPCRDNI
3QXW ... BPZ 3 NEXTASK
3QYM ... STOZ CPRW2(2)
3Q^D ... SETNCORE 2,2,IPCD,ATASK
3Q^Y ... NGN 0 1 [LINK NUMBER = 4095
3R2D ... STO 0 A1(2) [USED FOR DUMMY WRITE
3R32 ... LDN 0 3
3R3R ... STO 0 A1+1(2)
3R4J ... BRN NEXTASK
3R5* ...READOK
3R5H ... FSHCODE AORB
3R5P ... TRACEIF K6IPCONA,199,299,IPWRB(2),IPCONA1
3R5X ... FSHSKIP
3R66 TRACE IPWRB(2),IPCONA1
3RKQ HUNTW 3,IPCD,ATASK [ANY TASKS ?
3S5B BPZ 3 NEXTASK
3SK2 SIPCM Q [SET QUIESCENT MARKER
3T4L # ENTRY POINT WHEN CONTENTION LOST ATTEMPTING AN OUTPUT SEQUENCE
3TJ= X2IPCONA
3TN7 ... FSHCODE AORB
3TS4 ... TRACEIF K6IPCONA,199,299,IPWRB(2),IPCONA2
3TX^ ... FSHSKIP
3W3W TRACE IPWRB(2),IPCONA2
3WHG # PUT UP READ
3X36 NPUT LDN 0 #12
3XGQ DSCA ,DLA,0,MODE [STORE READ MODE IN CONTROL AREA
3Y2B LDN 4 11
3YG2 DSCA ,DLA,4,COUNT
3Y^L LDN 0 IPREB(2)
3^F= DSCA ,STO,0,CTSA [STORE CORE ADDRESS
3^YW GPERIIPC ,2,SP [ISSUE PERI
42DG ... TIPCREP SPQ,TIME,RESETA,NOP,,NEXTASK,,,TOPX1
42Y6 # INPUT RECEIVED
43CQ #
43XB #
44C2 # VALIDATE INPUT
44WL #
45B= # 1 - CHECKSUM
45L4 ...NPUTOK
45TW LDX 0 CPRW2(2)
46*G ANDN 0 #777 [REMAINDER COUNT
46T6 SBX 4 0 [COUNT TRANSFERRED
47#Q LDN 7 IPREB(2)
47SB SMO 4
48#2 SUM 6 0 [CALCULATE SUM
48RL BNZ 6 WHOOPS [J IF WRONG!
49?= # 2 - COUNT CORRECT ?
49QW LDCH 0 IPREB(2) [COUNT FROM MESSAGE HEADER
4==G BXU 0 4,WHOOPS [J IF WRONG!
4=Q6 # 3 - VALID MESSAGE CODE ?
4?9Q LDX 0 IPREB(2)
4?PB ANDN 0 #77 [MESSAGE CODE
4#92 LDN 6 13
4#NL PCHK1 SMO 6
4*8= LDEX 5 TMESSCODES-1(1)
4*MW BXE 0 5,NSWIT [J IF VALID
4B7G BCT 6 PCHK1 [TRY NEXT,IF ANY
4BM6 BRN WHOOPS [NOT VALID
4C6Q #
4CLB # SWITCH ON MESSAGE CODE
4D62 NSWIT JIPCMN R,NSWIT2
4DKL CIPCM R
4F5= SBN 6 12
4FJW BZE 6 NSWIT3
4G4G SBN 6 1
4GJ6 BZE 6 NSWIT4
4H3Q ADN 6 13
4HHB NSWIT2
4J32 SMO 6
4JGL NSWIT1
4K2= BRN NSWIT1
4KFW BRN TRANREQ
4K^G BRN TRANREQ
4LF6 BRN TRANREQ
4LYQ BRN TRANREQ
4MDB BRN WHOOPS
4MY2 BRN WHOOPS
4NCL BRN OPENREQ
4NX= BRN OPENREQ
4PBW BRN WHOOPS
4PWG BRN PCLOSREQ
4QB6 BRN WHOOPS
4QTQ BRN WHOOPS
4R*B BRN WHOOPS
4RT2 NSWIT3
4S#L ACROSS IPCONE,9
4SS= NSWIT4
4T?W BRN NEXTASK
4TRG # THIS SECTION DEALS WITH AN OPEN REQUEST MESSAGE
4W?6 #
4WQQ # SEARCH LINK STACK FOR SUITABLE MATE
4X=B OPENREQ
4XB? ... FSHCODE AORB
4XG8 ... TRACEIF K6IPCONA,199,299,IPREB+1(2),IPCONA3
4XL5 ... FSHSKIP
4XQ2 TRACE IPREB+1(2),IPCONA3
4Y9L LDX 0 IPREB(2)
4YP= ANDN 0 #1000
4^8W BNZ 0 OGR [OPEN FOR GEORGE LINK
4^NG LDX 3 IPCPTR(2) [FIND IPC ACTIVITY
5286 HUNT2 3,IPCD,IPSTACK [FIND LINK STACK
52MQ LDX 6 ARINGNO(3)
537B ANDN 6 #7777 [NR OF ENTRIES
53M2 BZE 6 NOLINK [NONE
546L OPR3 LDX 0 A1+ASTATUS2(3)
54L= ANDX 0 TBIT1(1)
555W BZE 0 OPR1 [ALREADY ESTABLISHED
55KG ... LDCT 0 #150 [J IF JUST DISEST,DISEST REP GIVEN,OR OPEN IN PROG
5656 ANDX 0 A1+ASTATUS2(3)
56JQ BNZ 0 OPR1
574B LDCT 0 #200
57J2 ANDX 0 A1+ASTATUS1(3)
583L BNZ 0 OPR1
588S ... LDN 0 A1+FPTR(3)
58B2 ... BXE 0 A1+FPTR(3),OPR1
58H= LDX 0 A1+BPTR(3)
592W BZE 0 OPR1 [NOT YET ENRINGED
59GG LDX 1 A1+FPTR(3)
5=26 LDX 0 ALINDIR-ARINGEL(1)
5=FQ SRL 0 8
5=^B ERX 0 IPREB(2)
5?F2 ANDN 0 1
5?YL BZE 0 OPR1 [SAME DIRECTION
5#D= LDX 0 AREQPR-ARINGEL(1) [PROPERTIES
5#XW BZE 0 OPR5 [NO REQS
5*CG SRL 0 11
5*X6 ANDN 0 3
5BBQ BZE 0 OPR1 [NOT IMC
5BWB OPR5
5CB2 LDX 0 ALINAME-ARINGEL(1) [CHECK NAMES
5CTL BXU 0 IPREB+2(2),OPR1
5D*= LDX 0 ALINAME-ARINGEL+1(1)
5DSW BXU 0 IPREB+3(2),OPR1
5F#G LDX 0 ALINAME-ARINGEL+2(1)
5FS6 BXU 0 IPREB+4(2),OPR1
5G?Q LDX 0 A1+ALINUM(3)
5GRB STO 0 AWORK1(2)
5H?2 SBN 1 ARINGEL
5HQL HUNT2OPT 3,APERI,APROPNOS,1
5J== BPZ 3 OPR6
5JPW ADN 1 ARINGEL
5K9G LDX 3 FPTR(1)
5KP6 SBN 3 A1
5L8Q BRN OPR2
5LNB OPR6 LDX 7 ALOGLEN(3)
5M82 SETUPCORE 7,5,APERI,APROPNOS
5MML LDX 0 AWORK1(2)
5N7= STO 0 ACOMMUNE1(2)
5NLW CALL 7 SREL
5P6G BNG 3 OPENREQ
5PL6 LDX 1 FPTR(3)
5Q5Q SBN 1 ARINGEL
5QKB HUNT2OPT 3,APERI,APROPNOS,1
5R52 LDX 7 ALOGLEN(3)
5RJL LDN 4 A1(3)
5S4= SMO 5
5SHW LDN 5 A1
5T3G SMO 7
5TH6 MOVE 4 0
5W2Q CHECKATT
5WGB VFREE APERI,APROPNOS
5X22 LDX 0 AWORK1(2)
5XFL STO 0 ACOMMUNE1(2)
5X^= CALL 7 SREL
5YDW BNG 3 OPENREQ
5YYG SBN 3 A1
5^D6 LDX 1 A1+FPTR(3)
5^XQ TESTREPNOT OK,OPR1
62CB BRN OPR2
62X2 OPR1 ADN 3 ARECLEN
63BL LDX 1 FX1
63W= BCT 6 OPR3 [TRY NEXT
64*W # NO SUITABLE MATE - SEND 'NO LINK' REPLY
64TG NOLINK
65*6 LDX 1 FX1
65SQ LDX 0 TMESSCODES+9(1)
66#B STO 0 IPWRB(2) [HEADER
66S2 LDX 0 IPREB+1(2)
67?L SLL 0 12
67R= STO 0 IPWRB+1(2) [LINK IDENTIFIER
68=W LDN 7 IPWRB(2)
68QG SUM 6 2
69=6 NGS 6 IPWRB+2(2) [CHECKSUM
69PQ LDN 6 3
6=9B BRN OPR4 [GO TO TRANSMIT REPLY
6=P2 # SUITABLE LINK - SEND 'LINK ESTABLISHED' REPLY
6?8L OPR2 SMO FX1
6?N= LDX 0 TMESSCODES+8
6#7W STO 0 IPWRB(2) [HEADER
6#MG LDX 0 IPREB+1(2)
6*76 ANDN 0 #7777
6*LQ SRC 0 12
6B6B ORX 0 A1+ALINUM(3)
6BL2 STO 0 IPWRB+1(2)
6C5L SBN 1 ARINGEL
6CK= HUNT2B 1,AOBRES,0
6D4W LDX 0 A1+1(1)
6DJG STO 0 IPWRB+2(2) [PROGRAM NAME
6F46 LDN 7 IPWRB(2)
6FHQ SUM 6 3
6G3B NGS 6 IPWRB+3(2) [NEGATIVE CHECKSUM
6GH2 LDN 6 4
6H2L OPR4 LDN 0 #11 [SET UP CONTROL AREA
6HG= DCA ,DLA,0,MODE [STORE MODE
6H^W DCA ,DLA,6,COUNT [STORE COUNT
6JFG LDN 0 IPWRB(2)
6J^6 DCA ,STO,0,CTSA [STORE CORE ADDRESS
6KDQ GPERIIPC ,2,CT
6KYB ... TIPCREP CT,TIME,RESETA,NOPS,WHOOPS
6LD2 # REPLY SENT - UPDATE RING ELEMENT
6LXL LDX 0 IPWRB(2)
6MC= ANDN 0 1
6MWW BNZ 0 NEXTASK [SAID 'NO LINK'
6NBG LDX 0 IPWRB+1(2)
6NW6 ANDN 0 #7777
6P*Q STO 0 ACOMMUNE1(2)
6PTB CALL 7 SREL [FIND RING ELEMENT
6Q*2 BNG 3 TOOLATE [GONE - TOO LATE
6QSL LDX 0 IPREB(2)
6R#= ANDN 0 #1000
6RRW BNZ 0 OGR5
6S?G LDX 0 ASTATUS2(3)
6SR6 ANDX 0 TBIT1(1)
6T=Q BZE 0 TOOLATE [ESTABLISHED ALREADY
6TQB ERS 0 ASTATUS2(3) [MARK ESTABLISHED
6W=2 LDCT 0 #20
6WPL ORS 0 ASTATUS2(3)
6X9= ERS 0 ASTATUS2(3)
6XNW LDX 0 ASTATUS2(3)
6Y8G ANDX 0 TBIT5(1)
6YN6 BZE 0 PINC
6^7Q LDX 2 ALINUM(3)
6^MB ANDN 2 #7777
7272 STOPHANGER 2
72LL PINC INCLINK
736= LDX 0 IPREB+5(2)
73KW STO 0 ALTPROG(3) [REMOTE PROGRAM NAME
745G LDX 0 IPWRB+1(2)
74K6 STO 0 ALINUM(3) [LINK IDENTIFIER
754Q LGEOG ,7
75JB ANDN 7 #77
7642 ... ORX 7 TBIT11(1)
76HL SMO FPTR(3)
773= STO 7 IPPROPS-ARINGEL
77GW LDX 0 CPPTR(2)
782G SMO FPTR(3)
78G6 STO 0 CPPTR-ARINGEL
78^Q STO 2 APTRIPB(3)
79FB LDX 0 ASTATUS1(3)
79^2 BPZ 0 NEXTASK [NO TRANSFER STORED
7=DL LDX 6 ALINUM(3)
7=Y= SETNCORE 2,3,IPCD,ATASK [SET UP TRANSFER TASK
7?CW STO 6 A1(3) [LINK IDENTIFIER
7?XG LDN 0 2
7#C6 STO 0 A1+1(3) [TASK TYPE
7#WQ BRN NEXTASK [J TO PERFORM TASK
7*BB # OPEN ANTICIPATED FROM ANOTHER SOURCE - SEND 'NO LINK'
7*W2 TOOLATE
7B*L SETNCORE 2,3,IPCD,ATASK [SET UP TASK BLOCK
7BT= LDX 0 IPWRB+1(2)
7C#W ANDN 0 #7777
7CSG LDN 0 7
7D#6 STO 0 A1+1(3) [TASK TYPE
7DRQ BRN NEXTASK [J TO PERFORM TASK
7F?B # TIME-OUT WHEN SENDING REPLY
7FR2 TIME ACROSS IPCONE,5
7G=L RESETA
7GQ= ACROSS IPCONE,3
7H9W NOPS
7HPG SIPCM SI
7J96 NOP
7JNQ ACROSS IPCONE,2
7K8B # DEAL WITH TRANSFER REQUEST MESSAGE
7KN2 #
7L7L TRANREQ
7L?H ... FSHCODE AORB
7LCD ... TRACEIF K6IPCONA,199,299,IPREB+1(2),IPCONA4
7LH* ... FSHSKIP
7LM= TRACE IPREB+1(2),IPCONA4
7M6W LDX 0 IPREB+1(2)
7MLG SRC 0 12
7N66 STO 0 ACOMMUNE1(2)
7NKQ CALL 7 SREL [FIND RING EL
7P5B BNG 3 NOLINK [NO SUCH LINK
7PK2 LDX 0 BPTR(3)
7Q4L BZE 0 NOLINK
7Q#D ... BXE 3 FPTR(3),NOLINK
7QJ= LDX 0 IPREB(2)
7QS4 ... ANDN 0 #77
7R3W SBN 0 #42
7RHG BPZ 0 TRANR3
7S36 LDN 0 1
7SGQ ORS 0 ASTATUS2(3)
7T2B TRANR3
7TG2 LDX 0 IPREB(2)
7T^L ANDN 0 1 [0=READ,1=WRITE
7WF= LDCT 1 #200
7WYW ANDX 1 ASTATUS1(3)
7XDG BZE 1 TR4A
7XY6 LDX 1 ALTPROG(3)
7YCQ BRN TR4B
7YXB TR4A SMO FPTR(3)
7^C2 LDX 1 ALINDIR-ARINGEL
7^WL SRL 1 8 [0=READ,1=WRITE
82B= TR4B BXE 0 1,WHOOPS [EH?
82TW LDX 1 FX1
83*G LDX 0 ASTATUS1(3)
83T6 ANDN 0 1
84#Q BZE 0 PNOTR [J IF NO TRANSFER
84SB LDX 0 GSIGN
85#2 ORS 0 ASTATUS1(3) [SET T.I.P.
85RL LDCT 0 #200
86?= ANDX 0 ASTATUS1(3)
86QW BNZ 0 TGL
87=G # SEND 'TRANSFER ACCEPTED' REPLY
87Q6 LDX 0 IPREB+1(2)
889Q SRC 0 12
88PB STO 0 IPWRB+1(2) [LINK IDENTIFIER
8992 LDX 0 TMESSCODES+4(1)
89NL STO 0 IPWRB(2) [HEADER
8=8= LDX 0 IPREB(2)
8=MW ANDN 0 1
8?7G BZE 0 TREAD [OTHER END READING
8?M6 LDX 0 ALENTR(3)
8#6Q SBX 0 IPREB+2(2)
8#LB STO 0 IPWRB+2(2) [DIFFERENCE COUNT
8*62 BRN TRANR1 [J TO TRANSMIT REPLY
8*KL TREAD LDX 0 IPREB+2(2)
8B5= SBX 0 ALENTR(3)
8BJW STO 0 IPWRB+2(2) [DIFFERENCE COUNT
8C4G TRANR1
8CJ6 STO 0 AWORK3(2)
8D3Q LDN 7 IPWRB(2)
8DHB SUM 6 3
8F32 NGS 6 IPWRB+3(2) [STORE NEG CHECKSUM
8FGL LDN 4 4
8G2= # SET UP CONTROL AREA & ISSUE PERI
8GFW TRANR2
8G^G LDN 0 #11
8HF6 DCA ,DLA,0,MODE
8HYQ DCA ,DLA,4,COUNT
8JDB LDN 0 IPWRB(2)
8JY2 DCA ,STO,0,CTSA
8KCL GPERIIPC ,2,CT
8KX= TIPCREP CT,TIME,RESETA,NOPS,WHOOPS
8LBW LDX 0 IPWRB(2)
8LWG ANDN 0 1
8MB6 BNZ 0 NEXTASK [J IF "NO TRANSFER"
8MTQ SETNCORE 2,3,IPCD,ATASK [SET UP TRANSFER TASK
8N*B LDX 0 IPWRB+1(2)
8NT2 STO 0 A1(3)
8P#L LDN 0 2
8PS= STO 0 A1+1(3)
8Q?W ACROSS IPCON,3
8QRG # DEAL WITH NO TRANSFER REPLY
8R?6 PNOTR LDX 0 TMESSCODES+5(1)
8RQQ STO 0 IPWRB(2) [HEADER
8S=B LDX 4 IPREB+1(2)
8SQ2 SRC 4 12
8T9L STO 4 IPWRB+1(2) [LINK IDENTIFIER
8TP= ADX 4 0
8W8W NGS 4 IPWRB+2(2) [CHECKSUM
8WNG LDN 4 3
8X86 BRN TRANR2
8XMQ # THIS SECTION DEALS WITH CLOSE LINK MESSAGE
8Y7B #
8YM2 PCLOSREQ
8^6L ACROSS IPCONC,2
8^L= NEXTASK ACROSS IPCON,1
925W WHOOPS ACROSS IPCONE,1
92KG # OPEN REQUESTED FOR IPC GEORGE LINK
9356 OGR
93JQ LDX 3 IPCPTR(2) [FIND IPC ACTIVITY
944B HUNT2 3,IPCD,IPSTACK [FIND STACK BLOCK
94J2 # SCAN STACK BLOCK FOR SUITABLE MATCH
953L LDX 6 ARINGNO(3)
95H= ANDN 6 #7777 [COUNT OF ENTRIES
962W BZE 6 NOLINK [NONE AT ALL
96GG OGR4 LDX 0 A1+BPTR(3)
9726 BZE 0 OGR1 [NOT ENRINGED
97FQ LDCT 0 #200
97^B ANDX 0 A1+ASTATUS1(3)
98F2 BZE 0 OGR1 [OBJ ROG LINK
98YL LDX 0 A1+ASTATUS2(3)
99D= ANDX 0 TBIT1(1)
99XW BZE 0 OGR1 [ESTABLISHED ALREADY
9=CG LDX 0 A1+ASTATUS1(3)
9=X6 ANDX 0 TBIT2(1)
9?BQ BNZ 0 OGR1 [NOT YET ESTABLISHED
9?WB LDCT 0 #140
9#B2 ANDX 0 A1+ASTATUS2(3)
9#TL BNZ 0 OGR1 [A/R OR JUST DISESTABLISHED
9**= LDX 0 A1+ALTPROG(3)
9*SW ERX 0 IPREB(2)
9B#G ANDN 0 1
9BS6 BZE 0 OGR1 [SAME DIRECTION
9C?Q BXU 2 A1+APTRIPB(3),OGR1
9CRB LDX 1 A1+FPTR(3)
9D?2 # CHECK IF NAMES AGREE
9DQL LDX 0 IPCGNAM-A1(1)
9F== BXU 0 IPREB+2(2),OGR1
9FPW LDX 0 IPCGNAM-A1+1(1)
9G9G BXU 0 IPREB+3(2),OGR1
9GP6 LDX 0 IPCGNAM-A1+2(1)
9H8Q BXU 0 IPREB+4(2),OGR1
9HNB # CHECK IF DETAILS AGREE
9J82 LDCH 4 IPREB(2)
9JML SBN 4 7
9K7= BZE 4 OGR2 [NO DETAILS
9KLW OGR3 SMO 4
9L6G LDX 0 IPCGDET-A1(1)
9LL6 SMO 4
9M5Q TXU 0 IPREB+6(2)
9MKB BCS OGR1 [DETAILS DIFFER
9N52 BCT 4 OGR3 [NEXT WD OF DETAILS
9NJL # LINK ACCEPTABLE - SEND "LINK ESTABLISHED"MESSAGE
9P4= OGR2
9PHW LDX 1 FX1
9Q3G LDX 0 TMESSCODES+8(1)
9QH6 STO 0 IPWRB(2) [HEADER
9R2Q LDX 0 IPREB+1(2)
9RGB SLL 0 12
9S22 ORX 0 A1+ALINUM(3)
9SFL STO 0 IPWRB+1(2) [LINK IDENTIFIER
9S^= STOZ IPWRB+2(2) [NULL "PROGRAM NAME"
9TDW LDN 7 IPWRB(2)
9TYG SUM 6 3
9WD6 NGS 6 IPWRB+3(2)
9WXQ LDN 6 4
9XCB BRN OPR4
9XX2 # TRY NEXT,IF NONE SEND NOLINK
9YBL OGR1 ADN 3 ARECLEN
9YW= BCT 6 OGR4
9^*W BRN NOLINK
9^TG BRN NOLINK
=2*6 # REPLY SENT - MARK LINK ESTABLISHED
=2SQ OGR5 STOZ ASTATUS2(3)
=3#B LDX 0 IPWRB+1(2)
=3S2 STO 0 ALINUM(3) [MARK ESTABLISHED
=4?L INCLINK
=4R= BRN NEXTASK [FINISHED
=5=W # TRANSFERS FOR GEORGE IPC LINKS
=5QG #
=6=6 TGL
=6PQ ACROSS IPCONG,2
=79B #
=7P2 #
=88L MENDAREA 100,K9IPCONA
=8N= #
=97W #
=9MG #END
^^^^ ...32503013000600000000