IPQUAKE83

(George Source)

Macros used: ACROSS, BXE, BXL, BXU, CCBB, CLEARALL, COOR2, EMPTY, FINMOVE, GEOERR, HUNT, HUNT2, HUNT2OPT, JDISENG, JIPCM, KILLHANGER, MENDAREA, MFREE, MHUNT, NUMLINK, PROGMOVE, QTASK, RERING, SEG, SEGENTRY, STOPHANGER, TICKLE, TRACE, WAKEHANGER

IPQUAKE83.txt
22FL ...      SEG      IPQUAKE,,KEITH MARTIN
22^=    #   
23DW     SEGENTRY K1IPQUAKE,X1IPQUAKE   
23YG    #   
24D6    PMASK       #77777  
24XQ    QTASK          #15010000
25CB    TBIT4          #2000000 
25X2    TBIT5          #1000000 
26BL    SKH   SMO      FX2  
26W=          STO   0  AWORK1   
27*W          KILLHANGER     2  
27TG          LDX   0  AWORK1(2)
28*6          LDX   1  FX1  
28SQ          EXIT  0  0
29#B    X1IPQUAKE   
29S2          HUNT     3,IPCD,ATASK 
2=?L          BPZ   3  Q2   
2=R=          ACROSS   IPQUAKER,1   
2?=W    Q2    LDX   4  A1(3)               [LINK NR 
2?QG          LDX   3  BPTR(3)             [RESET POINTER TO IPSTACK
2#=6    #     SCAN IPSTACK BLOCK FOR ENTRY  
2#PQ    #     CORRESPONDING TO THIS TASK
2*9B          LDX   6  3                   [SAVE IPSTACK POINTER
2*P2          LDX   5  ARINGNO(3)   
2B8L          ANDN  5  #7777               [NR OF RING ELS  
2BN=          LDN   3  A1(3)               [INITIALISE POINTER  
2C7W    Q6    LDX   0  ALINUM(3)
2CMG          ANDN  0  #7777
2D76          BXE   4  0,Q21
2DLQ          ADN   3  ARECLEN             [UPDATE POINTER  
2F6B          BCT   5  Q6                  [J TO TRY NEXT   
2FL2          GEOERR   1,IPCLKLST          [ELSE BREAK  
2G5L    Q21 
2GK=    #SKI  IMC   
2H4W    (   
2HJG    #     TEST IF WMC ALLOWED   
2J46          LDX   0  BPTR(3)  
2JHQ          BNZ   0  Q5A  
2K3B          LDX   2  ALINUM(3)
2KH2          CALL  0  SKH  
2KTC ...      LDX   2  FPTR(3)  
2L7S ...      EMPTY    FPTR(2)  
2LG9 ...      EMPTY    FPTR(3)  
2LSL ...      LDN   0  #40  
2M73 ...      ORS   0  ASTATUS2(3)  
2MFG          BRN      Q15  
2M^6    Q5A   LDX   0  ASTATUS2(3)  
2NDQ          SLL   0  1
2NYB          BPZ   0  Q23  
2PD2          LDX   1  FPTR(3)  
2PXL          LDX   0  AREQPR-ARINGEL(1)
2QC=          BZE   0  Q5   
2QWW          SLL   0  10   
2RBG          BPZ   0  Q14  
2RW6    )   
2S*Q    #     SEARCH FOR OTHER END OF THE LINK  
2STB    Q5    SMO      FPTR(3)  
2T*2          LDX   7  ALINDIR-ARINGEL     [SAVE OPENING MODE   
2TSL          LDX   2  6
2W#=          LDX   5  ARINGNO(2)   
2WRW          LDN   2  A1(2)
2X?G          ANDN  5  #7777               [NR OF ENTRIES   
2XR6    Q8    LDX   0  ASTATUS2(2)  
2Y=Q          SLL   0  1
2YQB          BPZ   0  Q7                  [ALREADY ESTABLISHED 
2^=2          SLL   0  1
2^PL          BNG   0  Q7                  [JUST ESTABLISHED
2^WS ...      SLL   0  16            [WAITING TO BE REMOVED 
3242 ...      BNG   0  Q7              [FROM STACK  
329=          LDX   1  BPTR(2)  
32NW          BZE   1  Q7                  [NOT YET ENRINGED
338G    #SKIP IPCV4 
33N6    (   
347Q          LDCT  0  #400 
34MB          ANDX  0  ASTATUS1(2)  
3572          BNZ   0  Q7   
35LL    )   
366=          LDX   1  FPTR(2)  
36KW    #SKI  IMC   
375G    (   
37K6          LDX   0  AREQPR-ARINGEL(1)
384Q          BZE   0  Q17  
38JB          SLL   0  10   
3942          BPZ   0  Q7                  [WMC NOT ALLOWED 
39HL    Q17 
3=3=    )   
3=GW          BXE   7  ALINDIR-ARINGEL(1),Q7
3?2G    #     COMPARE  NAMES
3?G6          SMO      FPTR(3)  
3?^Q          LDX   0  ALINAME-ARINGEL  
3#FB          BXU   0  ALINAME-ARINGEL(1),Q7
3#^2          SMO      FPTR(3)  
3*DL          LDX   0  ALINAME-ARINGEL+1
3*Y=          BXU   0  ALINAME-ARINGEL+1(1),Q7  
3BCW          SMO      FPTR(3)  
3BXG          LDX   0  ALINAME-ARINGEL+2
3CC6          BXE   0  ALINAME-ARINGEL+2(1),Q4  
3CWQ    #     TRY NEXT LINK,IF ANY  
3DBB    Q7    ADN   2  ARECLEN  
3DW2          BCT   5  Q8                  [J BACK FOR NEXT 
3F*L    #     TEST IF IMC ALLOWED   
3FT=    #SKIP IPCV3 
3G#W    (   
3GSG          LDX   0  ASTATUS2(3)  
3H#6          SLL   0  7
3HRQ          BNG   0  Q23  
3J?B    )   
3JR2    Q14   LDX   2  FX2  
3K=L          LDX   1  FPTR(3)  
3KQ=          LDX   0  AREQPR-ARINGEL(1)   [PROPERTIES REQUESTED
3L9W          BZE   0  Q18  
3LPG          SRL   0  11   
3M96          ANDN  0  3
3MNQ    #SKIP IPCV3 
3N8B          BZE   0  Q23  
3NN2    #SKIP IPCV3<1$1 
3P7L          BZE   0  Q11  
3PM=    #     TRY IMC   
3Q6W    Q18 
3QLG          LDX   5  APROPRES(2)         [NR OF IPBS  
3R66    #SKIP IPCV3 
3RKQ          BZE   5  Q23  
3S5B    #SKIP IPCV3<1$1 
3SK2          BZE   5  Q11                 [NONE
3T4L    #SKIP IPCV3 
3TJ=    (   
3W3W          MHUNT    1,IPCD,ATASK 
3WHG          WAKEHANGER  A1(1) 
3X36          BRN      Q15  
3XGQ    Q23   LDX   2  ALINUM(3)
3Y2B          ANDN  2  #7777
3YG2          CALL  0  SKH  
3Y^L          BRN      Q15  
3^F=    #SKIP IPCV3<1$1 
3^YW    (   
42DG    Q19   LDN   2  ACTRING(2)          [ACTIVITY RING POINTER   
42Y6          LDX   2  BPTR(2)  
43CQ          SBN   2  ACTRING             [NEXT IPB ACTIVITY   
43XB          LDX   0  ATYPE(2) 
44C2          SRL   0  12   
44WL          SBN   0  IPCA+IPCBX   
45B=          BZE   0  Q20  
45TW          GEOERR   1,IPCBXLST   
46*G    Q20 
46T6          JIPCM    DS,Q16,2            [TEST IF IPB OK  
47#Q          JDISENG  CPPTR(2),Q16 
47SB          NUMLINK   
48#2          TXL   0  ALNKLIM(2)          [TEST IF LINK SPACE AVAILABLE
48RL          BCC      Q16  
49?=          MHUNT    1,IPCD,ATASK        [FIND ATASK  
49QW          SMO      FX1  
4==G          LDX   0  TBIT5
4=Q6          ORS   0  ASTATUS2(3)         [MARK'OPEN IN PROGRESS'  
4?9Q          LDX   3  FPTR(3)  
4?PB          LDX   7  1
4#92          QTASK    7,3,2
4#NL          LDX   2  FX2  
4*8=          BRN      Q15                 [FINISHED THIS TASK  
4*MW    Q16   SMO      FX1  
4B7G          LDX   0  TBIT4
4BM6          ORS   0  ASTATUS2(3)  
4C6Q          BCT   5  Q19                 [TRY NEXT
4CLB    )   
4D62    #     NO CORRESPONDING LINK FOUND   
4DKL    #     FINISHED THIS TASK
4F5=    Q11   LDN   0  1
4FJW          SLL   0  18   
4G4G          ERS   0  ASTATUS2(3)  
4GJ6          MFREE    IPCD,ATASK   
4H3Q    Q15   COOR2 
4HHB          ACROSS   IPQUAKER,1   
4J32    #     SUITABLE CORRESPONDING LINK FOUND 
4JGL    #     X3 POINTS TO CURRENT ENTRY,X2 TO OLD ONE,X1 TO OLD AOLPT  
4K2=    Q4    LDX   0  ASTATUS1(2)  
4KFW          ANDN  0  1                   [TRANSFER STORED BIT 
4K^G          BNZ   0  Q9                  [J IF TRANSFER STORED
4LF6          LDX   0  ASTATUS1(3)  
4LYQ          ANDN  0  1
4MDB          BZE   0  Q10                 [NO TRANSFER STORED  
4MY2          SMO      FX1  
4NCL          LDX   0  TBIT5
4NX=          ANDS  0  ASTATUS2(2)  
4PBW          LDN   0  1
4PWG          ORS   0  ASTATUS2(2)  
4QB6    #                                  [NOT CANCELLED   
4QTQ          LDX   0  AREPPTR(3)          [MOVE UP DETAILS 
4R*B          STO   0  AREPPTR(2)          [--- OF STORED TRANSFER  
4RT2          LDX   0  ASTR(3)             [--- 
4S#L          STO   0  ASTR(2)             [--- 
4SFS ...      LDX   0  ASTR2(3) 
4SM2 ...      STO   0  ASTR2(2)            [MODE *21 IF NON ZERO -START 
4SS=          LDX   0  ALENTR(3)           [--- 
4T?W          STO   0  ALENTR(2)           [----
4TF4 ...      LDX   0  ALENTR2(3)   
4TL= ...      STO   0  ALENTR2(2)          [MODE *21 IF NON ZERO -LENGTH
4TRG          LDX   0  ASTMEL(3)           [----
4W?6          STO   0  ASTMEL(2)           [----
4WQQ          LDX   0  ATIMCT(3)           [----
4X=B          STO   0  ATIMCT(2)           [---.
4XQ2    Q12   LDN   0  3
4Y9L          SLL   0  13   
4YP=          STO   0  IPPROPS-ARINGEL(1)   
4^8W          SMO      FPTR(3)  
4^NG          STO   0  IPPROPS-ARINGEL  
5286          LDX   0  ALINUM(2)
52MQ          SMO      FPTR(3)  
537B          STO   0  BLINO-ARINGEL
53M2          LDX   0  ALINUM(3)
546L          LDX   1  FX2  
56JQ    Q13   LDX   1  FPTR(2)  
574B          STOZ     AWORK1-ARINGEL(1)
57J2          LDN   0  1
583L          SMO      FPTR(3)  
58H=          STO   0  AWORK1-ARINGEL   
592W          LDX   7  2
59GG          LDX   0  FPTR(3)  
5=26          SBN   0  ARINGEL  
5=FQ          HUNT2OPT 2,BLINK,0,0  
5=^B          BNG   2  QX   
5?F2          LDN   0  1
5?YL          LDX   6  ALOGLEN(2)   
5#D= ...      SBN   6  3
5#XW ...      BNG   6  QX   
5*CG ...QY    STO   0  A1+2+AWORK1-ACC3(2)  
5*X6 ...      ADN   2  ALINK
5BBQ ...      SBN   6  ALINK
5BWB ...      BPZ   6  QY   
5CB2    QX    LDX   2  7
5CTL          RERING   FPTR(3),2
5D*=    #SKIP IPCV3 
5DSW    (   
5F#G          LDX   2  7
5FS6          LDX   7  ALINUM(3)
5G?Q          LDX   6  BSTART(3)
5GRB          LDX   0  ASTATUS2(2)  
5H38          ANDX  0  TBIT5(1) 
5H?2          BZE   0  QK   
5HQL          LDX   2  ALINUM(2)
5J==          STOPHANGER 2  
5JPW    QK    LDX   2  7
5K9G          CALL  0  SKH  
5L8Q          HUNT2    3,IPCD,IPSTACK,2 
5LNB          SBX   3  6
5M82    )   
5MT= ...Q22 
5MWM ...      LDX   1  FPTR(3)  
5MY4 ...      EMPTY    FPTR(1)  
5M^F ...      EMPTY    FPTR(3)  
5N2W ...      LDN   0  #40  
5N4? ...      ORS   0  ASTATUS2(3)  
5N7=    #SKI  IPCV3 
5NLW          BRN      Q15  
5P6G    #SKI  IPCV3<1$1 
5PL6          BRN      Q11  
5Q5Q    Q10   SMO      FX1  
5QKB          LDX   0  TBIT5
5R52          ANDS  0  ASTATUS2(2)         [ESTABLISHED,NO TRANSFER REQUEST 
5RJL          BRN      Q12  
5S4=    Q9    LDX   0  ASTATUS1(3)  
5SHW          ANDN  0  1
5T3G          BZE   0  Q10                 [ESTABLISHED RING
5TH6    #     BOTH SIDES HAVE A TRANSFER STORED 
5W2Q    #     IT IS TO BE IMPLEMENTED BEFORE THE RINGS  
5WGB    #     ARE COALESCED 
5X22          SMO      FX2                 [SAVE X1,2,3 
5XFL          STO   2  AWORK2   
5X^=          LDX   2  FX2  
5YDW          STO   1  AWORK1(2)
5YYG          STO   3  AWORK3(2)
5^D6          LDX   3  FPTR(3)  
5^XQ          LDX   0  ALINDIR-ARINGEL(3)   
62CB          SRL   0  8
62X2          BZE   0  V1                  [X3->READER  
63BL          LDX   0  1                   [ELSE SWAP POINTERS  
63W=          LDX   1  3
64*W          LDX   3  0                   [SO THAT X3->READER  
64TG    V1    SMO      FPTR(3)  
65*6          LDX   7  ALENTR              [LENGTH OF READ  
65SQ          SMO      FPTR(1)  
66#B          SBX   7  ALENTR              [READ - WRITE
66S2 ...      SMO      FPTR(1)  
67?L ...      SBX   7  ALENTR2             [MODE *21 LENGTH IF NON ZERO 
6#MG          STO   1  ACOMMUNE1(2) 
6*76          STO   3  ACOMMUNE2(2) 
6*LQ    #SKI  IPCG4 
6B6B    (   
6BL2          SBN   1  ARINGEL  
6C5L          HUNT2    1,ADATA,HLOCKDOWN
6CK=          STO   1  ACOMMUNE3(2) 
6D4W          SBN   3  ARINGEL  
6DJG          HUNT2    1,ADATA,HLOCKDOWN,3  
6F46          STO   1  ACOMMUNE4(2) 
6F6M ...      LDX  3  ACOMMUNE2(2)       [PRT READ STACK ENTRY  
6F98 ...      LDX   1  ACOMMUNE1(2) 
6F?P ...)   
6FB= ...      LDX   1  FPTR(1)             [PTR WRITE STACK ENTRY   
6FDR ...      LDX   2  ACOMMUNE2(2) 
6FH# ...      LDX   2  FPTR(2)             [PTR READ STACK ENTRY
6FKT ...#   
6FNB ...#              SET FROM,TO,LENGTH IN
6FQX ...#              X4,5,6 FOR FIRST MOVE
6FTD ...      TRACE    1,IPCMOVE1          [PTR WRITE STACK ENTRY   
6FX^ ...      LDX   4  ASTR(1)             [WRITE ADDR  
6G2G ...      LDX   5  ASTR(2)             [READ ADDR   
6G53 ...      LDX   6  ALENTR(1)           [WRITELENGTH 
6G7J ...      BXL   6  ALENTR(2),QK7       [J IF LESS THAN READ LENGTH  
6G=5 ...      LDX   6  ALENTR(2)           [ELSE SET READ LENGTH
6G#L ...      BRN      QK7  
6GC7 ...#   
6GFN ...#              SET FROM,TO,LENGTH   
6GJ9 ...#              IN X4,5,6 FOR SECOND (MODE *21 ONLY) MOVE
6GLQ ...QK5 
6GP? ...      TRACE    2,IPCMOVE2          [PTR READ STACK ENTRY
6GRS ...      LDX   4  ALENTR2(1)          [WRITE-2 LENGTH  
6GW* ...      BZE   4  QK9                 [J IF DONE OR NOT MODE *21   
6GYW ...      LDX   5  ASTR(2)             [READ ADDR   
6H3C ...      ADX   5  6                   [+ LENGTH FIRST MOVE 
6H5Y ...      LDX   4  ASTR2(1)            [WRITE-2 ADDR
6H8F ...      NGX   6  6
6H?2 ...      ADX   6  ALENTR(2)           [=READ LENGTH - LENGTH MOUED 
6H*H ...      BZE   6  QK9                  [J IF ALL DONE 1ST TIME 
6HD4 ...      BXL   6  ALENTR2(1),QKZ      [J IF LESS THAN WRITE-2 LENGTH   
6HGK ...      LDX   6  ALENTR2(1)          [ELSE RESET TO WRITE-2 LENGTH
6HK6 ...QKZ 
6HMM ...      STOZ      ALENTR2(1)  
6HQ8 ...QK7 
6HSP ...      SMO      FX2  
6HX= ...      LDX   1  ACOMMUNE1
6H^W          LDX   1  APETADDR-ARINGEL(1)  
6JFG          LDX   3  APETADDR-ARINGEL(3)  
6JJL ...      TRACE    6,IPCPROGM          [LENGTH OF MOVE  
6JMQ ...      PROGMOVE     1,4,3,5,6
6JQW ...      LDX   2  FX2  
6JW2 ...      LDX   1  ACOMMUNE1(2) 
6J^6 ...      LDX   1  FPTR(1)         [PTR WRITE STACK ENTRY   
6K4= ...      LDX   3  ACOMMUNE2(2) 
6K7B ...      LDX   2  FPTR(3)               [PTR READ STACK ENTRY  
6K=G ...      BRN      QK5  
6K*L ...QK9 
6KDQ ...      LDX   2  FX2  
6KHW ...      LDX   1  ACOMMUNE1(2)      [OLPA WRITER   
6KM2 ...      LDX   1  APETADDR-ARINGEL(1)      [APET WRITER
6KQ6 ...      LDX   3  ACOMMUNE2(2)       [OLPA READER  
6KT= ...      LDX   3  APETADDR-ARINGEL(3)       [APET READER   
6KYB    #     READ REPLY
6LD2          LDX   2  ACOMMUNE2(2) 
6LXL          SMO      FPTR(2)  
6MC=          LDX   5  AREPPTR  
6MHN          LDN   4  6
6MN6          LDX   6  7
6MSJ          BPZ   6  VM1  
6M^2          LDCT  6  #100 
6N5D    VM1   SMO      FX1  
6N9W          ORX   6  TBIT5
6NBG          LDX   2  FX2  
6NW6          LDN   0  1
6P*Q          STO   0  ACOMMUNE5(2) 
6PTB ...      FINMOVE  3,5,4,ACOMMUNE5(2),HLOCKB1,ACOMMUNE4(2),1
6Q*2    #     WRITE REPLY   
6QSL          SMO      FX2  
6R#=          LDX   2  ACOMMUNE1
6RRW          SMO      FPTR(2)  
6S?G          LDX   5  AREPPTR  
6SK=          LDN   4  6
6SX2          LDCT  6  #010 
6T8Q          BPZ   7  VM2  
6TGG          LDCT  6  #110 
6TS=          NGX   7  7
6W62          ORX   6  7
6WCQ    VM2   LDX   2  FX2  
6WPL          LDN   0  1
6X9=          STO   0  ACOMMUNE5(2) 
6XNW ...      FINMOVE  1,5,4,ACOMMUNE5(2),HLOCKB1,ACOMMUNE3(2),1
6Y8G    #     REACTIVATE PROGRAMS   
6YN6          SMO      FX2  
6^7Q          LDX   3  AWORK2   
6^MB          LDX   2  FPTR(3)  
7272          SBN   2  ARINGEL  
72LL    #SKI  IPCG4 
736=    (   
73KW          HUNT2    1,ADATA,HLOCKDOWN,2  
745G ...      CLEARALL APETADDR(2),0,1  
74K6    )   
754Q          CCBB     2
75JB          TICKLE   JOBNO(2),ASTMEL(3)   
7642          SMO      FX2  
76HL          LDX   3  AWORK3   
773=          LDX   2  FPTR(3)  
77GW          SBN   2  ARINGEL  
782G    #SKI  IPCG4 
78G6    (   
78^Q          HUNT2    1,ADATA,HLOCKDOWN,2  
79FB ...      CLEARALL APETADDR(2),0,1  
79^2    )   
7=DL          CCBB     2
7=Y=          TICKLE   JOBNO(2),ASTMEL(3)   
7?CW    #     RETURN TO AMALGAMATE RING ELEMENTS
7?XG          SMO      FX2  
7#C6          LDX   2  AWORK2   
7#WQ          SMO      FX2  
7*BB          LDX   1  AWORK1   
7*W2          STOZ     ASTATUS1(2)  
7B*L          BRN      Q10  
7BT=    #   
7C#W     MENDAREA 100,K2IPQUAKE 
7CSG    #   
7D#6    #END
^^^^ ...61024664002100000000