CONMXC8

(George Source)

Macros used: ACROSS, ALTLENG, BXE, BXGE, BXL, BXU, CHAIN, CHECKB, CHECKEXT, CLEAR, COOR1X, COOR3, DCA, DLCA, FADDRESS, FINDCORE, FINDLCA, FOUTMOVE, FREECORE, GEOERR, GETCOREN, GLPERI, HUNT2B, HUNTMISB, ILLEGALX, JLBUSY, JLLD, JLSBUSY, JLUNBUSY, LINK, LINKSET, LOCKCA, MACCS, MENDAREA, MHUNTW, NAME, OLPFIN1, PMODES, RELOFP, SEGENTRY, SETNCORE, TICKLE, TOPCA1, TRACE, UNPLUG, UP

CONMXC8.txt
22FL    #SEG  CONMXC                       [JOHN BAILEY.
22PD    #OPT K6CONMXC=700   
22^= ...#OPT  K0CONMXC=0
2394 ...#LIS  K0CONMXC>K0CONMX>K0MULTIPLX>K0ALLGEO  
23DW                   8HCONMXC80   
23YG    #   
24D6    #   
24XQ    #     THIS SEGMENT MONITORS AND SERVICES THE PERI INSTRUCTIONS  
25CB    #     ISSUED BY THE OBJECT PROGRAM TO A CONCEPTUAL MPX OR UPX   
25X2    #     THE FIRST PERI MUST HAVE MODE #4000 TO ESTABLISH AN INTERRUPT 
26BL    #     FLAG AREA FOR THE DEVICE (SERVICED BY CONMXA), CONMXC CHECKS  
26W=    #     SUBSEQUENT PERIS AND  
27*W    #      1.REPERIES THE PERIS TO THE ATTACHED LINES TO EXECUTIVE  
27TG    #        USING THE CONTROL AREA IN THE AMOP ACTIVITY BLOCK ASSOCIATED   
28*6    #        WITH THE PARTICULAR LINE INVOLVED.IN THE CORRESPONDING ENTRANT 
28SQ    #        IN CONLCB BLOCK THE CONTENT OF ADDMOP AND BPTR IS NOT EQUAL
29#B    #        ZERO.INTERRUPT FLAGS ON ATTACHED LINES FOR THE OBJECT PROGRAM  
29S2    #        ARE RAISED AUTONOMOUSLY FROM THE AMOP WITHOUT ENTERING EITHER  
2=?L    #      2.PERIS TO LINES WHICH DO NOT EXIST ON THE CONCEPTUAL MPX,BUT
2=R=    #        WHOSE EXISTENCE IS POSSIBLE(LINE NO LESS THAN 64) ARE SERVICED 
2?=W    #        BY THE SEGMENT AS NON IMPLEMENTED PERIS
2?QG    #   
2#=6    #      3.ON RECEIVING A MODE #1000 PERI,THE CONCEPTUAL IS DEEMED TO 
2#PQ    #        HAVE BEEN RELEASED AND THE LINE CONTROL BLOCK IS FREED 
2*9B    #   
2*P2    #      4.ON RECEIVING PERIS TO LINE ZERO AND NON ATTACHED LINES SEGMENT 
2B8L    #        JUMPS ACROSS TO K1CONMXB   
2BN=    #   
2C7W    #   
2CMG    #   
2D76          SEGENTRY K1CONMXC,X1CONMXC
2D## ...#SKI JSKI14 
2DFG ...      SEGENTRY K92CONMXC,X92CONMXC  
2DLQ    #   
2F6B    #   
2FL2    #   
2G5L    #   
2GK=    #DEF  ZLEN=INTRECLEN+INTTIME-INTENT 
2H4W    #   
2HJG    #   
2J46    #   
2JHQ    #   
2K3B    #SKI  BALROG<1$1
2KH2    (   
2L2L    ZAFW        +AFW1   
2LG=                +AFW2   
2L^W                +AFW3   
2MFG                +AFW4   
2M^6    )   
2NDQ    #   
2NYB    RMASK          #60077777
2PD2    RECCON         +CONRECLEN   
2PXL    PJYCOLI        +JYCOLI             [CONCEPTUAL LINE NO.ILLEGAL  
2QC=    PJYNOCA        +JYNOCA             [CONTROL AREA OUT OF RESERVATIONS
2QWW    PJYRESVIOL     +JYRESVIOL          [RESERVATION VIOLATION   
2RBG    PJYCOUNT       +JYCOUNT            [COUNT OUT RANGE 
2RW6    PJYMODE        +JYMODE             [MODE IN ERROR   
2S*Q    PAIR1 LINK     CONMXC,1            [ENTRY POINT FOR ILLEGAL ROUTINES
2STB    #   
2T*2    SUFR  STO   0  ACOMMUNE9(2) 
2TSL          LDX   2  APETADDR(2)  
2W#=          FADDRESS 2,1,HLOCK2   
2WRW          LDX   2  FX2  
2X?G          LDX   0  ACOMMUNE9(2) 
2XR6          EXIT  0  0
2Y=Q    #   
2YQB    #  SUBROUTINE NAFLC FINDS THE CORRESPONDING FLAGCOUNT IN OLPA,PUTS IT   
2^=2    #  IN X4 AND IN X3 IS PUT THE CHARACTER/WORD MODIFIER   
2^PL    #   
329=    #   
32NW    NAFLC LDX   3  AWORK3(2)           [CONCEPTUAL LINE NO. 
338G          SRC   3  2
33N6          SMO      2
347Q          LDCH  4  FLAGCT(3)
34MB          EXIT  0  0
3572    #   
35LL    #   
366=    #  SUBROUTINE NFLWR CREATES THE PATTERN FOR SETTING/UNSETTING THE   
36KW    #  FLAG IN FLAG AREA IN X4 AND THE WORD MODIFIER IN X3  
375G    #   
37K6    NFLWR LDX   3  AWORK3(2)           [LINE NO.
384Q          BNZ   3  REGO 
38JB          LDCT  4  #200 
3942          EXIT  0  0
39HL    REGO  SRC   3  4
3=3=          LDCH  5  3
3=GW          ANDX  3  HALFTOP  
3?2G          SLC   3  4
3?G6          LDCT  4  #400 
3?^Q          SRL   4  0(3)                [CREATE THE PATTERN  
3#FB          LDX   3  5                   [LOAD THE WORD MODIFIER  
3#^2          EXIT  0  0
3*DL    #   
3*Y=    #   
3BCW    #   
3BXG    # SUBROUTINE SETS FLAGS.THE NUMBER OF FLAGS,BY WHICH IS THE FLAGCOUNT   
3CC6    # TO BE INCREASED,IS EXPECTED IN X5 
3CWQ    SUB3  STO   0  AWORK1(2)
3DBB          CALL  0  NAFLC
3DW2          ADX   4  5
3F*L          SMO      2
3FT=          DCH   4  FLAGCT(3)
3G#W          SBX   4  5
3GSG          BZE   4  MFNOS
3H#6    ZORKA LDX   0  AWORK1(2)
3HRQ          EXIT  0  0
3J?B    MFNOS CALL  0  NFLWR
3JR2          LDX   1  CFLAG(2) 
3K=L          ADX   1  3
3KQ=          CALL  0  SUFR 
3L9W          ORS   4  0(1) 
3LPG          LDX   4  CMEMBER(2)          [PROGRAM MEMBER NUMBER   
3M96          TICKLE   JOBNO(2),4   
3MNQ          BRN      ZORKA
3N8B    #   
3NN2    #   THIS SUBROUTINE CHECKS WHETHER 22AM OR 15 AM
3P7L    RMODE LDX   7  APETADDR(2)  
3PM=          LDX   2  EVENT1(2)
3Q6W          PMODES   2,7  
3QLG          ANDN  2  #10  
3R66          BNZ   2  REXMO
3RKQ          LDX   1  FX1  
3S5B          ANDX  5  RMASK(1) 
3SK2    REXMO LDX   2  FX2  
3T4L          EXIT  0  0
3TJ=    #   
3W3W    #  SUBROUTINE CHECKS RESV RESV.VIOLATION AND CALCULATES 
3WHG    #  GE0,ADDRESS OF REPLY WORD FO- NULL LINES AND LINE ZERO ROUTINE   
3X36    SUB5  CHECKB   5,,RESV3,APETADDR(2),,RGER1  
3XGQ          EXIT  4  0
3Y2B    #  FOR THIS SUBROUTINE ONE ASSUMES HLOCKN IN X1 AND THE ADDRESS TO BE   
3YG2    #  CONVERTED IN X5 (N=1,2...N ) 
3Y^L    #   
3^F=    SUB6  ADX   1  APETADDR(2)  
3^YW          FADDRESS 1,5  
42DG          EXIT  4  0
42Y6    #   
43CQ    SUB7  LDX   4  6
43XB          ANDN  4  2
44C2          BZE   4  RDOP 
44WL          CALL  0  NAFLC
45B=          BZE   4  RDOP 
45TW          LDN   4  0
46*G          SMO      2
46T6          DCH   4  FLAGCT(3)
47#Q          CALL  0  NFLWR
47SB          LDX   1  CFLAG(2) 
48#2          ADX   1  3                   [CLEAR THE BIT IN FLAGWORD   
48RL          CALL  0  SUFR 
49?=          ERS   4  0(1) 
49QW    RDOP  EXIT  7  0
4==G    #  THIS SUBROUTINE MOVES NUMBER OF WORDS DEFINED IN X7 FROM AREA DEFINED
4=Q6    #  IN X4(RELATIVE TO OBJECT PROG.) TO AREA DEFINED IN X5 (IN GEORGE)
4?9Q    SUB9  SMO      APETADDR(2)  
4?PB          LDN   1  HLOCK1   
4#92          STO   0  ACOMMUNE9(2) 
4#NL          FOUTMOVE 1,4,5,7  
4*8=          LDX   0  ACOMMUNE9(2) 
4*MW          EXIT  0  0
4B7G    #   
4BM6    SREWO SLC   6  1                   [SET EITHER B4 AND B5,OR B4 ONLY 
4C6Q    RSEW  BNG   6  RMAJ 
4CLB          LDCT  4  #30  
4D62          EXIT  0  0
4DKL    RMAJ  LDCT  4  #20  
4F5=          EXIT  0  0
4FJW    #   
4G4G    OUTAC LDX   2  FX2  
4GJ6          MACCS    ,APETADDR(2),3   
4H3Q          LDCT  0  #400 
4HHB          STO   0  9(3) 
4J32          BRN      MOLFI
4JGL    OUTRE LDX   2  FX2  
4K2=          MACCS    ,APETADDR(2),3   
4KFW          STOZ     9(3) 
4K^G    MOLFI   
4LF6    #SKI  K6CONMX>99-99 
4LYQ          TRACE    9(3),WOKEN UP
4MDB          LDX  1   FX1  
4MY2          OLPFIN1  PAIR1(1) 
4NCL    #   
4NX=    #   
4PBW    NOLIL LDX   5  PJYCOLI(1)   
4PWG          BRN      MCURD
4QB6    RESV2 LDX   1  FX1  
4QTQ          LDX   5  PJYNOCA(1)   
4R*B          BRN      MCURD
4RT2    RESV3 LDX   1  FX1  
4S#L          LDX   5  PJYRESVIOL(1)
4SS=          BRN      MCURD
4T?W    MCOWR LDX   1  FX1  
4TRG          LDX   5  PJYCOUNT(1)  
4W?6          BRN      MCURD
4WQQ    MODIL LDX   5  PJYMODE(1)   
4X=B    MCURD LDX   2  FX2  
4XQ2          MACCS    ,APETADDR(2),3   
4Y9L          STOZ     9(3) 
4YP=          TOPCA1   PAIR1(1) 
4^8W          UNPLUG
4^NG          ILLEGALX 5
4^P2 ...#SKI JSKI14 
4^PG ...(   
4^Q2 ...RCHN  LDX   2  FX1  
4^QG ...      SBN   2  A1   
4^R2 ...      LDX   1  ATYPE(2) 
4^RG ...      BNZ   1  ZNNN 
4^S2 ...      LDX   1  BPTR(2)  
4^SG ...      BZE   1  ZNNN 
4^T2 ...      SMO      FPTR(2)  
4^TG ...      STO   1  BPTR 
4^W2 ...      LDX   1  FPTR(2)  
4^WG ...      SMO      BPTR(2)  
4^X2 ...      STO   1  FPTR 
4^XG ...      STOZ     BPTR(2)  
4^Y2 ...      STO   2  FPTR(2)  
4^YG ...ZNNN  LDX   1  FX1  
4^^2 ...      LDX   2  FX2  
4^^G ...      EXIT  0  0
5222 ...RMV   LDEX  3  4
522G ...      BZE   3  ZEMV 
5232 ...      SMO      3
523G ...NMV   MOVE  1  0
5242 ...      ADX   1  3
524G ...      ADX   2  3
5252 ...      SBX   4  3
525G ...ZEMV  LDN   3  512  
5262 ...      BNZ   4  NMV  
526G ...      EXIT  0  0
5272 ...)   
5286    #                                  [ENTRY FOR ALL SUBSEQUENT PERIS. 
52MQ    X1CONMXC
537B    #   
53M2    #           IN EVENT 2 IN OLPA IS THE ADDRESS OF CA RELATIVE TO OP DATUM
546L    #           IN EVENT 3 IN OLPA IS THE LINE NO.  
54L=    #           IN APETADDR IN OLPA IS THE PCA ADDRESS  
54RD ...#SKI JSKI14 
54YL ...      CALL  0  RCHN 
555W          STOZ     6
55KG          LDX   1  APETADDR(2)  
5656          LDX   3  EVENT2(2)           [ADDRESS OF CA RELATIVE TO OP
56JQ          LOCKCA   1,3,3               [GEO.ADDR.OF CA IN OP INTO X3
574B          STO   3  AWORK4(2)           [GEORGE ADDRESS OF OP CA 
57J2          LDX   5  CFLAG(2)            [LOCK F.A INTO HLOCK1
583L          CALL  4  SUB5 
58H=          LDX   5  0(3) 
592W          ANDX  5  BSP16               [B9-B23 OF TYPE/MODE WORD
59GG          STO   5  AWORK1(2)           [INTO AWORK1 
5=26          LDX   1  FX1  
5=FQ          BZE   5  MODIL               [MODE #0 IS ILLEGAL  
5=^B          LDN   4  #4200               [J. IF MODE #4000 OR MODE #200.  
5?F2          ANDX  4  5
5?YL          BNZ   4  TICK1
5#D=          MHUNTW   3,AMXOR,CONLCB      [DEFINE GA OF A1 IN CONLCB   
5#XW          LDX   7  3
5*CG          ADN   3  A1   
5*X6          LDN   4  #1000               [BRANCH IF MODE #1000
5BBQ          BXE   5  4,M1000  
5BWB          LDX   4  CMAXLINE(2)         [IS IT UPX   
5CB2          STOZ     AWORK3(2)
5CTL    #   
5D*=    #SKI  K6CONMX>99-99 
5DSW    (   
5F#G          TRACE    EVENT3(2),LINE NO
5FS6          TRACE    AWORK1(2),MODE   
5G?Q    )   
5GRB          BZE   4  UNIPL
5H?2          LDX   2  EVENT3(2)           [LOAD THE LINE NUMBER
5HQL          SRL   2  6
5J==          SMO      FX2  
5JPW          STO   2  AWORK3              [LINE NO.
5K9G          BZE   2  NICLI               [J TO LINE ZERO ROUTINES 
5KP6          BXL   2  4,NOLAJ             [LINE NO LE OR EQ <CMAXLINE> 
5L8Q          BXE   2  4,NOLAJ  
5LNB          LDN   4  #100 
5M82          BXGE  2  4,NOLIL             [LINE NO GE OR EQ 64 
5MML          LDCT  6  #600                [SET MARKER NOT LINE ZERO END
5N7=          LDX   2  FX2                 [J TO NON EXISTENT LINES ROUTINE 
5NLW          BRN      VUBLI
5P6G    NOLAJ MPA   2  RECCON(1)           [CALCULATE THE ADDRESS OF THE
5PL6          LDX   2  FX2                 [CORRESPONDING ELEMENT   
5Q5Q    UNIPL STO   3  AWORK2(2)           [ELEMENT ADDRESS INTO AWORK2 
5QKB          LDX   4  ADDMOP(3)           [WHEN EQUALS ZERO
5R52          BZE   4  NOOPR               [J TO NON ATTACHED-NULL LINE ROUTINES
5RJL          LDCT  6  #400 
5S4=          STO   4  AWORK4(2)           [AMOP ADDRESS
5SHW          SMO      4
5T3G          LDX   0  CPPTR
5TH6          STO   0  ACOMMUNE2(2)        [POINTER TO THE DEVICE LIST  
5W2Q          LDX   0  ACTUAL(3)
5WGB          ANDX  0  BSP16
5X22          STO   0  ACOMMUNE1(2)        [ACTUAL LINE NO  
5XFL          LDX   4  1
5X^=          FINDLCA  ACOMMUNE2(2),ACOMMUNE1(2)
5YDW          STO   1  ACOMMUNE3(2) 
5YYG          LDX   1  4
5^D6          BRN      VUBLI
5^XQ    NOOPR LDCT  6  #200                [NON ATTACHED LINES  
62CB    RIDIO SBS   7  AWORK2(2)           [DISTANCE OF THE CONLCB ENTRANT FROM 
62X2                                       [THE BEGINNING OF THE BLOCK  
63BL          ACROSS   CONMXB,1 
63W=    NICLI LDX   2  FX2  
64*W          STO   3  AWORK2(2)           [ELEMENT ADDRESS 
64TG          BRN      RIDIO
65*6    #   
65SQ    #   
66#B    #  TYPE/MODE WORD IS CHECKED-IF MODE #2000 ONLY -B20 SET
66S2    #                           -IF MODE #2000 WITH OTHER MODES -B21 SET
67?L    #                           -IF MODE #2000 TOGETHER WITH #10 MODE - 
67R=    #                            ERROR IN MODE DISPLAYED AND PERI REJECTED  
68=W    #   
68QG    VUBLI LDX   5  AWORK1(2)           [MODE WORD   
69=6          LDX   4  5                   [CHECK IF BITS 14,15,16,17 SET   
69PQ          ANDN  4  #1700
6=9B          BNZ   4  MODIL
6=P2          LDN   4  #2000
6?8L          BXU   5  4,NEDVO             [IF MODE #2000 ONLY SET BIT 20   
6?N=          ORN   6  #10  
6#7W          BRN      NODUT
6#MG    NEDVO ANDX  4  5
6*76          BZE   4  NEKAM               [J IF NOT MODE #2000 AT ALL  
6*LQ          ANDN  5  #10  
6B6B          BNZ   5  MODIL               [IF MODE #10 PRESENT,GO ILLEGAL  
6BL2          ORN   6  4                   [IN OTHER CASE SET B21   
6C5L    NODUT CALL  0  NAFLC               [FLAGCOUNT INTO X4   
6CK=          BNZ   4  RFVP 
6D4W          BRN      TONCA               [TEMPORARY FRIG ONLY!!!!!!!!!!!!!!!! 
6DJG    #   
6F46    #   
6FHQ    #   
6G3B          LDX   1  ACOMMUNE3(2)        [LCA DISPLACEMENT
6GH2          DLCA     1,LDX,0,FLAG 
6H2L          ANDN  0  #77  
6HG=          BZE   0  TONCA               [IF NOT A FLAG DO NOTHING DND CARRY O
6H^W          LDX   1  AWORK2(2)           [CONLCB ENTRY
6JFG          LDCT  0  1
6J^6          SMO      BPTR(1)  
6KDQ          ORS   0  FOURTHWD 
6KYB          BRN      TONCA
6LD2    RFVP  SBN   4  1
6LXL          SMO      2                   [UNSET IN FLAGCOUNT ONE FLAG 
6MC=          DCH   4  FLAGCT(3)
6MWW          BZE   4  TYNA 
6NBG          LDX   4  CMEMBER(2)   
6NW6          TICKLE   JOBNO(2),4   
6P*Q          BRN      TONCA
6PTB    TYNA                               [FLAG PATTERN INTO X4, MODIFIER INTO 
6Q*2          CALL  0  NFLWR               [X3  
6QSL          LDX   1  CFLAG(2)            [RELATIVE ADDRESS OF F.A AND REL.ADDR
6R#=          ADX   1  3                   [OF THE CORRESPONDING WORD IN IT 
6RRW          CALL  0  SUFR 
6S?G          ERS   4  0(1)                [SET THE FLAG
6SR6    #   
6T=Q    #   
6TQB    #   
6W=2    TONCA LDX   4  6                   [IF MODE #2000 ONLY  ACCEPTED
6WPL          ANDN  4  #10                 [AND WAKE THE PROGRAM
6X9=          BZE   4  NEKAM
6XNW          LDX   5  EVENT2(2)           [RELATIVE ADDRESS OF CA  
6Y8G          ADN   5  1                   [DEFINE REL.ADDRESS OF CA2   
6YN6          LDN   1  HLOCK1   
6^7Q          CALL  4  SUB6                [CONVERT TO GEO.ADDR.
6^MB          SMO      5
7272          LDX   5  0
72LL          CALL  0  RMODE               [CHECK MODE  
736=          CALL  4  SUB5                [CHECK WHETHER REPLY WORD WITHIN RESV
73KW          BRN      OUTAC
745G    #   
74K6    #  THIS SUBROUTINE ANALYSES  MODES LE OR EQ #63 
754Q    #   
75JB    #   
7642    #   
76HL    NEKAM LDX   3  AWORK2(2)           [ADDRESS OF CONLCB INTO X3   
773=          LDX   4  AWORK1(2)           [MODE
77GW          ANDN  4  7
782G          SBN   4  3
78G6          BZE   4  RCHE 
78^Q          SBN   4  3
79FB          BNZ   4  ROKO                [IF DOUBLE TRANSFER CHECK
79^2    RCHE  LDN   5  7                   [WHETHER THE WHOLE(7 WORDS) OF CA
7=DL          CHECKEXT EVENT2(2),5,RESV2,APETADDR(2),,RGER1,HLOCK1 [IS WITHIN   
7=Y=                                       [RESERVATIONS
7?CW    ROKO  LDX   4  AWORK1(2)
7?XG          ANDN  4  #77                 [MASK LAST SIX BITS  
7#C6          LDN   5  #30                 [IF MODE LE #30 J
7#WQ          BXL   4  5,MODNI  
7*BB    #   
7*W2          LDN   5  #40                 [IF MODE GE OR EQ #40 J  
7B*L          BXGE  4  5,MODVY  
7BT=          BRN      MODIL               [IN ANY OTHER CASE ERROR IN MODE 
7C#W    #   
7CSG    #   
7D#6    #   
7DRQ    MODVY SRC   4  5                   [IF B19 SET J MOD60  
7F?B          BNG   4  MOD60
7FR2    #   
7G=L          SLC   4  1
7GQ=          BNG   4  MOD50               [IF B20 SET J MOD50  
7H9W    #   
7HPG          SLC   4  4
7J96          ERN   4  #42                 [MODE #42 ?  
7JNQ          BNZ   4  MOD43
7K8B          LDN   4  #42  
7KN2          STO   4  AWORK1(2)
7L7L          STOZ     AWORK2(2)           [MODE #42
7LM=          BRN      MODOK
7M6W    [   
7MLG    MOD43 ERN   4  1                   [MODE #43?   
7N66          BNZ   4  MODIL               [IF NOT GO ILLEGAL   
7NKQ    [   
7P5B          LDN   4  1
7PK2          STO   4  AWORK1(2)
7Q4L          LDN   4  #42  
7QJ=          STO   4  AWORK2(2)           [MODE #43
7R3W          BRN      MODOK
7RHG    MOD60 SLC   4  5
7S36          ERN   4  #62                 [MODE #62?   
7SGQ          BNZ   4  MOD66
7T2B          LDN   4  #62  
7TG2          STO   4  AWORK1(2)
7T^L          STOZ     AWORK2(2)           [MODE #62
7WF=          BRN      MODOK
7WYW    [   
7XDG    MOD66 ERN   4  4                   [MODE #66?   
7XY6          BNZ   4  MODIL
7YCQ          LDN   4  #42  
7YXB          STO   4  AWORK1(2)
7^C2          LDN   4  #22  
7^WL          STO   4  AWORK2(2)           [MODE #66
82B=          BRN      MODOK
82TW    [   
83*G    MOD50 SLC   4  4
83T6          ERN   4  #53                 [MODE #53?   
84#Q          BNZ   4  MODIL
84SB          ORN   6  2                   [SET B22 IN X6 -MODE #10 
85#2          LDN   4  #11  
85RL          STO   4  AWORK1(2)           [MODE #53
86?=          LDN   4  #42  
86QW          STO   4  AWORK2(2)
87=G          BRN      MODOK
87Q6    MODNI SRC   4  5                   [B19 SET,MOD #20 ?   
889Q          BPZ   4  MOMAL
88PB          SLC   4  2                   [B21 SET ?   
8992          BNG   4  MOD26
89NL          SLC   4  3
8=8=          ERN   4  #22                 [MODE #22 ?  
8=MW          BNZ   4  MOD23
8?7G          LDN   4  #22                 [MODE #22
8?M6          STO   4  AWORK1(2)
8#6Q          STOZ     AWORK2(2)
8#LB          BRN      MODOK
8*62    [   
8*KL    MOD23 ERN   4  3                   [IF NOT MODE #21 MODE ILLEGAL
8B5=          BNZ   4  MODIL
8BJW          LDN   4  #21  
8C4G          STO   4  AWORK1(2)           [MODE #21
8CJ6          STOZ     AWORK2(2)
8D3Q          BRN      MODOK
8DHB    [   
8F32    MOD26 SLC   4  3
8FGL          ERN   4  #26                 [IF MODE #26 THAN OK OTHERWISE   
8G2=          BNZ   4  MODIL               [ILLEGAL 
8GFW          LDN   4  2
8G^G          STO   4  AWORK1(2)
8HF6          LDN   4  #22  
8HYQ          STO   4  AWORK2(2)           [MODE #26
8JDB          BRN      MODOK
8JY2    MOMAL SLC   4  1                   [IF BIT 20 IN X4 NOT SET J MODJE 
8KCL          BPZ   4  MODJE
8KX=    [   
8LBW          SLC   4  4
8LWG          ERN   4  #11                 [MODE #11 ?  
8MB6          BNZ   4  MOD13
8MTQ          ORN   6  2                   [SET B22 IN X6 -MODE #10 
8N*B          LDN   4  #11  
8NT2          STO   4  AWORK1(2)
8P#L          STOZ     AWORK2(2)           [MODE #11
8PS=          BRN      MODOK
8Q?W    [   
8QRG    MOD13 ERN   4  2                   [IF ALSO NOT MODE #13,MODE ILLEGAL   
8R?6          BNZ   4  MODIL
8RQQ          ORN   6  2
8S=B          LDN   4  #11  
8SQ2          STO   4  AWORK1(2)
8T9L          LDN   4  2
8TP=          STO   4  AWORK2(2)           [MODE #13
8W8W          BRN      MODOK               [B22 - MOD *10   
8WNG    [   
8X86    MODJE SLC   4  1                   [IF B21 NOT SET J M123   
8XMQ          BPZ   4  M123 
8Y7B    [   
8YM2          SLC   4  3                   [MODE#4 ?
8^6L          ERN   4  4
8^L=          BNZ   4  MODIL
925W          LDX   3  ACOMMUNE3(2)        [MODE *4 
92KG          JLUNBUSY 3,OUTAC             [ACCEPT IMMEDIATELY IF NOT BUSY. 
9356          LDX   4  ACOMMUNE1(2)        [PERI *40004 + LINE NO INTO DCA  
93JQ          SRC   4  9
944B          ORX   4  BIT9 
94J2          ORN   4  4
953L          DCA      ACOMMUNE2(2),STO,4,MODE  
95H=          GLPERI   ACOMMUNE2(2) 
962W          JLBUSY   3,OUTRE  
96GG          BRN      OUTAC
9726    M123  LDN   0  1
97FQ          LDN   5  2
97^B          SLC   4  3
98F2          SBN   4  2
98YL          BNG   4  MOD1                [J FOR MODE #1   
99D=          BZE   4  MOD2                [J FOR MODE #2   
99XW          STO   0  AWORK1(2)
9=CG          STO   5  AWORK2(2)           [MODE #3 
9=X6          BRN      MODOK
9?BQ    MOD2  STO   5  AWORK1(2)           [MODE #2 
9?WB          BRN      ROK  
9#B2    MOD1  STO   0  AWORK1(2)           [MODE #1 
9#TL    ROK   STOZ     AWORK2(2)
9**=    #   
9*SW    MODOK SLC   6  1                   [CHECK IF NORMAL  LINES OR   
9B#G          BNG   6  ZVLAL               [LEGAL LINES BUT NOT AVAILABLE   
9BS6          SRC   6  1                   [OR LINE REFERRING TO NULL ELEMENT   
9C?Q    #   
9CRB          CALL  7  SUB7                [CALL SUBROUTINE WHICH CHECKS THE
9D?2                                       [PRESENCE OF M #10 & UNSETS ALL FLAGS
9DQL          LDX   3  AWORK4(2)           [ADDRESS OF AMOP INTO X3 
9F==          LDX   4  AWORK1(3)
9FPW          ADN   4  1                   [STORE MAX.NO OF CHARACTERS TO BE
9G9G          STO   4  AWORK3(2)           [TRANSFERRED INTO AWORK3 
9GP6    #   
9H8Q          LDX   3  ACOMMUNE3(2)        [LINE ENTRY DISPLACEMENT IN LCA  
9HNB          LDN   4  1                   [PRESET TO ACCESS WDS 2-4 OF O.P. CA.
9J82          JLUNBUSY 3,RLCFR             [J. IF CURRENT IS FREE.  
9JML          LDX   0  AWORK2(2)           [J. TO REJECT IF DOUBLE TRANSFER 
9K7=          BNZ   0  OUTRE
9KLW          JLSBUSY  3,OUTRE             [OR SPOUT IS ALSO BUSY.  
9L6G    RSPOU ADN   3  ILMODE2-ILMODE      [SET MODIFIER TO ACCESS SPOUT.   
9LL6    RLCFR ADX   4  EVENT2(2)           [PTR. TO RELEVANT PART OF O.P. C.A.  
9M5Q          LDN   5  5                   [MOVE 3 WDS (CA2-CA4 OR CA5-CA7) INTO
9MKB          LDN   7  3                   [X5,X6,X7.   
9N52          CALL  0  SUB9 
9NJL          LDX   4  AWORK1(2)           [MODE
9P4=          ORX   4  BIT9                [PLUS ADDITIVE #40000.   
9PHW    RELO  DLCA     3,DLA,6,COUNT       [SET UP LCA. 
9Q3G          DLCA     3,STO,7,CTSA 
9QH6          DLCA     3,DLA,4,MODE        [RWA GOES IN LAST TO PREVENT ANY 
9R2Q          DLCA     3,STO,5,CREP        [PREMATURE DESPOUTING BY EXEC.   
9RGB          LDX   0  AWORK2(2)           [J. IF SPOUT NOW DEALT WITH OR IF
9S22          BZE   0  RKON                [SINGLE TRANSFER.
9SFL          LDN   4  4                   [ACCESS O.P.'S CA5-CA7.  
9S^=          STO   0  AWORK1(2)           [STORE SPOUTED MODE. 
9TDW          STOZ     AWORK2(2)           [SET MARKER TO SHOW FINISHED AT NEXT 
9TYG          BRN      RSPOU               [TEST.   
9WD6    RKON  LDX   3  ACOMMUNE3(2)        [LCA POINTER.
9WXQ          JLLD     3,XDESP             [J. UNLESS CURRENT TERMINATED WHILE  
9XCB          DLCA     3,STOZ,,CREP2       [LOADING SPOUT: IF SO CLEAR SPOUT &  
9XX2          BRN      RELO                [J. TO SET UP CURRENT INSTEAD.   
9YBL    XDESP LDX   4  ACOMMUNE1(2)        [LINE NO.
9YW=          SRC   4  9
9^*W          DCA      ACOMMUNE2(2),STO,4,MODE [INTO TOP 9 BITS OF K50 MODE WORD
9^TG          LDX   4  APETADDR(2)  
=2*6          ADN   4  ASTOP
=2SQ          DCA      ACOMMUNE2(2),STO,4,DTSA  
=3#B    RX3   GLPERI   ACOMMUNE2(2) 
=3S2          LDX   4  9
=4?L          BNG   4  OUTAC
=4R=          MACCS    ,APETADDR(2),3   
=5=W          STOZ     9(3) 
=5QG          LDX   1  FX1  
=6=6    #SKI  BALROG<1$1
=6PQ    (   
=79B          SMO      APETADDR(2)  
=7P2          LDCH  3  ANM  
=88L          SMO      FX1  
=8N=          LDX   3  ZAFW(3)  
=97W          SMO      APETADDR(2)  
=9MG          LDN   0  0(3) 
==76          SMO      APETADDR(2)  
==LQ          STO   0  CHAINADD+K47 
=?6B    )   
=?L2    #SKI  BALROG
=#5L    (   
=#K=          LDX   0  APETADDR(2)  
=*4W          SMO      0
=*JG          STO   0  CHAINADD+K47 
=B46    )   
=BHQ          LINKSET  2,PAIR1  
=C3B          COOR1X
=CH2    #   
=D2L    #  THIS ROUTINE SERVICES LINES LEGAL BUT NOT AVAILABLE  
=DG=    #   
=D^W    ZVLAL LDX   4  AWORK1(2)           [MODE
=FFG          SBN   4  4                   [IF MODE #4,ACCEPT THE PERI  
=F^6          BZE   4  OUTAC
=GDQ          SRC   6  1
=GYB          CALL  7  SUB7                [SUB7 CHECKS THE PRESENCE OF MODE #10
=HD2          STOZ     7
=HXL          LDN   5  1
=JC=    ZDENA ADX   5  EVENT2(2)           [REL.ADDRESS OF THE CA2 OR CA5   
=JWW          LDN   1  HLOCK1   
=KBG          CALL  4  SUB6                [CALCULATE GA OF CA2 OR CA5  
=KW6          SMO      5
=L*Q          LDX   5  0
=LTB          CALL  0  RMODE               [CHECK MODE OF REPLY WORD
=M*2          CALL  4  SUB5                [CHECK WHETHER WITHIN RESV.VIOL  
=MSL          LDN   1  HLOCK3   
=N#=          CALL  4  SUB6                [GEO ADDR OF R.W.
=NRW          LDCT  4  #20                 [SET IN THE 1ST OR 2ND R.W.B4 - NOT  
=P?G          SMO      5                   [IMPLEMENTED 
=PR6          STO   4  0
=Q=Q          ADN   7  1                   [NO OF FLAGS 
=QQB          LDX   0  AWORK2(2)
=R=2          BZE   0  SEPAP               [IF SINGLE TRANSFER J
=RPL          STOZ     AWORK2(2)
=S9=          LDN   5  4
=SNW    #SKI  G4
=T8G          CLEAR    APETADDR(2),0,HLOCK3 
=TN6          BRN      ZDENA
=W7Q    SEPAP LDX   5  7
=WMB          CALL  0  SUB3                [CALL SUBROUTINE FOR SETTING FLAGS   
=X72          BRN      OUTAC
=XLL    #   
=Y6=    #   
=YKW    #     THIS ROUTINE SERVICES MODE #200 PERIS.
=^5G    #   
=^K6    #   
?24Q    TICK1 ANDN  4  #4000               [MODE #4000 IS ILLEGAL AT THIS POINT.
?2JB          BNZ   4  MODIL
?342          LDX   6  CMAXLINE(2)         [MODE #200 IS ILLEGAL FOR UNIPLEXERS.
?3HL          BZE   6  MODIL
?43=          LDX   1  EVENT2(2)           [GET 2ND. WORD OF CONTROL AREA.  
?4GW          ADN   1  1
?52G          SMO      APETADDR(2)  
?5G6          LDN   3  HLOCK1   
?5^Q          FADDRESS 3,1  
?6FB          LDXC  6  0(1)                [NO. OF 100 MILLISEC. INTERVALS  
?6^2          BCS      MODIL               [REQUIRED BETWEEN TIMING INTERRUPTS. 
?7DL          BZE   6  MODIL               [ILLEGAL IF -VE. OR ZERO.
?7Y=    #SKI  K6CONMXC>99-99
?8CW          TRACE    6,MODE 200   
?8XG          LDX   7  EVENT3(2)           [CONTENTS OF (POSSIBLY REPLACED) X.  
?9C6          ADN   6  1                   [GEORGE TIMING IS IN 200 MILLISECS.  
?9WQ          ANDN  7  #77                 [GET UNIT NO.
?=BB          SRL   6  1                   [ROUND COUNT UP & DIVIDE BY 2.   
?=W2    TICK2 HUNTMISB 3,AMXOR,INTRPT      [LOOK FOR TABLE OF THE TICKLEWORTHY. 
??*L          BPZ   3  TICK8               [J. IF ONE ALREADY EXISTS.   
??T=          BNG   4  TICK6               [J. IF WE'VE JUST SET ONE UP & ITS OK
?##W          BNZ   4  TICK4               [J. IF ONE WAS THERE BUT NO LONGER IS
?#SG          LDN   3  INTTIME-INTENT      [NO BLOCK THERE : MUST SET ONE UP.   
?*#6          LDCT  4  #400                [SET SWITCH TO SHOW START FROM SCRATC
?*HY ...#SKI  JSKI14<1$1
?*RQ    TICK3 SETNCORE INTRECLEN(3),1,AMXOR,INTRPT [GET A NEW (OR LARGER) BLOCK.
?*T7 ...#SKI  JSKI14
?*WJ ...(   
?*X^ ...TICK3 GETCOREN INTRECLEN(3),0   
?*^B ...      BRN      YSCOR
?B2R ...      CALL  0  RCHN 
?B48 ...      COOR3    #1   
?B4W ...      CALL  0  RCHN 
?B5K ...      BRN      TICK3
?B72 ...YSCOR FINDCORE 1
?B8C ...      NAME     1,AMXOR,INTRPT   
?B9S ...)   
?B?B          STOZ     INTENT(1)           [ONLY REALLY NEEDED FOR NEW BLOCK.   
?BR2          LDX   5  1
?BTK ...#SKI  JSKI14
?BY8 ...(   
?C2R ...      CALL  0  RCHN 
?C5B ...      LDX   1  5
?C7^ ...)   
?C=L          BRN      TICK2               [FIND TABLE (IF ANY) AFTER COOR. 
?CQ=    TICK4 LDN   4  ZLEN                [TABLE GONE : CUT NEW ONE TO 1 ENTRY.
?D9W    TICK5 ALTLENG  1,4                 [CUT BACK SIZE OF BLOCK JUST SET UP. 
?DPG          LDX   1  5
?F96    TICK6 LDX   3  5
?FNQ          CHAIN    1,BMISC+1           [CHAIN NEW BLOCK INTO MISCELLANEOUS  
?G8B          LDX   1  3                   [CHAIN.  
?GN2          LDN   0  1                   [ADD 1 TO COUNT OF ENTRIES.  
?H7L          ADX   1  ALOGLEN(3)   
?HM=          ADS   0  INTENT(3)
?J6W          LDX   4  JOBNO(2) 
?JLG    TICK7 LDX   5  CFLAG(2)            [ADDRESS OF 1ST. WD. OF FLAG AREA.   
?K66          STO   6  INTTIME-ZLEN(1)     [NO. OF SPRING CLEANS PER TICKLE.
?KKQ          ADN   5  3                   [INTERRUPT FLAG GOES IN LAST WORD.   
?L5B          STO   7  INTUNIT-ZLEN(1)     [UNIT NO.
?LK2          STO   6  INTNEXT-ZLEN(1)     [######SC'S TO NEXT TICKLE. (+1 INITI
?M4L          STO   5  INTFLAG-ZLEN(1)     [ADDRESS OF FLAG WORD.        [ALLY).
?MJ=          STO   4  INTJOBNO-ZLEN(1)    [JOB NO. 
?N3W          BRN      OUTAC               [SET "ACCEPTED" & OLPFIN.
?NHG    TICK8 BZE   4  TIK10               [J. IF 1ST. TIME THROUGH.
?P36          LDX   2  ALOGLEN(3)          [IS BLOCK JUST SET UP STILL BIG ENOUG
?PGQ          BXGE  2  ALOGLEN(1),TICK9    [J. IF NOT, TO GET ANOTHER ONE   
?Q2B          LDN   4  INTENT(3)           [OTHERWISE SHIFT CONTENTS OF OLD 
?QG2          LDN   5  INTENT(1)           [BLOCK INTO NEW ONE. 
?Q^L          MOVE  4  0(2) 
?RF=          SBN   5  INTENT              [REMEMBER ADDRESS OF NEW BLOCK.  
?RYW          LDN   4  INTRECLEN(2)        [& SIZE OF OLD 1 PLUS 1 TABLE ENTRY. 
?SDG          FREECORE 3                   [FREE OLD BLOCK. 
?SY6          LDX   1  5                   [J. IF NEW BLOCK JUST RIGHT  
?TCQ          BXE   4  ALOGLEN(1),TICK6 
?TXB          BRN      TICK5               [OTHERWISE SHORTEN IT AS NECESSARY.  
?WC2    TICK9 FREECORE 1                   [FREE NEW BLOCK ('COS ITS TOO SHORT).
?WWL          BRN      TIK13               [J. TO GET NEW NEW BLOCK.
?XB=    TIK10 LDX   4  JOBNO(2)            [SEE IF THERE IS ALREADY AN ENTRY
?XTW          LDN   1  ZLEN(3)             [FOR THIS UNIT.  
?Y*G          LDX   0  INTENT(3)
?YT6    TIK11 LDN   5  INTRECLEN(1) 
?^#Q          BXU   4  INTJOBNO-ZLEN(1),TIK12   
?^SB          BXE   7  INTUNIT-ZLEN(1),TICK7 [J. IF AN OLD ENTRY FOUND : OVERWRI
#2#2    TIK12 LDX   1  5                                                    [IT.
#2RL          BCT   0  TIK11
#3?=    TIK13 LDX   3  ALOGLEN(3)          [NO PREVIOUS ENTRY : GET NEW, LONGER 
#3QW          BRN      TICK3               [BLOCK & COPY OLD TABLE INTO IT. 
#4=G    #   
#4Q6    #   
#59Q    #      THIS ROUTINE SERVICES MODE #1000 PERIS.  
#5PB    #   
#692    #   
#6NL    M1000   
#78=    #SKI  K6CONMX>99-99 
#7MW          TRACE    AWORK1(2),M1000  
#87G          LDX   6  CMAXLINE(2)         [HIGHEST LINE NO AS A COUNT  
#8M6          BZE   6  SECOM               [UPX OR MPX ?
#96Q          LDX   1  ADDMOP(3)           [CHECK IF ANY TRANSFER CONCERNING
#9LB          BZE   1  MJEJE               [LINE ZERO IN PROGRESS   
#=62          BRN      OUTRE
#=KL    SECOM SBN   3  CONRECLEN           [IN X3 IS THE ADDR OF A1 IN CONLCB   
#?5=          ADN   6  1
#?JW    MJEJE ADN   3  CONRECLEN           [CREATE THE ADDRESS OF NEXT ENTRANT  
##4G          LDX   4  BPTR(3)             [THE LINE IS CHECKED WHETHER IT IS   
##J6          BZE   4  METE                [BUSY.IF BPTR=0 LINE CAN'T BE BUSY   
#*3Q          LDX   4  ADDMOP(3)           [IF BPTR IS NOT ZERO AND ADDMOP=0
#*HB          BZE   4  OUTRE               [LINE IS BUSY-A NON-ATTACHED LINE
#B32                                       [WITH STORED READ
#BGL          SMO      4
#C2=          LDX   1  CPPTR               [POINTER TO DEVICE LIST  
#CFW          STO   1  AWORK2(2)
#C^G          LDX   4  ACTUAL(3)           [LOAD THE ACTUAL LINE NO AND UNIT NO 
#DF6          ANDX  4  BSP16               [INTO X4 
#DYQ          FINDLCA  AWORK2(2),4  
#FDB          JLBUSY   1,OUTRE  
#FY2    METE  BCT   6  MJEJE               [IF NOT BUSY CHECK FURTHER LINE  
#GCL          MACCS    ,APETADDR(2),1   
#GX=          LDX   0  GSIGN               [SET W9 ACCEPTED 
#HBW          STO   0  9(1) 
#HWG    #   
#JB6    #  THIS ROUTINE UNRINGS THE ELEMENTS IN AMXOR,ALINES AND CONLCB BLOCKS  
#JTQ    #   
#K*B          LDX   6  CMAXLINE(2)         [MAX.NO.OF ENTRANTS AS THE COUNT 
#KT2          BNZ   6  UNRI                [UPX OR MPX ?
#L#L          ADN   6  1
#LS=    UNRI  LDX   1  BPTR(3)             [IS IT AN ENTRANT CORRESPONDING TO   
#M?W          BZE   1  RJEST               [AN ATTACHED LINE - UNLESS IT IS J   
#MRG          STOZ     BPTR(1)             [ZEROIZE BPTR IN AMXOR,ALINES
#N?6          STOZ     BPTR(3)             [ZEROIZE BPTR IN CONLCB  
#NQQ    RJEST SBN   3  CONRECLEN           [CREATE ADDRESS OF NEXT ELEMENT  
#P=B          BCT   6  UNRI 
#PQ2          LDN   6  CHAINADD(2)         [FIND ENTRY FOR THIS OLPA
#Q9L          HUNT2B   2,APERI,APERIRES    [IN THE PERIPHERAL RESERVATION   
#QP=    PIDAS LDX   4  A1+1(2)             [BLOCK IN ORDER TO GET   
#R8W          ANDX  4  BITS22LS 
#RNG          TXU   6  4
#S86          BCC      ZUPIK
#SMQ          ADN   2  2                   [TYPE/UNIT NO. ENTRY FOR RELEASE.
#T7B          BRN      PIDAS
#TM2    ZUPIK RELOFP   A1(2)
#W6L    #   
#WL=    RGER1 GEOERR   1,COORDERR          [COORDINATION DURING CHECKA  
#X5W    #   
#XKG    #   
#XL2 ...#SKI JSKI14 
#XLG ...(   
#XM2 ...X92CONMXC   
#XMG ...      LDX   2  3                   [START ADDRESS IN BLK.   
#XN2 ...      SBN   1  A1   
#XNG ...      LDX   6  ALOGLEN(1)          [LTH. OF CHAPTER 
#XP2 ...      LDX   4  6
#XPG ...      ADN   4  A1   
#XQ2 ...      CALL  0  RMV                 [MOVE INTO BLOCK 
#XQG ...      LDX   3  2                   [SAVE END OF CHAP
#XR2 ...      SBX   2  6
#XRG ...      SBX   1  6
#XS2 ...      STO   2  FX1                 [RESET FX1   
#XSG ...      SBN   2  A1   
#XT2 ...      STOZ     ATYPE(2)            [MARK "CHAPTER IN BLOCK" 
#XTG ...      STOZ     BPTR(2)  
#XW2 ...      STO   2  FPTR(2)  
#XWG ...      ORX   2  GSIGN
#XX2 ...      STO   2  KTAB+KCONMXC        [RESET KTAB ENTRY
#XXG ...      ADNC  2  ZRS+A1   
#XY2 ...      BRN      (2)                 [JUMP INTO COPIED VERSION
#XYG ...ZRS   SBN   1  A1   
#X^2 ...      TXU   1  GFIXCHAP 
#X^G ...      BCS      NOTFX
#Y22 ...      STOZ     BACK2(1) 
#Y27 ...      BRN      TINFX
#Y2# ...NOTFX   
#Y2G ...      LDX   0  ASIZE(1) 
#Y2H ...      LDX   2  AFLAG(1) 
#Y2J ...      ANDN  2  2
#Y2K ...      BZE   2  NVREZ
#Y2L ...[                                   J IF NOT FROZEN CHAPTER 
#Y2M ...      SBS   0  FREZCHAP 
#Y2N ...[                                    UPDATE FROZEN CHAPTER SIZE 
#Y2P ...      BRN      TVREE
#Y2Q ...NVREZ   
#Y32 ...      SBS   0  ACHAP               [UPDATE ACHAP
#Y3= ...TVREE   
#Y3G ...      FREECORE 1                   [FREE CHAPTER BLOCK  
#Y42 ...TINFX ACROSS   CONMXA,92
#Y4G ...)   
#Y56    #SKI  K6ALLGEO>99-99
#YJQ          MENDAREA 40,K100CONMXC
#^4B    #   
#^J2    #   
*23L    #END
^^^^ ...56305213003200000000
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1