{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: IPCEN8)}}
====== IPCEN8 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:BBUS|BBUS]], [[george:macro:CHECKB|CHECKB]], [[george:macro:COOR1|COOR1]], [[george:macro:FINDACTFB|FINDACTFB]], [[george:macro:FINMOVE|FINMOVE]], [[george:macro:FOUTMOVE|FOUTMOVE]], [[george:macro:FREECORE|FREECORE]], [[george:macro:GPNS|GPNS]], [[george:macro:HUNT2B|HUNT2B]], [[george:macro:ILLEGAL|ILLEGAL]], [[george:macro:JENG|JENG]], [[george:macro:LGEOG|LGEOG]], [[george:macro:LINK|LINK]], [[george:macro:LOCKCA|LOCKCA]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:OLPFIN|OLPFIN]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETUPCORE|SETUPCORE]], [[george:macro:TOPCA|TOPCA]], [[george:macro:TRACE|TRACE]], [[george:macro:UNPLUG|UNPLUG]]
22FL ... SEG IPCEN,,KEITH MARTIN
22^= #
23DW #
23YG SEGENTRY K1IPCEN,X1IPCEN
24D6 SEGENTRY K3IPCEN,X3IPCEN
24XQ #
25CB #
25X2 RMAX +512
26BL ONE +1
26W= WMC #20000
27*W PR LINK IPCEN,3
27TG X1IPCEN
28*6 FINDACTFB 3,FX2,APET,,,BPTR
28SQ LOCKCA 3,EVENT2(2),,2 [CA IN HLOCK1 OF OLPA
29#B LDX 7 EVENT4(2)
29S2 ANDN 7 #7777
2=?L ERN 7 #1100 [CHECK MODE
2=R= BZE 7 S1
2?=W ERN 7 #100
2?QG BNZ 7 XMOD
2#=6 ACROSS IPCPERI,1
2#PQ S1 LDX 4 EVENT2(2) [READ IN LENGTH AND START OF
2*9B ADN 4 2 [BUFFER AREA
2*P2 LDN 5 6
2B4P ... LDN 1 2
2BDD ... FOUTMOVE 3,4,5,1,HLOCK1,2,1
2BS7 ... LDX 1 FX1
2C7W SLL 6 1
2CMG LDX 5 6
2D76 SLL 6 1
2DLQ ADX 5 6
2F6B CHECKB 7,5,XRES,3,W,S2,,,K1IPCEN
2FL2 SRL 6 2
2G5L TXL 6 RMAX(1) [CHECK BUFFER SIZE WITHIN LIMITS
2GK= BCC XTMI
2H4W TXL 6 ONE(1)
2HJG BCS XTMI
2J46 S2 LDX 0 ALINAME+1(2) [PREVIOUS ENQUIRY STILL IN PROGRESS?
2JHQ BZE 0 S3
2K3B ... LDN 1 #42 [SET REJECTED RESPONSE
2KH2 BRN RESP [BRANCH TO GIVE RESPONSE
2L2L ...S3 LDN 1 #40 [SET ACCEPTED RESPONSE
2LG= ...RESP SLL 1 18
2L^W LDX 5 EVENT2(2)
2MFG ADN 5 1
2M^6 ... LDN 4 1
2NDQ LDN 2 1
2NYB FINMOVE 3,5,4,2,HLOCK1,,1
2PD2 LDX 2 FX2
2PXL LDX 0 ALINAME+1(2)
2QC= BZE 0 S4
2QWW OLPFIN 3
2RBG BRN K1IPCEN
2RW6 S4 LDN 0 1
2S*Q STO 0 ALINAME+1(2) [SET 'ENQUIRY IN PROGRESS' MARKER
2STB STOZ AWORK4(2)
2T*2 LDX 0 ALINAME(2) [TEST IF PROGRAM Q TRUSTED
2TSL BPZ 0 NT
2W#= #
2WRW # Q TRUSTED PROGRAMS
2X?G HUNT2B 2,IPCD,IPSTACK
2XR6 LDX 0 ARINGNO(2)
2Y2Y ... TRACE 0,IPCEN1
2Y=Q ANDX 0 BSP16 [NO. LINK ELEMENTS IN STACK
2YQB LDX 2 FX2
2^=2 TXU 0 6
2^PL BCC SEQ [J IF NO. LINKS=SIZE OF BUFFER
329= TXL 0 6
32NW BCS SMIT [J IF BUFFER>NO. LINKS
338G LDX 4 GSIGN
33N6 SRL 4 2
347Q STO 4 AWORK4(2) [SET LONG BLOCK BIT IN REPLY
34MB SBX 0 6
3572 ADX 0 AWORK4(2) [SET REMAINDER COUNT
35LL BRN SEQ
366= SMIT SBX 6 0
36KW STO 6 AWORK4(2) [SET REMAINDER COUNT
375G LDX 6 0
37K6 SEQ BNZ 6 SEQ1
384Q FINDACTFB 1,FX2,APET,,,BPTR
38JB ... BRN NI [JUMP IF NO ITEMS TO TRANSFER
3942 SEQ1 SLL 6 1
39HL LDX 5 6
3=3= SLL 6 1
3=GW ADX 5 6 [GET LENGTH OF BUFFER IN WORDS
3?2G SRL 6 2
3?G6 SETUPCORE 5,3,IPCD,ENQUIRY
3?^Q LDN 3 A1(3) [X3=PTR TO ENQUIRY ITEM
3#FB HUNT2B 1,IPCD,IPSTACK,2
3#^2 SA LDX 2 A1(1) [X2=PTR TO LINK'S OLPA
3*DL LDX 0 A1+ASTATUS1(1)
3*Y= SLL 0 1
3BCW ... BNG 0 SB3 [JUMP IF GEORGE LINK
3BXG ... LDX 0 A1+ASTATUS2(1)
3CC6 ... ANDN 0 #40
3CWQ ... BZE 0 SB2 [DROP THR0 IF LINK BEING CLOSED
3DBB ...SB3 ADN 1 ARECLEN [STEP TO NEXT LINK IN IPSTACK
3DW2 SMO FX2
3F*L LDX 0 AWORK4
3FT= SLL 0 2
3G#W BPZ 0 SB
3GSG SLL 0 1
3H#6 SRL 0 3
3HRQ SBN 0 1
3J?B BNZ 0 SB1
3JR2 SMO FX2
3K=L STOZ AWORK4
3KQ= ... BRN SB4
3L9W SB1 LDN 0 1
3LPG SMO FX2
3M96 SBS 0 AWORK4
3MNQ ... BRN SB4
3N8B SB LDN 0 1
3NN2 SMO FX2
3P7L ADS 0 AWORK4
3P?H ...SB4 SBN 6 1 [REDUCE ITEM COUNT
3PCD ... BZE 6 SC [WRAP UP IF ZERO
3PH* ... BRN SA [BACK FOR NEXT LINK
3PM= SB2 SBN 2 ARINGEL
3Q6W SANT LDX 0 AUNNO(2) [STORE UNIT NO. IN ITEM
3QLG SRC 0 6
3R66 STO 0 5(3)
3RKQ LDN 4 ALINAME(2) [PUT LINKNAME IN ITEM
3S5B LDN 5 2(3)
3SK2 MOVE 4 3
3T4L GPNS 4,5
3TJ= STO 4 0(3)
3W3W STO 5 1(3)
3WHG BNZ 5 S6 [J IF LINK ESTABLISHED
3X36 LDX 4 AREQPR(2)
3XGQ BRN S9
3Y2B S6 LDX 4 IPPROPS(2)
3YG2 LDN 0 #777
3Y^L SLL 0 6
3^F= ... ANDX 4 0 [GET PROPS OF LINK
3^YW LDN 0 #4000
42DG SLL 0 3
42Y6 ERX 4 0
43CQ SMO FX1
43XB LDX 0 WMC
44C2 ... TXU 4 0 [JUMP IF WMC
44WL BCC S10
45B= ... JENG ,S7 [LINK OPERABLE?
45TW BRN S8
46*G S7 LDN 5 1
46T6 ... SRC 5 7 [MARK OPERABLE IN ENQUIRY BLOCK
47#Q ADS 5 5(3)
47SB S8 LGEOG ,5 [GET GEOGRAPHIC NO.
48#2 ADS 5 5(3)
48RL S9 BBUS 9,4,S10 [J IF B9 OF PROPERTIES UNSET
49?= LDN 5 #74
49QW SLL 5 9
4==G ERX 4 5
4=Q6 S10 SLL 4 2
4?9Q ADS 4 5(3) [STORE PROPERTY BITS
4?PB SMO FX2
4#92 LDX 0 ALINAME
4#NL BPZ 0 SNEXT [J IF NOT TRUSTED
4*8= SBN 6 1
4*MW BZE 6 SC
4B7G ... ADN 3 6 [MOVE POINTER TO NEXT ITEM
4BM6 ... ADN 1 ARECLEN [GET PNTR TO NEXT LINKS OLPA
4C6Q BRN SA
4CLB # TRANSFER ITEMS TO PROGRAM AND SET REPLY
4D62 SC HUNT2B 3,IPCD,ENQUIRY,FX2
4DKL LDN 6 A1(3)
4F5= LDX 5 ALOGLEN(3) [LENGTH OF BLOCK
4FJW SMO FX2
4G4G LDX 0 AWORK4 [REPLY
4GJ6 SLL 0 2
4H3Q BNG 0 NX [LONG B3OCK
4HHB SRL 0 2
4J32 ANDN 0 #777 [ITEMS NOT USED
4JGL SLL 0 1
4K2= SBX 5 0
4KFW ... SLL 0 1
4K^G SBX 5 0 [ADJUST COUNT
4L9# ...NX
4LF6 FINDACTFB 1,FX2,APET,,,BPTR
4LYQ FINMOVE 1,7,6,5,HLOCK2
4MDB LDX 6 1
4MY2 FREECORE 3
4NCL LDX 1 6
4NX= NI LDX 2 FX2
4PBW LDX 5 EVENT2(2)
4PWG ADN 5 1
4QB6 LDN 4 AWORK4(2)
4QTQ LDN 6 1
4R*B FINMOVE 1,5,4,6,HLOCK1,2,1
4RT2 STOZ ALINAME+1(2) [UNSET 'TRANFER IN PROGRESS' MARKER
4S#L OLPFIN 1
4SS= BRN K1IPCEN
4T?W #
4TRG # PROGRAMS NOT Q TRUSTED
4W?6 NT SLL 6 1
4WQQ LDX 5 6
4X=B SLL 6 1
4XQ2 ADX 5 6
4Y9L SRL 6 2
4YFD ... TRACE 6,IPCEN2
4YP= # GET ENQUIRY BLOCK
4^8W SETUPCORE 5,3,IPCD,ENQUIRY
4^NG ADN 3 A1-6
5286 HUNT2B 1,APERI,APERIRES,FX2
52MQ LDN 1 A1-2(1)
537B # LOOK DOWN PRB FOR LINK BELONGING TO PROGRAM
53M2 SNEXT
546L ADN 1 2
54L= LDX 0 0(1)
555W TXU 0 GSIGN
55KG BCC SNMR [J IF NO MORE PERIPHERALS
5656 SRL 0 15
56JQ SBN 0 #34
574B BNZ 0 SNEXT [J IF NOT IPC
57J2 LDX 2 1(1)
583L SBN 2 CHAINADD
58H= LDX 4 ALINDIR(2)
592W SBN 4 #1700
59GG BZE 4 SNEXT [J IF ENQUIRY FILE
5=26 SBN 6 1
5=FQ BNG 6 SNEXT [COUNT NO.OF LINKS MORE THAN ITEMS
5=^B ADN 3 6 [UPDATE PTR TO ENQUIRY BLOCK
5?F2 BRN SANT
5?YL SNMR LDX 2 FX2
5#D= BNG 6 SLBL [J IF LONGBLOCK REPLY NEEDED
5#XW BZE 6 SC [J IF NO REMAINDER COUNT
5*CG ADS 6 AWORK4(2)
5*X6 HUNT2B 3,IPCD,ENQUIRY,FX2
5BBQ LDX 5 ALOGLEN(3) [CHECK IF ANY ITEMS TO TRANSFER
5BWB SLL 6 1
5CB2 SBX 5 6
5CTL SLL 6 1
5D*= SBX 5 6
5DSW BNZ 5 SC
5F#G FINDACTFB 1,FX2,APET,,,BPTR
5FS6 BRN NI
5G?Q SLBL LDX 4 GSIGN
5GRB SRL 4 2
5H?2 STO 4 AWORK4(2) [SET 'LONG BLOCK' BIT IN REPLY
5HQL NGX 0 6
5J== ADS 0 AWORK4(2)
5JPW BRN SC [BR TO TRANSFER ITEMS & SET REPLY
5K9G #
5KP6 # CODE TO GIVE ILLEGAL REPLIES
5L8Q XMOD LDN 6 0
5LNB BRN XE
5M82 XRES LDN 6 1
5MML BRN XE
5N7= XTMI LDN 6 2
5NLW XE STO 3 7
5P6G TOPCA PR(1)
5PL6 COOR1
5Q5Q BRN K1IPCEN
5QKB X3IPCEN
5R52 UNPLUG
5RJL SMO 6
5S4= BRN X
5SHW X ILLEGAL MODE
5T3G ILLEGAL NOBUF
5TH6 ILLEGAL COUNT
5W2Q #
5XFL #
5X^= #
5YDW #
5YYG MENDAREA 100,K2IPCEN
5^D6 #
5^XQ #
62CB #END
^^^^ ...72171472001100000000