MOPCOMB865

(George Source)

Macros used: ABANDCOM, BRUSEN, BXGE, CCERROR, CHAIN, CLALLOC, CLCOUNT, COMERRX, COOR4, DOWN, ENDCOM, FINDACTNO, FON, FPUT, FREECORE, GEOERR, GEOPACK, GETACT, HLSINFORM, HUNTACT, ICT, INFORMX, JALLOC, JONL, LFAILS, LGEOG, LGPERIS, LINK, LINKSET, LNLI, LONGHALT, LONGON, MARKAXES, MENDAREA, MHUNT, MHUNTW, MOPOFF, MOPON, NBREAKIN, OFF7020, OUTBLOCN, OUTNUM, OUTPACKX, PARABEG, SEGENTRY, SETALLOC, SETXCORE, TAB, TESTRPN2, UP, UPPLUS

MOPCOMB865.txt
22BG ...#SEG  MOPCOMB8                     [A C PUTMAN  
22R2 ...#OPT  K0MOPCOMB=0   
237G ...#LIS           K0MOPCOMB>K0MOP>K0COMMAND>K0GREATGEO>K0ALLGEO
23J2 ...               8HMOPCOMB
23YG    #   
248# ...# K1MOPCOMB:
24D6 ...#  DEALS WITH A MOP COMMAND FOR A   
24MY ...#  CHARACTER BUFFERING MULTIPLEXOR OR UNIPLEXOR 
24XQ    #   
25CB ...      SEGENTRY K1MOPCOMB,XK1
25R5 ...#UNS  CCERROR   
266S ...      SEGENTRY K2MOPCOMB,XK2
26GH ...[                                  K2 ENTERED BY DOWN FROM MOPCOM TO DO 
26W=    #   
27*W    XLINES  
27TG    #HAL  AMXOR+ALINES,0
29#B    #   
29S2    SCLNK LINK     SCAN,2   
2=?L    PFLNK LINK     PROFLAG,1
2=R= ...#UNS  CRAMP 
2?=W ...XLI            4HLI 
2*9B    #   
2B8L    PJMOP1         +JMOP1   
2B*S ...#UNS  CRAMP 
2BH2 ...#SKI
2BN=    PJMOP2         +JMOP2   
2C7W    PJMOP3         +JMOP3   
2CHK ...#UNS  CRAMP 
2CX# ...(   
2D?3 ...PJMOP5         +JMOP5              [MOP NOT ALLOWED DUE TO PREVIOUS 
2DLQ ...#                                   INCOMPLETED MOP COMMAND 
2F2F ...PJMOP6         +JMOP6              [MOP NOT ALLOWED DUE TO ONLINE   
2FB8 ...#                                   CONCEPTUALS 
2FPX ...)   
2G5L    PJRES          +JRES1   
2J46    ZGEO           +JPDGEOPER   
2JHQ    ZSWI           +JPDSWITCH   
2K3B    ZTRA           +JPDTRANSCT  
2KH2    ZFAI           +JPDFAILCT   
2PD2    #   
2PXL ...T6A   LDX   6  PJRES(1)            [UNIT NOT IN REQUIRED STATE  
2QC=    NOOUT LDX   2  FX2  
2QWW          LGEOG    ,5   
2RBG          OUTNUM   5,0  
2RW6    PERR3 COMERRX  6
2X?G    #   
2XBL ...#UNS  CRAMP 
2XFQ ...T6B   LDX   6  PJMOP5(1)           [N/A DUE TO INCOMPLETED MOP COMMAND  
2XJW ...#UNS  CRAMP 
2XN2 ...#SKI
2XR6    T6B   LDX   6  PJMOP2(1)           [MOP TEMPORARILY NOT ALLOWED 
2Y=Q          BRN      T6   
2YJG ...#   
2YW= ...#UNS  CRAMP 
2^82 ...(   
2^FQ ...T6D   TESTRPN2 CONCONL,T6A  
2^RG ...      LDX   6  PJMOP6(1)           [N/A DUE TO ONLINE CONCEPTUALS   
325= ...      BRN      T6   
32C2 ...)   
32NW    #   
338G ...T7    LDX   6  PJMOP1(1)           [UNIT ALREADY MOPPED ON/OFF  
33N6          BRN      T6   
347Q    #   
34MB    TAB   ABANDCOM  
3572    #   
35LL    TGERR GEOERR   1,NOALINES   
366= ...#   
36KW    POUT  STO   4  AWORK4(2)
375G          LDN   4  5
37K6          LDN   3  1                   [PARAMETER LENGTH
384Q          OUTPACKX 4,3,7
38JB          LDX   4  AWORK4(2)
3942          EXIT  4  0
39HL    #   
3=3=    #     SEARCH INTO X2 FOR THE BLOCK WHOSE TYPE IS IN AWORK3(FX2).
3=GW    #     START FROM CONTENTS OF X3, EXIT 0 IF NOT FOUND, EXIT 1 IF OK. 
3?2G    #   
3?G6    SLINE LDX   2  3
3?^Q    SLINF LDX   2  FPTR(2)  
3#FB          LDX   0  ATYPE(2) 
3#^2          BXGE  0  CACT,(6) 
3*DL          SMO      FX2  
3*Y=          TXU   0  AWORK3   
3BCW          BCS      SLINF
3BXG          EXIT  6  1
3CC6    #   
3DW2    NBR   SBX   6  FX1                 [THIS MACRO HAS A LONG EXPANSION 
3D^6 ...#UNS  ENBREAKIN 
3F4= ...      NBREAKIN 1,5,,NBROK   
3F7B ...#UNS  ENBREAKIN 
3F=G ...#SKI
3F*L          NBREAKIN 1,5  
3FT=          SBN   6  1                   [EXIT 0 IF BREAK-IN FAILED   
3G54 ...NBROK   
3G#W          ADX   6  1                   [OR +1 IF OK 
3GSG          EXIT  6  1
3HRQ    #   
3J?B ...XK1 
4#NL          LNLI     CPPTR(3),7   
4*8=          LDX   0  XLINES(1)           [SLOCK TYPE FOR PLEXORS  
4*MW          STO   7  AWORK2(2)
4B7G          STO   0  AWORK3(2)
4BM6          BNG   4  ON2                 [J. IF 'ON' SW. SET. 
4C6Q    #   
4CLB    #     MOP OFF : CHECK NOT ALREADY OFF OR ONLINE ; STOP JOBS IF NECESSARY
4D62    #   
4DKL          CALL  6  SLINE               [FIND AMXOR/ALINES BLOCK.
4F5=          BRN      T7                  [BLOCK MISSING - ALREADY MOPPED OFF  
4FJW          JALLOC   CPPTR(3),ZPX1
4G4G          BRN      ZPX  
4GJ6    ZPX1  JONL     CPPTR(3),T6A 
4GK5 ...#UNS  CRAMP 
4GL4 ...#SKI
4GM3 ...(   
4GN3 ...#UNS IDFMARK8>JSKI04
4GRY ...ZPX   MOPOFF   XBI,T6B,CPPTR(3) 
4GXT ...#UNS IDFMARK8>JSKI04<1$1
4H3Q    ZPX   MOPOFF   T6B,CPPTR(3) 
4H4M ...)   
4H5J ...#UNS  CRAMP 
4H6F ...(   
4H7B ...#UNS  IDFMARK8>JSKI04   
4H8? ...ZPX   MOPOFF   XBI,T6D,CPPTR(3) 
4H98 ...#UNS  IDFMARK8>JSKI04<1$1   
4H=5 ...ZPX   MOPOFF   T6D,CPPTR(3) 
4H?2 ...      LDN   5  2
4H?X ...      SMO      FX1  
4H#S ...      LDX   6  XLI  
4H*P ...      PARABEG  1,5                 [LOOK FOR LI PARAMETER   
4HBL ...      MHUNT    1,CPB,CUNI   
4HCH ...      LDX   0  ANUM(1)  
4HDD ...      STO   0  AWORK4(2)           [SET -VE IF ABSENT   
4HF* ...      FREECORE 1
4HG= ...)   
4HHB    RLOOP LDX   5  AWORK2(2)
4J32          SLL   5  2
4JGL          LDN   4  1
4K2=          ADX   4  AWORK2(2)           [MPX LINE COUNT  
4KFW    NLINE CALL  6  SLINE               [RELOCATE ALINES BLOCK   
4K^G          BRN      TGERR               [MISSING : GEOERR
4LF6          ADX   2  5                   [POINT TO CURRENT RECORD 
4LYQ          LDCH  0  A1+FOURTHWD(2)   
4MDB          DCH   0  7
4MY2          ORN   7  #10                 [SET B2 : MOPPING OFF
4NCL          SRC   0  2
4NX=          BNG   0  UPDAT               [BIT 4 SET : CPA BEING SET UP
4PBW    #SKI  K6MOPCOM>99-99
4PWG    (   
4QB6          SLC   0  1
4QTQ          BPZ   0  NONL                [BIT 5 NOT SET : NOT ONLINE  
4R*B          GEOERR   1,MOPOFFOL   
4RT2    NONL
4S#L    )   
4SS=          LDX   1  A1+BPTR(2)   
4T?W          BZE   1  NOLCB               [NO LINE CONTROL BLOCK   
4TRG          SBN   1  A1                  [POINT TO START OF LCB   
4W?6          LDCT  0  1
4WQQ          ANDX  0  GWAIT(1) 
4X=B          BNZ   0  UPDAT               [J. IF LCB MARKED 'BEING STOPPED'.   
4XQ2    #   
4Y9L          LDX   0  A1+FOURTHWD(2)   
4YP=          ANDN  0  #77                 [MASK FOR TERMINAL TYPE  
4^8W          SBN   0  ASENTMACH
4^NG          BNZ   0  NOSEN               [NOT SENTINEL LINE   
5286          LDXC  0  GWAIT(1) 
52MQ          BCC      UPDAT               [CPA ALREADY ON LIST 
537B          STO   0  GWAIT(1) 
53M2          HUNTACT  AMOP,2,1 
546L          FPUT  
54L=          BRN      SMARK
555W    NOSEN ADN   0  ASENTMACH-APCTMACH   
55KG          BNZ   0  NOPCT
5656 ...      OFF7020                      [STOP 7020 ROUTINES  
56JQ          BRN      OPCT                [X2 NOT OVERWRITTEN BY OFF7020   
574B    NOPCT HUNTACT  CPAT,1              [FIND CPA ASSOCIATED WITH THIS LCB   
578? ...#UNS  CRAMP 
57#8 ...(   
57D5 ...      SMO      FX2  
57J2 ...      LDX   0  AWORK4   
57MX ...      BPZ   0  ZLIM                [J IF LIMBO PARAMETER SPECIFIED  
57RS ...XNBR
57XP ...)   
583L          CALL  6  NBR  
5?F2          BRN      NSTOP               [NOT CURRENTLY STOPPABLE.
5?YL    SMARK CALL  6  SLINE               [RELOCATE ALINES BLOCK   
5#D=          BRN      TGERR               [MISSING : GEOERR
5#XW          ADX   2  5                   [POINT TO CURRENT ALINES RECORD  
5*CG    OPCT  LDX   1  A1+BPTR(2)          [RESET X1 , OR MAYBE TRANSFER ENDED  
5*X6          BZE   1  NOLCB               [WHILE IN PROCONTX   
5BBQ          LDCT  0  1
5BWB          ORS   0  GWAIT-A1(1)         [MARK LCB 'BEING STOPPED'
5CB2    UPDAT SBN   5  4                   [UPDATE MODIFIER 
5CTL          DCH   7  A1+FOURTHWD(2)      [STORE IN ALINES RECORD  
5D*=          BPZ   5  NLINE               [NOT ALL LINES LOOKED AT 
5DSW          LDN   6  2                   [SCAN COMPLETED: SET COUNT.  
5F#G    WATE  COOR4    #62                 [GETS WOKEN UP EVERY FONINTP SECONDS.
5FS6          BCT   6  WATE                [CONTINUE AFTER 4-8 SECS.
5G?Q          BRN      RLOOP               [J. TO RESET CT. FOR NEXT SCAN.  
5G*7 ...#   
5GBJ ...#UNS  CRAMP 
5GC^ ...(   
5GFB ...ZLIM
5GGR ...      BRUSEN   XNBR,1              [J IF NO USER
5GJ8 ...      LDX   6  JOBNO(1) 
5GKK ...      DOWN     PROCONTX,21         [TRY TO SEND INTO LIMBO  
5GM2 ...      BRN      NSTOP               [NOT CURRENTLY POSSIBLE  
5GNC ...      BRN      SMARK               [BEING SENT INTO LIMBO   
5GPS ...)   
5GRB    #   
5H?2    NSTOP CALL  6  SLINE               [RESET POINTER.  
5HQL          BRN      TGERR
5J==          ADX   2  5
5JPW          LDX   1  A1+BPTR(2)          [J. IF STILL BUSY.   
5K9G          BNZ   1  UPDAT
5KP6    NOLCB ANDN  7  #73                 [CLEAR B3 IF SET TO STOP SCAN
5L8Q          ORN   7  #40                 [SET B0 TO INHIBIT PROFLAG   
5LNB          BCT   4  UPDAT               [UPDATE STOPPED COUNT
5M82          DISENGPE CPPTR(3) 
5MML          LGEOG    CPPTR(3),4   
5N7=          CALL  6  SLINE               [RELOCATE & FREE 
5NLW          BRN      TGERR               [MISSING : GEOERR
5P6G          FREECORE 2                   [AMXOR/ALINES BLOCK. 
5Q5Q    #   
8TP=    WNDP  LONGON   #30                 [WAKE UP WAITING ACTIVITIES  
8W8W          CLALLOC   
8WNG          BRN      WNDUP
93JQ    #   
944B    #     MOP ON COMMAND : CHECK ALREADY MOPPED OFF , RIGHTED & NOT ONLINE  
94J2    #   
953L    #   
95H=    ON2   CALL  6  SLINE               [LOOK FOR AMXOR/ALINES BLOCK.
962W          BRN      SCID                [ABSENT : OK.
96GG          ADX   2  ALOGLEN(2)          [PRESENT : CHECK IF ALREADY MOPPED ON
9726          LDCH  0  A1+FOURTHWD-4(2)    [MOP OFF MARKS LAST ALINES RECORD
97FQ          ANDN  0  #10                 [FIRST ; CHECK B2
97^B          BZE   0  T7                  [CLEAR : MOPPED ON ALREADY   
98F2 ...      BRN      T6B                 [SET ; MOP ON  NOT ALLOWED   
98YL    SCID  JONL     CPPTR(3),T6A 
994H ...#UNS IDFMARK8   
998D ...      MOPON    XBI,T6A,CPPTR(3) 
99#* ...#UNS IDFMARK8<1$1   
99D=          MOPON    T6A,CPPTR(3) 
99XW    SCAL  CALL  6  SLINE               [HAS AN ALINES BLOCK APPEARED?   
9=CG          BRN      NOBL                [NO : CONTINUE   
9=X6          LONGHALT TAB,#30  
9?BQ          BRN      SCAL 
9?WB    NOBL  ADN   7  1
9#B2          LDX   4  7
9#TL          SLL   4  2                   [LENGTH OF BLOCK 
9**=          SETXCORE 4,2,AMXOR,ALINES,,7,4
9*SW          LDX   1  2                   [INITIALISE NEW ALINES BLOCK 
9B#G          ADN   1  A1+BPTR  
9BS6          LDN   0  4
9C?Q          LDN   4  0                   [ZEROISE BPTRS   
9CRB          NGN   5  A1                  [FOR BSTARTS 
9D?2          LDCT  6  #40                 [B3 OF FOURTHWDS 
9DQL    TOP   MOVE  0  3
9F==          ADN   1  4
9FPW          SBN   5  4
9G9G          BCT   7  TOP  
9GBN ...#SKI  ICT   
9GHW ...      FON      ADEVLIN      [START ACTIVITIES WAITING FOR ADEVS 
9GLG ...      MHUNTW   2,AMXOR,ALINES   
9GP6          SMO      FX2  
9H8Q          LDX   4  AWORK2              [LINE COUNT , ZERO IF UPX
9HNB          BZE   4  UNAML               [FOR MPX , FIRST ENTRY IS SPURIOUS   
9J82          STOZ     A1+FOURTHWD(2)      [SO ZEROISE FOURTHWD 
9JML    UNAML CHAIN    2,3                 [CHAIN ALINES AFTER AMOP 
9K7=          GETACT   AMSCAN,AMXTYPE      [GET SCANNING ACTIVITY.  
9KLW          LDX   2  3                   [PUT AMOP ON LIST.   
9L6G          FPUT  
9LL6          LDX   2  BPTR(2)             [POINT TO AMSCAN BLOCK   
9M5Q          STO   3  AMOPADDR(2)  
9MKB          LINKSET  2,SCLNK(1)   
9N52          LINKSET  3,PFLNK(1)   
=6=6    #   
=6PQ    ON4   LDX   2  FX2  
=79B    REP1  LDX   3  FPTR(2)  
=7P2    REP2  LDX   0  ATYPE(3)            [CHAIN ANY IDF TYPE BLOCKS   
=88L          BXGE  0  CACT,REP3           [THE NEW ACTIVITY.   
=8N=          LDCH  6  ATYPE(3) 
=97W          SBN   6  IDF/64   
=9MG          LDX   3  FPTR(3)  
==76          BNZ   6  REP2 
==LQ          CHAIN    BPTR(3),BPTR(2)  
=?6B          BRN      REP2 
=?L2    #   
=#5L    REP3  ORX   4  GSIGN               [RESET 'ON' SWITCH   
=#K=          SETALLOC  
=*4W    WNDUP LDX   6  PJMOP3(1)
=*JG    T6    LDX   2  FX2  
=B46          OUTBLOCN 8
=BHQ          BPZ   4  NOTCL
=C3B          CLCOUNT  ,GEORGE  
=CH2          CLCOUNT  ,FAIL
=D2L    NOTCL LDXC  4  4
=DG=          LDN   5  0
=DHD ...#SKI  JWPHASE4  
=DJL ...(   
=DKS ...      LDX   4  PJMOP3(1)
=DM2 ...      SBX   4  6                   [J IF NOT MOP
=DN8 ...      BNZ   4  NOTCOMP             [COMPLETED MESSAGE   
=DPB ...      LGEOG    ,7                  [GEOGRAPHIC NUMBER   
=DQJ ...      LDX   4  5
=DRQ ...      SLL   4  11   
=DSY ...      ORX   7  4                   [ADD MOP ON/OFF BIT  
=DW6 ...      HLSINFORM XBI,MOP,,7         [INFORM HLS OF MOP EVENT 
=DX# ...NOTCOMP 
=DYG ...)   
=D^W          LDX   7  ZSWI(1)  
=FFG          CALL  4  POUT                [OUTPUT SUBMESSAGE   
=F^6          LGEOG    ,5   
=GDQ          GEOPACK  5,5,1
=GYB          LDX   7  ZGEO(1)  
=HD2          CALL  4  POUT                [OUTPUT GEOG. NO.
=HXL          LDX   4  PJMOP3(1)
=JC=          SBX   4  6                   [MOP COMPLETE MESSAGE
=JWW          BNZ   4  NTNF                [-> NO   
=KBG          LGPERIS  ,5   
=KW6          BZE   5  NTNF 
=L*Q          LDX   7  ZTRA(1)  
=LTB          CALL  4  POUT                [OUTPUT TRANSFER COUNT   
=M*2          LFAILS   ,5   
=MSL          BZE   5  NTNF 
=N#=          LDX   7  ZFAI(1)  
=NRW          CALL  4  POUT                [OUTPUT FAIL COUNT   
=P?G    NTNF
=PR6          MARKAXES  
=Q=Q          INFORMX  ,6,1                [MESSAGE TO OPERATORS.   
=QQB    NFERR ENDCOM
=QRR ...#UNS  CCERROR   
=QT8 ...(   
=QWK ...[   
=QY2 ...XK2 
=Q^C ...      FINDACTNO 1,ACOMMUNE9(2),ZUP [FIND ACT TO BE BROKEN IN ON 
=R2S ...      CALL  6  NBR                 [AND BREAK IN
=R49 ...      BRN      ZUP                 [GO UP IF NBREAKIN DID   
=R5L ...ZUP1  UPPLUS   1                   [ELSE UPPLUS 1   
=R73 ...ZUP   UP
=R8D ...)   
=R=2    #   
=RJB ...XBI   GEOERR   1,BREAKIN!          [CANT HAVE BREAK-IN  
=RPL    #SKI  K6MOPCOM>99-99
=S9=    (   
=SNW ...      MENDAREA 50,K100MOPCOMB   
=T8G    )   
=TN6    #END
^^^^ ...55166463000200000000
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1