MOPSTART865

(George Source)

Macros used: BXGE, BXL, BXU, CHAIN, DCA, DLCA, FINDCORE, FINDLCA, FON, FPUT, FREECORE, FWAIT, GEOERR, GETACT, GETCORE, GLPERI, HUNT2J, HUNTACT, HUNTW, ICT, JLBUSY, JWRONG, LINKSET, LNLI, LOCKC, LONGSET, MENDAREA, MHUNTW, NAME, NBREAKIN, OUTPAUSE, PAIR, SEG, SEGENTRY, SETXCORE, UP

MOPSTART865.txt
22FL ...      SEG      MOPSTART,,G. CONSTANTINIDES. 
22^=    #LIS  K0MOPSTART>K0MULTIPLX>K0ALLGEO>K0GREATGEO 
23YG    # ENTRY POINTS  
24D6          SEGENTRY K2MOPSTART,Z2MOPSTART
24XQ          SEGENTRY K3MOPSTART,Z3MOPSTART
25X2          MENDAREA 30,K99MOPSTART   
26BL    [   
26W=    [K2MOPSTART IS ENTERED FROM SETIDF. IT CREATES AN AMSCAN
27*W    [ACTIVITY FOR EVERY AMOP WHOSE DEVICE IS NOT WRONGED.   
27TG    [   
28*6    [K3MOPSTART IS OBEYED FROM THE AMOP/IMOPQ ACTIVITY. IT SCANS ALL
28SQ    [AMXOR/ALINES BLOCKS TO SEE WHETHER ANY LINES NEED CPATS TO BE  
29#B    [CREATED TO RUN MOP, IF SO IT SETS THEM UP, THEN GOES BACK TO SLEEP 
29S2    [   
2=?L    PAIR1 PAIR     PROFLAG,1
2=R=    PAIR2 PAIR     SCAN,1   
2?=W    PAIR3 PAIR     SCAN,3   
2?QG    [   
2#=6    SAOUT   
2#PQ    #HAL   AMXOR+AOUT,0 
2*9B    SBI      +8 
2*P2          8HBREAK IN
2B8L    SECBIT     #10000000
2BN=    XLINE   
2C7W    #HAL           AMXOR+ALINES,0   
2C7Y ...REFIND  
2C82 ...      LDX   2  3
2C84 ...      HUNT2J   2,AMXOR,ALINES,,REFIND   
2C86 ...      ADX   2  4
2C88 ...      LDX   2  A1+BPTR(2)   
2C8= ...      SBN   2  A1   
2C8# ...      EXIT  1  0
2C8G ...#SKI JSKI14 
2C96 ...(   
2C9Q ...RSTPT ADN   2  A1                  [RESET KTAB ENTRIES  
2C=B ...                                   [AND LEAVE CHAP. UNRINGED
2C?2 ...      ORX   2  GSIGN
2C?L ...      SMO      BACK1(2) 
2C#= ...      STO   2  KTAB 
2C#W ...      ERX   2  GSIGN
2C*G ...      STO   2  FPTR(2)  
2CB6 ...      EXIT  0  0
2CBQ ...SEEK  MHUNTW   2,AMXOR,CHAPCOPY 
2CCB ...      EXIT  1  0
2CD2 ...RMV   LDEX  3  4
2CDL ...      BZE   3  ZEMV 
2CF= ...      SMO      3
2CFW ...NMV   MOVE  1  0
2CGG ...      ADX   1  3
2CH6 ...      ADX   2  3
2CHQ ...      SBX   4  3
2CJB ...ZEMV  LDN   3  512  
2CK2 ...      BNZ   4  NMV  
2CKL ...      EXIT  0  0
2CL= ...)   
2CMG    [   
2D76    Z2MOPSTART  
2DLQ          LDX   3  ADMULTACT           [BASE OF MOP LIST.   
2F6B          BZE   3  T7                  [J. IF NO MOP ACTIVITIES.
2FL2    T3    JWRONG   CPPTR(3),T6  
2G5L          LINKSET  3,PAIR1(1)          [LINK TO K1PROFLAG   
2GK=          GETACT   AMSCAN              [SET UP SCANNING ACTIVITY
2H4W          LDX   2  BPTR(2)  
2HJG          LINKSET  2,PAIR2(1)          [LINK TO K1SCAN  
2J46          LNLI     CPPTR(3),6   
2JHQ          ADN   6  1
2K3B          LDX   5  6
2KH2          SLL   5  2
2L2L          STO   3  AMOPADDR(2)  
2LG=          FWAIT    #102                [SET AMSCAN WAITING FOR END OF E.M.S.
2L^W          SETXCORE 5,1,AMXOR,ALINES,,6,4
2MFG          LDX   2  1                   [INITIALISE THE BLOCK.   
2M^6          NGN   4  A1   
2NDQ          LDCT  0  #40  
2NYB    T4    STOZ     A1+BPTR(2)          [NULLIFY RING ELEMENT.   
2PD2          STO   4  A1+BSTART(2)        [DISTANCE OF ELT. FROM START OF BLOCK
2PXL          STO   0  A1+FOURTHWD(2)      [SET "WAITING FOR SCAN" BIT. 
2QC=          SBN   4  4                   [STEP POINTERS.  
2QWW          ADN   2  4
2RBG          BCT   6  T4                  [J. IF MORE LINES.   
2RW6          SBN   5  4
2S*Q          BZE   5  T5                  [J. IF UPX.  
2STB          STOZ     A1+FOURTHWD(1)      [DUMMY ENTRY FOR LINE ZERO.  
2T*2    T5    CHAIN    1,3                 [CHAIN ALINES BLOCK AFTER AMOP.  
2TG8 ...#SKI  ICT   
2TMB ...      FON      ADEVLIN                 [START ACTIVITIES WAITING FOR ADE
2TSL    T6    LDX   3  ADMP(3)             [POINTER TO NEXT AMOP.   
2W#=          BNZ   3  T3                  [DROP THROUGH IF NONE.   
2WRW    T7    UP                           [FINISH. 
2X?G    [   
2XR6 ...      SEGENTRY K50MOPSTART  
2Y=Q    MOPCRUNCH      2*60000/K9   
2YQB    ONEDAY         3600*24/K9*1000  
2^=2    Z3MOPSTART  
2^PL          LONGSET  #125,Z3MOPSTART  
329=    T8    OUTPAUSE T8,TEVENT,,1,TCORE  [WAIT FOR 1 MINUTE OR CORE REQUESTS  
329J ...#SKI JSKI14 
329W ...(   
32=8 ...      HUNTW    2,AMXOR,CHAPCOPY 
32=G ...      BNG   2  NOBLK
32=S ...      LDX   5  2
32?6 ...      SMO      FX2  
32?D ...      LDX   0  ICONCEP  
32?Q ...      BNG   0  NFREE               [J IF BLOCK NOT IN USE   
32#B ...      LDN   6  2
32*2 ...      ANDX  6  AFLAG(2) 
32*# ...      BZE   6  NOBLK
32*L ...REQ   LDX   4  ALOGLEN(2)   
32*Y ...      LDX   6  4
32B= ...      GETCORE  4,0,1
32BJ ...      BRN      SCORE               [J IF HAVE CORE  
32BW ...      BRN      NOBLK               [J IF NO CORE
32C8 ...NFREE ADN   2  A1   
32CG ...      LDX   1  BACK2(2)            [GET DATA FOR KTAB ENTRY 
32CS ...      SMO      BACK1(2) 
32D6 ...      STO   1  KTAB                [STORE IN CH. TABLE  
32DD ...      ADX   2  ALOGLEN(2)          [NOW REPEAT FOR NEXT CHAP.   
32DQ ...      ADN   2  A1   
32F4 ...      LDX   1  BACK2(2) 
32FB ...      SMO      BACK1(2) 
32FN ...      STO   1  KTAB 
32G2 ...      SMO      FX2  
32G# ...      STOZ     ICONCEP             [MARK "NO CHAP. BLOCK"   
32GL ...      FREECORE 5
32GY ...      BRN      NOBLK
32H= ...SCORE   
32HJ ...      FINDCORE 2
32HW ...      NAME     2,AMXOR,CHAPCOPY 
32J8 ...      ADN   2  A1   
32JG ...      LDX   1  5
32JS ...      ADN   1  A1   
32K6 ...      CALL  0  RMV  
32KD ...      SBX   2  6
32KK ...      SBN   2  A1   
32KQ ...      LOCKC    2,SEEK   
32L4 ...      CALL  1  SEEK 
32LB ...      CALL  0  RSTPT
32LN ...      ADX   2  ALOGLEN(2)   
32M2 ...      CALL  0  RSTPT
32M# ...      FREECORE 5
32ML ...NOBLK LDX   1  FX1  
32MY ...      LDX   2  FX2  
32N= ...)   
32NW          LDX   3  ADMULTACT
338G    T9    LDX   2  3
33N6    T10   LDX   2  FPTR(2)  
347Q          LDX   0  ATYPE(2) 
34MB          BXGE  0  CACT,T14            [J. IF NO ALINES BLOCK   
3572          BXU   0  XLINE(1),T10 
35LL          LNLI     CPPTR(3),4   
366=          LDX   6  4
36KW          SLL   6  2
375G          ADX   2  6
37K6          LDX   5  2
384Q    T12   SMO      5
38JB          LDX   2  A1+BPTR  
3942          BZE   2  T13                 [J. IF NO LCB
39HL          SMO      5
3=3=          LDX   0  A1+FOURTHWD  
3=GW          BNG   0  T13                 [J IF CONCEPTUAL 
3?2G          SBN   2  A1   
3?G6          LDX   0  GTIM(2)  
3?^Q          BNG   0  T13                 [J. UNLESS UNTERMINATED TRANSFER 
3#FB          NGX   0  0
3#^2          ADX   0  JTIME
3*DL          BPZ   0  T12A 
3*Y=          ADX   0  ONEDAY(1)
3BCW    T12A  SBX   0  MOPCRUNCH(1) 
3BXG          BNG   0  T13                 [J. IF 1 MINUTE SINCE TRANSFER ISSUED
3CC6          LDX   0  GUNITNO(2)   
3CWQ          SLL   0  15   
3DBB          ADN   0  4
3DW2          DCA      CPPTR(3),STO,0,MODE  
3F*L          GLPERI   CPPTR(3) 
3FT=    T13   SBN   5  4
3G#W          BZE   6  T14  
3GSG          BCT   4  T12                 [J. IF MORE LINES TO LOOK AT 
3H#6    T14   LDX   3  ADMP(3)  
3HKG ...      BNZ   3  T9   
3HNL ...#SKI JSKI14 
3HRQ ...(   
3HWW ...      SMO      FX2  
3J8= ...      LDX   3  IWAKE
3J#Y ...)   
3JFL ...      BZE   3  T8   
3JR2    TEVENT  
3K=L          LDX   3  ADMULTACT
3KQ=    T17   LDX   2  3
3L9W    T18   LDX   2  FPTR(2)  
3LPG          LDX   0  ATYPE(2) 
3M96          BXGE  0  CACT,T20A           [J. IF NO ALINES BLOCK   
3MNQ          BXU   0  XLINE(1),T18 
3N8B          LNLI     CPPTR(3),4   
3NN2          LDX   6  4
3P7L    T19   SMO      FX2  
3PM=          LDX   0  IWAKE
3Q6W          BZE   0  T20B                [J. IF CORE REQUESTS SATISFIED   
3QLG          LDCT  0  4
3R66          SLL   4  2
3RKQ          SMO      4
3S5B          ANDX  0  A1+FOURTHWD(2)   
3SK2          BZE   0  T20                 [J. IF NOTHI-G TO DO ON THIS LINE
3T4L          SMO      4
3TJ=          LDX   7  A1+BPTR(2)   
3W3W          BNZ   7  XBRI 
3WHG          LDCT  7  #100 
3X36          SMO      4
3XGQ          ANDX  7  A1+FOURTHWD(2)   
3Y2B          BNZ   7  T21                 [J. IF MOPPING OFF   
3YG2          SMO      4
3Y^L          ERS   0  A1+FOURTHWD(2)   
3^F=          GETACT   CPAT 
3^YW          LDX   2  BPTR(2)  
42DG          STO   3  AWORK4(2)           [AMOP ADDRESS
42Y6          LINKSET  2,PAIR3(1)          [LINK TO K3SCAN  
43CQ          LDX   7  4
43XB          SRL   7  2
44C2          STO   7  ACC7(2)  
44WL          FPUT  
45B=    TFNLN LDN   0  1
45TW          SBS   0  IWAKE(2) 
46*G          LDX   2  3                   [HUNT FOR AMXOR/ALINES   
46T6    T19A  LDX   2  FPTR(2)  
47#Q          LDX   0  ATYPE(2) 
47SB          BXGE  0  CACT,T20A           [NOT FOUND   
48#2          BXU   0  XLINE(1),T19A       [LOOK AT NEXT BLOCK  
48RL    T20   BZE   6  T20A 
49?=          SRL   4  2
49QW          BCT   4  T19                 [J. IF MORE LI-ES TO LOOK AT 
4==G    T20A  LDX   3  ADMP(3)  
4=Q6          BNZ   3  T17                 [J. UNLESS NO MORE ACTIVITIES
4?9Q          SMO      FX2  
4?PB          LDX   0  IWAKE
4#92          BNZ   0  TEVENT              [J. UNLESS CORE REQUESTS SATISFIED   
4#NL ...T20B  LONGSET  #125,T8  
4*8=          BRN      TCORE
4*MW    T21   LDCT  0  #24  
4B7G          SMO      4
4BM6          ERS   0  A1+FOURTHWD(2)      [UNSET "SETTING UP" BITS 
4C6Q          LDN   0  1
4CLB          SMO      FX2  
4D62          SBS   0  IWAKE               [DECREASE REQUESTS BY 1  
4DKL          BRN      T20  
4F5=    XBRI  LDX   2  FX2  
4FJW          STO   4  AWORK3(2)
4G4G          STO   6  AWORK2(2)
4GJ6          STO   3  AWORK4(2)
4H3Q          SBN   7  A1   
4H5N ...      SMO      7
4H7L ...      LDX   0  GLASTM   
4H9J ...      BPZ   0  TRBI 
4H?G ...      LOCKC    7,REFIND 
4H*D ...      CALL  1  REFIND   
4HCB ...      LDX   7  2
4HM8 ...TRBI
4HX2 ...      HUNTACT  CPAT,2,7 
4HY? ...#UNSET ENBREAKIN
4H^J ...      NBREAKIN 2,3,(GEOERR)        [J GEOERR REJECTED - CONTINUE ACCEPT 
4J2T ...#UNSET ENBREAKIN
4J46 ...#SKI
4J5C ...(   
4J6S ...      NBREAKIN 2,3  
4JBL ...      BRN      (GEOERR) 
4JW= ...)   
4MDB          LDX   7  AWORK3(2)
4MY2          LDX   2  AWORK4(2)
4NCL          LDX   3  2
4NX=          HUNT2J   3,AMXOR,ALINES,,ZR   
4PBW          LDCT  0  4
4PWG          ADX   3  7
4QB6          ERS   0  A1+FOURTHWD(3)   
4QTQ          LDN   0  #1000
4R*B          ANDX  0  A1+FOURTHWD(3)   
4RT2          ERS   0  A1+FOURTHWD(3)   
4S#L          LDX   3  A1+FPTR(3)   
4SS=          SBN   3  A1   
4T?W          SLL   0  2
4TRG ...      ORX   0  SECBIT(1)
4W?6          ORS   0  GWAIT(3) 
4WQQ          LDX   0  GLASTM(3)
4X=B          SBN   0  #13  
4XQ2          BNZ   0  N3                  [J IF NOT MODE 3 
4Y9L          LDN   0  1                   [SET B.I. BIT FORMOPOUT  
4YP=          ORS   0  GWAIT(3) 
4^8W          BRN      XOUT 
4^NG    N3    LDX   4  SAOUT(1)            [AMXOR/AOUT BLOCK TYPE.  
5286          LDX   1  3                   [HUNT BACK FROM THE LCB TO THE CPAT  
52MQ          LDN   5  0                   [TO DISCOVER THE LAST BLOCK IN THE   
537B    NACT  LDX   1  BPTR(1)             [OUTPUT QUEUE.   
53M2          LDX   0  ATYPE(1) 
546L          BXU   4  0,NOUT   
54L=          LDX   5  1
555W    NOUT  BXL   0  CACT,NACT
55KG          BZE   5  XOUT                [J. IF NONE FOUND.   
5656          LDX   1  5
56JQ          LDXC  0  AMOPTY(1)
574B          ADXC  0  0                   [J. UNLESS NO NL TERMINATOR ON   
57J2          BCC      XOUT                [THE END OF THIS MESSAGE BLOCK.  
583L          LDX   5  AMOPCHS(1)          [INSERT NL (SO THAT "BROKEN IN"  
58H=          LDCH  0  CHARS(3)            [MESSAGE COMES OUT ON NEW LINE). 
592W          SBX   5  GNOCHS(3)
59GG          LDX   4  BITS22LS 
5=26          ADX   5  0
5=FQ          ANDS  4  AMOPTY(1)           [UNSET THE "NL SUPPRESSED" MARKER.   
5=^B          SRC   5  2
5?F2          LDN   4  GNLBUFF(3)   
5?YL          ADN   5  AMOPOUT(1)   
5#D=          ADS   0  AMOPCHS(1)          [UPDATE THE CHARACTER COUNT. 
5#XW          SMO      GNOCHS(3)
5*CG          MVCH  4  0
5*X6    XOUT  SMO      FX1  
5BBQ          LDN   1  SBI                 [SET UP THE "BREAK IN" MESSAGE.  
5BWB    XOP   LDN   4  GNLBUFF(3)          [SET UP NL MESSAGE NL
5CB2          LDN   5  BUFFER(3)
5CTL          LDCH  0  CHARS(3) 
5D*=          SMO      0
5DSW          MVCH  4  0
5F#G          LDN   4  1(1) 
5FS6          SMO      0(1) 
5G?Q          MVCH  4  0
5GRB          LDN   4  GNLBUFF(3)   
5H?2          SMO      GNOCHS(3)
5HQL          MVCH  4  0
5J==          ADX   0  0(1) 
5JPW          ADX   0  GNOCHS(3)
5K9G          LDX   4  0
5KP6          SLC   5  2
5L8Q          SBN   5  2
5LNB          SRC   5  2                   [POINT TO LAST BUT ONE CHAR  
5M82          LDX   1  5
5MML          LDN   0  #10                 [REPLACE EOM WITH CANCEL 
5N7=          DCH   0  0(1) 
5NLW          LDN   5  BUFFER(3)
5P6G          LDX   1  FX1  
5PL6          LDX   6  GUNITNO(3)   
5Q5Q          FINDLCA  ,6   
5QKB          JLBUSY   1,REJ
5R52          SLL   6  15   
5RJL          DLCA     1,DLA,4,COUNT
5S4=          DLCA     1,STO,5,CTSA 
5SHW          LDN   5  #11  
5T3G          STO   5  GLASTM(3)
5TH6          DLCA     1,DLA,5,MODE 
5W2Q          LDN   5  GREP1(3) 
5WGB          DLCA     1,STO,5,CREP 
5X22          DCA      ,STO,6,MODE  
5XFL          DLCA     1,LDX,4,FLAG        [NEXT PERI MIGHT FINISH  
5X^=          ANDN  4  #77                 [BEFORE EXEC RETURNS TO G
5YDW          GLPERI
5YYG          LDX   0  JTIME               [REMEMBER WHEN TRANSFER STARTED  
5^D6          STO   0  GTIM(3)             [IN CASE IT NEEDS TO BE TERMINATED   
5^XQ    REJ 
62CB    PERY3 LDX   2  FX2  
62X2          LDX   1  FX1  
63BL          LDX   3  AWORK4(2)
63W=          LDX   6  AWORK2(2)
64*W          LDX   4  AWORK3(2)
64TG          BRN      TFNLN
65*6    ZR    GEOERR   1,NOAL   
65SQ    #END
^^^^ ...47071657000100000000