{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: IPCOND864)}}
====== IPCOND864 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:BXE|BXE]], [[george:macro:BXL|BXL]], [[george:macro:CCBB|CCBB]], [[george:macro:CHAIN|CHAIN]], [[george:macro:CIPCM|CIPCM]], [[george:macro:CLEAR|CLEAR]], [[george:macro:COOR1|COOR1]], [[george:macro:DECLINK|DECLINK]], [[george:macro:DEMAND|DEMAND]], [[george:macro:DESUSPEND|DESUSPEND]], [[george:macro:DOWN|DOWN]], [[george:macro:FINDACTFB|FINDACTFB]], [[george:macro:FINMOVE|FINMOVE]], [[george:macro:FPUT|FPUT]], [[george:macro:FPUTCHA|FPUTCHA]], [[george:macro:FREECORE|FREECORE]], [[george:macro:FSHCODE|FSHCODE]], [[george:macro:FSHSKIP|FSHSKIP]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GETACT|GETACT]], [[george:macro:HUNT2|HUNT2]], [[george:macro:HUNT2OPT|HUNT2OPT]], [[george:macro:HUNTW|HUNTW]], [[george:macro:JDISENG|JDISENG]], [[george:macro:JIPCM|JIPCM]], [[george:macro:JIPCMC|JIPCMC]], [[george:macro:JRESET|JRESET]], [[george:macro:LGEOG|LGEOG]], [[george:macro:LINKSET|LINKSET]], [[george:macro:LONGON|LONGON]], [[george:macro:LONGSET|LONGSET]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:OPB|OPB]], [[george:macro:OPC|OPC]], [[george:macro:OUTNUM|OUTNUM]], [[george:macro:PAIR|PAIR]], [[george:macro:RESTART|RESTART]], [[george:macro:RINGACT|RINGACT]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SIPCM|SIPCM]], [[george:macro:SREP|SREP]], [[george:macro:SUICIDE|SUICIDE]], [[george:macro:TICKLE|TICKLE]], [[george:macro:TRACE|TRACE]]
22FL SEG IPCOND,,JOHN BAILEY
22^= #
23DW SEGENTRY K1IPCOND,X1IPCOND
23YG SEGENTRY K2IPCOND,X2IPCOND
24D6 #
24XQ # STORED WORDS
25CB XOOX #40000001
25X2 RNINE #02400000
26BL RESBITS #777700
26W= TBIT1 #20000000
27*W TIPBACT +IPCA+IPCBX
27TG XERR +4 [MAX NR OF ERRORS ALLOWED
28*6 TMESSCODES #04000040
28SQ #04000041
29#B #04000042
29S2 #04000043
2=?L #04000046
2=R= #03000047
2?=W #07000060
2?QG #07000061
2#=6 #04000066
2#PQ #03000067
2*9B #02000070
2*P2 #02000071
2B8L #03000077
2BN= # SUBROUTPNE TO LOCATE LINK ELEMENTS IN STACK
2C7W # GIVEN THE LINK IDENTIFIER IN ACOMMUNE1(2) [X2 MUDT = FX2
2CMG # ADDRESS IS LEFT IN X3. LINK IS X7. ON EXIT X1=FX1
2D76 #
2DLQ SREL LDX 3 IPCPTR(2) [FIND IPC ACTIVITY
2F6B HUNT2 3,IPCD,IPSTACK [FIND STACK BLOCK
2FL2 LDX 1 ARINGNO(3)
2G5L ANDN 1 #7777
2GK= BZE 1 SFR1 [STACK EMPTY
2H4W ADN 3 A1
2HJG SFR3 LDX 0 ALINUM(3)
2J46 BXE 0 ACOMMUNE1(2),SFR2
2JHQ ADN 3 ARECLEN
2K3B BCT 1 SFR3
2KH2 SFR1 NGN 3 1
2L2L SFR2 LDX 1 FX1
2LG= EXIT 7 0
2L^W # SUBROUTINE USED TO SET OBJECT PROGRAM REPLIES
2MFG #
2M^6 SREP
2NDQ LDX 3 ACOMMUNE1(2)
2NYB STO 4 ACC4(2)
2PD2 STO 5 ACC5(2)
2PXL STO 7 ACC7(2)
2QC= LDX 5 AREPPTR(3)
2QWW LDX 3 FPTR(3)
2RBG SBN 3 ARINGEL [ADDRESS OF AOLPT
2RW6 #SKI G3
2S*Q FINDACTFB 3,,APET,,,BPTR [ADDRESS OF AOLPTS PCA
2STB #SKI IPCG4
2T*2 HUNT2 2,ADATA,HLOCKDOWN,3
2TSL SMO FX2
2W#= LDN 4 ACOMMUNE2
2WRW LDN 7 1
2X?G FINMOVE 3,5,4,7,HLOCKB1,2,1
2XR6 LDX 2 FX2
2Y=Q LDX 4 ACC4(2)
2YQB LDX 5 ACC5(2)
2^=2 LDX 7 ACC7(2)
2^PL LDX 3 ACOMMUNE1(2)
329= NGNC 0 2
32NW ANDS 0 ASTATUS1(3)
338G STOZ ATIMCT(3)
33N6 STOZ ASTR(3)
347Q STOZ ALENTR(3)
34MB STOZ AREPPTR(3)
3572 LDX 0 ASTMEL(3)
35LL STO 0 AWORK4(2)
366= STOZ ASTMEL(3)
36KW LDX 3 FPTR(3)
375G SBN 3 ARINGEL
37K6 #SKI IPCG4
384Q (
38JB HUNT2 2,ADATA,HLOCKDOWN,3
3942 CLEAR APETADDR(3),0,HLOCKB1,2,2
39HL LDX 2 FX2
3=3= )
3=GW CCBB 3
3=P6 ... STO 5 ACC5(2)
3=XB ... LDX 5 AWORK4(2)
3?5L ... TICKLE JOBNO(3),5
3??W ... LDX 5 ACC5(2)
3?G6 LDX 3 ARINGEL(3)
3?^Q EXIT 6 0
3#FB # S/R TO WAIT FOR RESET STATUS TO CLEAR
3#^2 # LINK IS CONTAINED IN X7
3*DL # EXITS+2 WHEN RESET CLEAR,EXITS+1 IF TIMED-OUT,EXITS IF INOPERABLE
3*Y= # ON ENTRY : X1=FX1,X2=FX2=ADDRESS OF APPROPRIATE IPCA/IPCBX
3BCW #
3BXG SWRC SBX 7 FX1
3CC6 LDX 0 CLEANCT
3CWQ ADN 0 5000/K9
3DBB STO 0 IPCPTIME(2) [TIME LIMIT
3DW2 SIPCM RW ["WAITING FOR RESET CLEAR"
3F*L SW1 LDX 0 XOOX(1)
3FT= STO 0 CHAINADD(2) [READY FOR EVENT
3G#W JDISENG ,SW2 [GONE INOPERABLE
3GSG JIPCM TO,SW3 [WAITING TOO LONG
3H#6 JRESET ,SW4 [RESET STATUS STILL SET
3HRQ SW6 CIPCM RW
3J?B STOZ IPCPTIME(2)
3JR2 NGNC 0 1
3K=L ANDS 0 CHAINADD(2)
3KQ= LDX 0 CHAINADD(2)
3L9W SBN 0 1
3LPG BZE 0 SW5
3M96 COOR1
3MNQ SW5 ADX 7 FX1
3N8B EXIT 7 2
3NN2 SW4 COOR1
3P7L BRN SW1
3PM= SW3 CIPCM TO
3Q6W SBN 7 1
3QLG SW2 SBN 7 1
3R66 BRN SW6
3RKQ # THIS SECTION CLEARS AWAY TASKS ASSOCIATED WITH AN
3S5B # IPB & DISESTABLISHES LINKS THROUGH THE IPB.
3SK2 # IT IS USED WHEN AN INITIALISE SEQUENCE IS INITIATED FROM
3T4L # THE OTHER END,AND WHEN DIALOGUE IS SUSPENDED BY THIS END
3TJ= # IT IS A SUBROUTINE,LINK IN X5.
3W3W #
3WHG SCLR SBX 5 FX1 [DISLOCATE LINK
3WR# ... LDX 2 FX2
3X36 SCL3 HUNTW 3,IPCD,ATASK
3XGQ BNG 3 SCL1
3Y2B LDX 0 A1+1(3)
3YG2 SBN 0 1
3Y^L BZE 0 SCL2 [OPEN
3^F= SBN 0 2
3^YW BNZ 0 SCL13
42DG LDX 0 A1(3)
42Y6 STO 0 IPWRB+1(2)
43CQ DOWN IPCONC,20 [GET RID OF CLOSE TASK
43XB BRN SCL3
44C2 SCL13 SBN 0 2
44WL BZE 0 SCL10 [OPEN OFR GEORGE
45B= SCL5 FREECORE 3
45TW BRN SCL3
46*G SCL2 LDX 0 A1(3)
46T6 STO 0 ACOMMUNE1(2)
47#Q DOWN IPCONB,2
47SB BRN SCL3
48#2 SCL4 HUNTW 3,IPCD,ATASK
48RL BRN SCL5
49?= SCL10 LDX 0 A1(3) [OPEN TASK FOR GEORGE LINK
49QW STO 0 ACOMMUNE1(2)
4==G CALL 7 SREL
4=Q6 LDCT 0 #10
4?4H ... ERX 0 ASTATUS2(3) [REMOVE OPEN PROGRESS
4?BY ... ANDS 0 ASTATUS2(3)
4?PB BRN SCL4
4#92 # HAVING CLEARED THE TASK QUEUE,WE NOW DISESTABLISH ALL
4#NL # LINKS THROUGH THE IPB
4*8= SCL1 LDX 3 IPCPTR(2)
4*MW HUNT2 3,IPCD,IPSTACK
4B7G LDX 7 ARINGNO(3)
4BM6 ANDN 7 #7777
4C6Q BZE 7 SCLEX
4CLB ADN 3 A1
4D62 SCL6 LDX 0 ASTATUS2(3)
4DKL SLL 0 1
4F5= BNG 0 SCL7 [NOT ESTABLISHED
4FJW LDX 0 APTRIPB(3)
4G4G TXU 0 FX2 [THROUGH THIS IPB,SO DISESTABLISH
4GJ6 BCC SCL8A
4H3Q SCL7 ADN 3 ARECLEN
4HHB BCT 7 SCL6 [DO NEXT
4J32 SCLEX ADX 5 FX1 [FINISHED
4JGL EXIT 5 0
4K2= # LINK TO BE DISESTABLISHED
4KFW SCL8A LDX 0 BPTR(3)
4K^G BZE 0 SCL7
4LF6 SCL8 LDX 0 ASTATUS1(3)
4LYQ ANDN 0 1
4MDB LDCT 6 #100
4MY2 BZE 0 SCL9 [NO TRANSFER STORED
4NCL LDCT 0 #200
4NX= ANDX 0 ASTATUS1(3)
4PBW BNZ 0 SCL11 [GEORGE LINK
4PWG LDX 0 RNINE(1)
4QB6 STO 0 ACOMMUNE2(2)
4QTQ STO 3 ACOMMUNE1(2)
4R*B CALL 6 SREP [SET DISESTABLISHED REPLY
4RT2 SCL12
4S#L LDCT 6 #40
4SS= SCL9 ORS 6 ASTATUS2(3)
4T?W LDX 0 TBIT1(1)
4TRG ERS 0 ASTATUS2(3) [MARK DISESTABLISHED
4W?6 LDN 0 #7777
4WQQ ANDS 0 ALINUM(3)
4X=B LDCT 0 #200
4XQ2 ANDX 0 ASTATUS1(3)
4Y9L BNZ 0 SCL9A
4YP= STOZ APTRIPB(3)
4^8W SCL9A DECLINK
4^NG BRN SCL7
5286 SCL11 LDX 0 RNINE(1) [SET REPLY FOR GEORGE LINK
52MQ SMO FPTR(3)
537B STO 0 IPCGREP-IPCRNG
53M2 STO 7 6
546L CALL 7 SLACT
54L= STO 6 7
555W DESUSPEND
55KG NGNC 0 2
5656 ANDS 0 ASTATUS1(3)
56JQ ANDS 0 ASTATUS2(3)
574B STOZ ATIMCT(3)
57J2 STOZ ASTR(3)
583L STOZ ALENTR(3)
58H= STOZ AREPPTR(3)
592W STOZ ASTMEL(3)
59GG BRN SCL12
5=26 # S/R TO LOCATE GEORGE ACTIVITY OWNING LINK WHOSE ENTRY
5=FQ # IS POINTED TO BY X3.
5=^B SLACT LDX 2 FPTR(3)
5?F2 SBN 2 IPCRNG [CONTROL BLOCK
5?YL SLACT1
5#D= LDX 2 BPTR(2)
5#XW LDX 0 ATYPE(2)
5*CG BXL 0 CACT,SLACT1
5*X6 EXIT 7 0
5BBQ # DEAL WITH IPB INOPERABLE
5BWB #
5CB2 #
5CTL X1IPCOND
5D*= LDX 3 2
5DSW Q2 HUNT2OPT 3,IPCD,ATASK
5F#G BNG 3 NOP
5FS6 LDX 0 A1+1(3)
5G?Q SBN 0 1
5GRB BNZ 0 Q2
5H?2 CHAIN 3,2
5HQL LDX 0 A1(3)
5J== STO 0 ACOMMUNE1(2)
5JPW DOWN IPCONB,2
5K9G ... BRN X1IPCOND
5KP6 NOP GETACT IPCA,IPCOP [SET UP OPERATOR COMM ACTIVITY
5L8Q TRACE IPWRB(2),IPCONE6
5LNB LDX 3 BPTR(2)
5M82 LDX 4 CPPTR(2)
5MML LONGSET IPCEB,NOPE,4,3
5N7= STO 2 ACC3(3) [ADDRESS OF
5NLW LINKSET 3,OPLNK(1) [SET LINK TO IPCOND,2
5P6G SMO IPCPTR(2)
5PL6 LDX 2 ACTRING
5Q5Q SBN 2 ACTRING
5QKB RINGACT 3,2
5R52 LDX 2 3
5RJL FPUT [START OP COMM ACTIVITY
5S4= NOP1 LDX 0 XOOX(1)
5SHW STO 0 CHAINADD(2)
5T3G JDISENG ,NOP2
5TH6 NGNC 0 1
5W2Q ANDS 0 CHAINADD(2)
5WGB LDX 0 CHAINADD(2)
5X22 SBN 0 1
5XFL BZE 0 NOP3
5X^= NOP2 COOR1
5YDW NOP3 JIPCM CD,NOP4
5YYG NOP5 JDISENG ,NOP1
5^D6 LDX 0 CPRW1(2) [TEST IF PERI STILL UP
5^XQ BNG 0 NOP7
62CB LDX 0 CPRW2(2)
62X2 BNG 0 NOP7
63BL NOP9 JIPCM CD,NOP10
63W= LONGON IPCEB,CPPTR(2) [WAKE UP OP COMM ACTIVITY
64*W JIPCM DS,RESTART
64TG JIPCMC SI,WHOOPS
65*6 BRN NEXTASK
65SQ NOP7 LDX 0 XOOX(1)
66#B STO 0 CHAINADD(2)
66S2 LDX 0 CPRW1(2)
67?L BNG 0 NOP8
67R= LDX 0 CPRW2(2)
68=W BPZ 0 NOP9 [PERI NOW FINISHED
68QG NOP8 COOR1
69=6 BRN NOP7
69PQ NOP4 CALL 5 SCLR
6=9B BRN NOP5
6=P2 NOP10 CIPCM CD
6?8L SIPCM SM
6?N= BRN RESTART
6#7W NOPE GEOERR 1,IPCONE2
6#MG OPLNK PAIR IPCOND,2
6*76 # OUTPUT REQUEST TO ENGAGE IPB
6*LQ #
6B6B X2IPCOND
6BL2 LGEOG CPPTR(3),5
6C5L OUTNUM 5,0
6C6P ... FSHCODE B,XNOTINB
6C7S ...(
6C8X ...# IN THE 'B' MACHINE, WE MUST ENSURE THAT THE REQUEST FOR
6C=2 ...# ENGAGEMENT OF THE IPB IS SENT TO THE 'B' MACHINE CONSOLE
6C?5 ...#
6C#8 ...# THIS IS DONE BY USING A VERSION OF THE 'PLEASE ENGAGE...' MESSAGE
6C*? ...# THAT IS PREFIXED BY THE STRING 'BBBB'
6CBB ...#
6CCF ... DEMAND 1,FSHJMARY,OPC,OPB,OPRB,2,0
6CDJ ...XNOTINB
6CFM ...)
6CGQ ... FSHSKIP B,XSKIPINB
6CHT ...(
6CK= DEMAND 1,JMARY,OPC,OPB,OPR,2,0
6CQD ...XSKIPINB
6CXL ...)
6D4W JDISENG CPPTR(3),OPX [NOT OPERABLE
6DJG OPE SUICIDE
6F46 OPB GEOERR 1,IPCONE3
6FHQ OPC SIPCM CD,3
6GH2 SIPCM DS,3
6GQS ... LDX 3 CPPTR(3)
6H2L FPUTCHA 3
6HG= BRN OPE
6H^W OPX LONGSET IPCEB,OPB,CPPTR(3)
6J9N ... FSHCODE B,XXA
6JFG ... BRN OPRB [IF WE ARE IN B MACHINE
6JKC ... FSHSKIP B,XXB
6JP# ...XXA BRN OPR [IF WE ARE IN A MACHINE
6JT9 ...XXB
6J^6 NEXTASK ACROSS IPCON,1
6KDQ RESTART
6KYB CALL 5 SCLR
6LD2 ACROSS IPCSTART,5
6LXL WHOOPS
6MC= ACROSS IPCONE,1
6MWW MENDAREA 1023-0?,K9IPCOND
6NBG #END
^^^^ ...52301012000500000000