IPQUAKER865

(George Source)

Macros used: ACROSS, BXGE, BXL, BXU, CCBB, CLEARALL, COOR3, COOR4, DESUSPEND, DFCLEAR, EMPTY, FINDACTFB, FINMOVE, FPUTCHA, FREECORE, GEOERR, HUNT2, HUNT2OPT, JDISENG, JENG, JIPCM, JSBUSY, MENDAREA, MHUNT, QTASK, R, SEG, SEGENTRY, SIPCM, SUBRELT, TICKLE, TRACE

IPQUAKER865.txt
22FL ...      SEG      IPQUAKER,,KEITH MARTIN   
22^=    #   
23DW     SEGENTRY   K1IPQUAKER,X1IPQUAKER   
23YG    #   
24D6    PMASK       #77777  
24XQ    QTASK          #15010000
25CB    X1IPQUAKER  
25X2    P1    MHUNT    3,IPCD,IPSTACK   
26BL          LDX   4  CLEANCT             [TIME INTERRUPT DUE? 
26W=          SBX   4  IPCLNCT(2)          [CONTAINS TIME OF LAST INTERRUPT 
27*W          LDN   5  FONINTP*1000/K9  
27TG          TXL   4  5
28*6          BCS      Z1   
28SQ          LDX   4  CLEANCT  
29#B          STO   4  IPCLNCT(2)          [NOTE TIME OF THIS INTERRUPT 
29*3 ...PCLOS4  
29*4 ...      LDX   4  ALTSTACK(2)  
29*5 ...      BZE   4  PCLOS3   
29*6 ...      COOR3    #41  
29*7 ...      BRN      PCLOS4   
29*8 ...PCLOS3  
29*9 ...      LDN   4  1
29*= ...      STO   4  ALTSTACK(2)  
29*? ...      MHUNT    3,IPCD,IPSTACK   
29*# ...#   
29*L ...#              REMOVE ANY LINKS THAT HAVE BEEN CLOSED   
29*Y ...#   
29B= ...      STO   3  AWORK1(2)
29BJ ...PCLOS7  
29BW ...      LDX   7  ARINGNO(3)   
29C8 ...      ANDX  7  PMASK(1) 
29CG ...      BZE   7  PCLOSEND 
29CS ...      LDN   3  A1(3)
29D6 ...#   
29DD ...#              SEE IF THIS LINK WAITING TO BE CLOSED
29DQ ...PCLOS8  
29F4 ...      LDN   0  #40  
29FB ...      ANDX  0  ASTATUS2(3)  
29FN ...      BZE   0  PNOCLOS  
29G2 ...#   
29G# ...#              CANT DO IF OPEN IN PROGRESS  
29GL ...      LDCT  0  #010 
29GY ...      ANDX  0  ASTATUS2(3)  
29H= ...      BNZ   0  PNOCLOS  
29HJ ...#   
29HW ...#              UPDATE LOWEST LINK NO AND SUBRELT
29J8 ...      LDX   6  ALINUM(3)
29JG ...      ANDN  6  #7777
29JS ...      LDX   0  FRELINUM(2)  
29K6 ...      BZE   0  PCLOS1   
29KD ...      BXGE  6  0,PCLOS2 
29KQ ...PCLOS1  
29L4 ...      STO   6  FRELINUM(2)  
29LB ...PCLOS2  
29LN ...      EMPTY    FPTR(3)  
29M2 ...      TRACE    3,LINKCLOS   
29M# ...      SUBRELT  3
29ML ...      BCT   7  PCLOS8   
29MY ...      BRN      PCLOSEND 
29N= ...#   
29NJ ...#   
29NW ...PNOCLOS 
29P8 ...      ADN   3  ARECLEN  
29PG ...      BCT   7  PCLOS8   
29PS ...#   
29Q6 ...#   
29QD ...PCLOSEND
29QQ ...      LDX   3  AWORK1(2)
29QX ...      STOZ     ALTSTACK(2)  
29S2          LDX   7  ARINGNO(3)   
2=?L          ANDX  7  PMASK(1) 
2=R=          BZE   7  Z1   
2?=W          LDN   3  A1(3)
2?QG          LDN   0  1
2#=6          ADS   0  IPCERTM(2)   
2#PQ          TRACE    7,IQRECNO
2*9B    # CHECKS EACH LINK FOR STORED TRANSFERS, REMOVES ANY WHICH HAVE REACHED 
2*P2    # THE END OF THEIR WAITING TIME, GIVES 'TIMED OUT' REPLY AND RESTARTS   
2B8L    # THE PROGRAM   
2BN=    PLOOP LDX   4  ATIMCT(3)
2C7W          BZE   4  P6                  [BRANCH IF NO TIMEOUT COUNT  
2CMG          SBN   4  1                   [SUBTRACT 1 FROM COUNT   
2D76          STO   4  ATIMCT(3)
2DLQ          BNZ   4  P6                  [J IF NOT TIMED OUT  
2F6B          LDX   4  ASTATUS1(3)  
2FL2          ANDX  4  GSIGN
2G5L          BNZ   4  P6   
2GK=          LDN   5  1
2H4W          STO   3  6
2HJG          LDX   4  ASTATUS2(3)  
2J46          SLL   4  1
2JHQ          BPZ   4  PA   
2K3B          ERS   0  ASTATUS1(3)  
2KH2          BRN      PR1  
2L2L    PA    LDX   4  ASTATUS1(3)  
2LG=          ANDN  4  7
2L^W          TXU   4  0
2MFG          BCS      P2   
2M^6          ERS   0  ASTATUS1(3)         [REMOVE TRANSFER STORED MARKER   
2NDQ          LDX   0  ASTATUS1(3)  
2NYB          SLL   0  1
2PD2          BNG   0  PAX  
2PXL          LDX   3  BPTR(3)  
2QC=          BRN      PR1A 
2QWW    P2    LDX   4  ASTATUS2(3)  
2RBG          ANDN  4  7
2RW6          TXU   4  0
2S*Q          BCS      P6   
2STB          LDN   5  0                   [SET REQUEST TIMED OUT MARKER
2T*2          ERS   0  ASTATUS2(3)         [REMOVE REQUEST STORED MARKER
2TSL    #SKIP IPCV4 
2W#=    (   
2WRW    PR1   LDX   0  ASTATUS1(3)  
2X?G          SLL   0  1
2XR6          BNG   0  PG   
2Y=Q          LDX   3  FPTR(3)             [GET POINTER TO RELEVANT AOLPT   
2YQB    )   
2^=2    #SKIP IPCV4<1$1 
2^PL    PR1   LDX   3  FPTR(3)             [GET PTR TO RELEVANT AOLPT   
329=    PR1A  SBN   3  ARINGEL  
32NW          STO   3  2
338G          FINDACTFB   3,,APET,,,BPTR
33N6          LDN   0  0
347Q          SMO      6
34MB          LDX   4  ASTATUS2 
3572          SLL   4  1
35LL          BPZ   4  P4                  [J IF LINK ESTABLISHED   
366=          ADN   0  4
36KW          SLL   4  3
375G          BPZ   4  P4   
37K6          LDN   5  #2100
384Q          SLL   5  9
38JB          SMO      6
3942          ERS   5  ASTATUS2 
39HL          ADN   0  #4002
3=3=    P4    SMO      6
3=GW          LDX   1  APTRIPB  
3?2G ...      BZE   1  P5B  
3?G6          STO   0  5
3?^Q          JENG     CPPTR(1),P4A 
3#FB          SMO      FX2  
3#^2          STO   2  AWORK2   
3*DL    P4B   HUNT2OPT   1,IPCD,ATASK   
3*Y=          BNG   1  P4C  
3BCW          LDX   0  A1(1)
3BXG          SMO      6
3CC6          TXU   0  ALINUM   
3CWQ          BCS      P4B  
3DBB          LDX   0  A1+1(1)  
3DW2          ANDN  0  1
3F*L          BNZ   0  P4B  
3FT=          LDX   4  BPTR(1)  
3G#W          FREECORE 1
3GSG          LDX   1  4
3H#6          BRN      P4B  
3HRQ    P4C   SMO      FX2  
3J?B          LDX   2  AWORK2   
3JR2          LDX   0  5
3K=L          BRN      P5   
3KQ=    P4A 
3L9W          LDX   0  5
3LPG ...P5B   ADN   0  #230 
3M96          BRN      P5A  
3MNQ    P5    ADN   0  #220 
3N8B    P5A   SLC   0  15   
3NN2          SMO      6
3P7L          LDX   5  AREPPTR  
3PM=    #SKI G3 
3Q6W          LDN   4  0
3QLG    #SKI G4 
3R66    (   
3RKQ          LDN   4  7
3S5B          SMO      FX2  
3SK2          STO   7  AWORK3   
3T4L          LDX   7  0
3TJ=    )   
3W3W          LDN   1  1
3WHG    #SKIP IPCG4 
3X36          HUNT2    3,ADATA,HLOCKDOWN,2 [FIND LOCKDOWN BLOCK AFTER OLPA  
3XGQ          FINMOVE  APETADDR(2),5,4,1,HLOCKB1,3,1
3Y2B    #SKIP IPCG4 
3YG2 ...      CLEARALL APETADDR(2),0,3    [FREE ALL LOCKS   
3Y^L          CCBB     2
3^F=          SMO      6
3^YW          LDX   5  ASTMEL   
42DG          TICKLE   JOBNO(2),5   
42Y6    #SKI G4 
43CQ          LDX   7  AWORK3(2)
43XB    #SKIP IPCV4 
44C2    P8  
44WL          LDN   0  1
45B=          STO   0  AWORK4(2)           [SET 'ACTION TAKEN' MARKER   
45TW          TRACE    0,IQTICK 
46*G          LDX   3  6
46T6    P6    SBN   7  1                   [[SUBTRACT 1 FROM NO. LINKS  
47#Q          BZE   7  P7                  [BRANCH IF NO MORE LINKS 
47SB          ADN   3  ARECLEN             [MOVE PTR TO NEXT RECORD 
48#2          BRN      PLOOP
48RL    #SKIP IPCV4 
49?=    (   
49QW    #     SET UP REPLY IF GEORGE LINK   
4==G    PG    NGNC  6  1
4=Q6    PAX   LDN   6  #44  
4?9Q          LDX   2  APTRIPB(3)   
4?PB          JDISENG  CPPTR(2),PG1 
4#92          ORN   6  2                   [MARK OPERABLE   
4#NL    PG1   LDX   0  ASTATUS2(3)  
4*8=          SLC   0  4
4*MW          LDXC  0  0
4B7G          BCC      PG2                 [J UNLESS FAIL IN OPENING
4BM6          ORN   0  1
4C6Q          SRC   0  4
4CLB          STO   0  ASTATUS2(3)         [SET AUTOMATIC RE-ESTABLISHMENT  
4D62          ORX   6  GSIGN               [MARK FAIL   
4DKL          ORN   6  #1000               [4   
4F5=    PG2   SRC   6  7                   [COMPLETED REPLY 
4FJW    #     STORE REPLY AND DESUSPEND ACTIVITY OWNING LINK
4G4G          LDX   2  FPTR(3)  
4GJ6          SBN   2  IPCRNG              [POINTER TO LINK CONTROL BLOCK   
4H3Q          STO   6  IPCGREP(2)   
4HHB          LDX   6  3
4J32    PG3   LDX   2  BPTR(2)             [FIND ACTIVITY   
4JGL          LDX   0  ATYPE(2) 
4K2=          BXL   0  CACT,PG3 
4KFW          DESUSPEND                    [KICK IT 
4KH? ...      LDX   1  APTRIPB(3)       [IPCBX  
4KJN ...PG4   HUNT2OPT  1,IPCD,ATASK      [LOOK FOR TASK BLOCK  
4KL5 ...      BNG   1  P8                    [JUMP IF NONE  
4KMG ...      LDX   0  A1(1)
4KNX ...      TXU   0  ALINUM(3)             [IS IT THIS LINK NO.   
4KQ# ...      BCS      PG4                   [JUMP IF NOT   
4KRP ...      LDX   0  A1+1(1)  
4KT6 ...      ANDN  0  1
4KWH ...      BNZ   0  PG4                   [JUMP IF TRANSFER TASK 
4KXY ...      FREECORE     1                 [FREE TASK BLOCK   
4K^G          BRN      P8                  [NEXT
4LF6    )   
4LYQ    #     TEST IF TIME TO CLEAR ERROR COUNTS
4MDB    P7  
4MY2          LDN   4  0
4NCL          LDX   0  IPCERTM(2)   
4NX=          SBN   0  76   
4PBW          BNG   0  R
4PWG          STOZ     IPCERTM(2)   
4QB6          LDN   4  1                   [COUNTS TO BE CLEARED
4QTQ    #     TEST IF IPB TO BE TIMED-OUT   
4R*B    R     LDX   6  APROPRES(2)  
4RT2    R1    BZE   6  R2                  [IF NONE,SERVICE TASK
4S#L          LDX   5  6                   [COPY COUNT  
4SS=          LDN   3  ACTRING(2)          [POINTER TO ACTIVITY RING
4T?W    R3    LDX   3  BPTR(3)             [STEP ALONG ACT RING 
4TRG          BCT   5  R3   
4W?6          SBN   3  ACTRING             [BEGINNING OF BLOCK  
4WQQ          LDX   0  ATYPE(3) 
4X=B          SRL   0  12   
4XQ2          SBN   0  IPCA+IPCBX   
4Y9L          BZE   0  R4                  [IPCBX ACTIVITY  
4YP=          GEOERR   1,IPCBLST
4^8W    R4    JIPCM    RW,R4A,3 
4^NG          JIPCM    Q,R8,3   
5286          LDX   0  CPRW1(3) 
52MQ          BNG   0  R4A  
537B          LDX   0  CPRW2(3) 
53M2          BNG   0  R4A  
546L          BRN      R5   
54L=    R4A   LDX   0  IPCPTIME(3)  
555W          BZE   0  R5                  [NO PERI UP  
55*N ...      ADN   0  10000/K9 
55KG          TXL   0  CLEANCT  
5656          BCS      R6   
56JQ    R5    SBN   6  1
574B          BZE   4  R7   
57J2          DFCLEAR  CPPTR(3),ERCT
583L    R7    BRN      R1   
58H=    R6    SIPCM    TO,3 
592W          LDX   2  CPPTR(3) 
59GG          FPUTCHA  2
5=26          BRN      R5   
5=FQ    R8    JENG     CPPTR(3),R5  
5=^B          JSBUSY   CPPTR(3),R6  
5?F2          BRN      R5   
5?YL    R2    LDX   2  FX2  
5#D=          MHUNT    3,IPCD,IPSTACK   
5#XW    #   
5*CG    #     SERVICE WAITING TASKS 
5*X6    #   
5BBQ    #     X1=FX1
5BWB    #     X2=FX2
5CB2    #     X3:-> IPSTACK BLOCK   
5CTL    Z1    LDX   3  FPTR(3)             [FIRST TASK, IF ANY  
5D*=          LDX   0  QTASK(1)            [TYPE OF TASK BLOCK  
5DSW          BXU   0  ATYPE(3),Q2  
5F#G          ACROSS   IPQUAKE,1
5FS6    #     DECIDE IF SUSPENSION REQUIRED 
5G?Q    Q2    LDX   0  AWORK4(2)
5GRB          BNZ   0  Q3                  [J IF ANY ACTION TAKEN   
5H?2          COOR4    ATIMWT              [WAIT FOR TIME INTERRUPT 
5HQL    Q3    STOZ     AWORK4(2)           [UNSET ACTION MARKER 
5J==          BRN      P1                  [LOOP BACK TO START  
5JPW    #   
5K9G     MENDAREA 100,K2IPQUAKER
5KP6    #   
5L8Q    #END
^^^^ ...66401512000200000000