IPCEN8

(George Source)

Macros used: ACROSS, BBUS, CHECKB, COOR1, FINDACTFB, FINMOVE, FOUTMOVE, FREECORE, GPNS, HUNT2B, ILLEGAL, JENG, LGEOG, LINK, LOCKCA, MENDAREA, OLPFIN, SEG, SEGENTRY, SETUPCORE, TOPCA, TRACE, UNPLUG

IPCEN8.txt
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