PROFLAG83

(George Source)

Macros used: ACROSS, ADDRESS, BRUSEN, BXE, BXL, BXU, CHKBREAK, COOR1, DCA, DLCA, ERROR, FINDLCA, FLAG, FPUT, FPUTX, FREECORE, GEOERR, GLPERI, GPERI, HUNT2B, HUNTACT, HUNTW, JLBUSY, JOBLOCK, LNLI, LOCK, LOCKC, LONGCLEAR, MENDAREA, MHUNTW, REPEAT, SEG, SEGENTRY, TICKLE, UNLOCK, UNSET

PROFLAG83.txt
22FL ...      SEG      PROFLAG,,G. CONSTANTINIDES.  
22^=    #LIS  K0PROFLAG>K0MULTIPLX>K0ALLGEO>K0GREATGEO  
23YG    # ENTRY POINTS  
24D6          SEGENTRY K1PROFLAG,Z1PROFLAG  
24K# ...#SKI JSKI14 
24QG ...      SEGENTRY K92PROFLAG,X92PROFLAG
24XQ          MENDAREA 30,K100PROFLAG   
25CB    [   
25X2    [THIS SEGMENT DEALS WITH FLAGS ON THE MULTIPLEXOR   
26BL    [   
26W=    TABM           #11                 [OUTPUT. 
27*W                   #13                 [OUTPUT + INPUT. 
27TG                   #40000000           [SPECIAL FOR B.I. IDLE   
28*6    #DEF           NMODES=0?-TABM      [NUMBER OF POSSIBLE MODES
28SQ    TABJ  BRN      OUT  
29#B          BRN      OUTIN
29S2          BRN      UNSET
2=?L    TC1            #7621
2=R=    SCANCEL        #76100000
2?=W    PMASK          #77737777
2?QG    QMASK          #20040000           [MASKS FOR NEW LINE SUPPRESSION. 
2#=6    RMASK          #40000   
2#PQ    TIMSK          #40:3
2*9B ...      SEGENTRY K50PROFLAG   
2*P2    SERROR         +34  
2B8L                   34HTRANSMISSION ERROR - PLEASE REPEAT
2BN=    SERRORA        +18  
2C7W                   18HTRANSMISSION ERROR
2CMG    SBI            +8   
2D76                   8HBREAK IN   
2DLQ    SAOUT   
2F6B    #HAL  AMXOR+AOUT,0  
2FL2    [   
2G5L    #  THIS SUBROUTINE WAKES CPA IF ASLEEP AND UNSETS THE WAITING BIT   
2GK=    #   
2GTS ...XLIST HUNTACT  CPAT,2,3 
2H6B ...      LDXC  4  GWAIT(3) 
2HBY ...      BCC      TOLCL
2HMG ...      STO   4  GWAIT(3) 
2HY4 ...      FPUT  
2J8L ...      EXIT  5  0
2JF8 ...TOLCL LONGCLEAR 2,AWAITMOP,RESFX
2JPQ ...RESFX LDX   1  FX1  
2K2# ...      LDX   2  FX2  
2K=W ...      EXIT  5  0
2KHG ...#SKI JSKI14 
2KJ2 ...(   
2KJG ...RCHN  LDX   2  FX1  
2KK2 ...      SBN   2  A1   
2KKG ...      LDX   1  ATYPE(2) 
2KL2 ...      BNZ   1  ZNNN 
2KLG ...      LDX   1  BPTR(2)  
2KM2 ...      BZE   1  ZNNN 
2KMG ...      SMO      FPTR(2)  
2KN2 ...      STO   1  BPTR 
2KNG ...      LDX   1  FPTR(2)  
2KP2 ...      SMO      BPTR(2)  
2KPG ...      STO   1  FPTR 
2KQ2 ...      STOZ     BPTR(2)  
2KQG ...      STO   2  FPTR(2)  
2KR2 ...ZNNN  LDX   1  FX1  
2KRG ...      LDX   2  FX2  
2KS2 ...      EXIT  0  0
2KSG ...RMV   LDEX  3  4
2KT2 ...      BZE   3  ZEMV 
2KTG ...      SMO      3
2KW2 ...NMV   MOVE  1  0
2KWG ...      ADX   1  3
2KX2 ...      ADX   2  3
2KXG ...      SBX   4  3
2KY2 ...ZEMV  LDN   3  512  
2KYG ...      BNZ   4  NMV  
2K^2 ...      EXIT  0  0
2K^G ...)   
2L2L    #   
2LG=    [   
2L^W    [THIS ENTRY POINT OBEYS A MODE *4000 PERI TO SET UP THE FLAG AREA AND   
2MFG    [PUTS THE SCANNING ACTIVITY ON THE LIST 
2M^6    [   
2NDQ    Z1PROFLAG   
2NKY ...#SKI JSKI14 
2NR6 ...      CALL  0  RCHN 
2NYB          LDX   3  2                   [FIND SCANNING ACTIVITY  
2PD2    PAST1 HUNTACT  AMSCAN,2            [FOR THIS DEVICE 
2PXL          BXU   3  AMOPADDR(2),PAST1
2QC=          FPUT                         [PUT IT ON THE LIST  
2QWW          LDN   0  #4000
2RBG          DCA      CPPTR(3),STO,0,MODE  
2RW6          LNLI     CPPTR(3),7   
2S*Q          GPERI    ,3   
2STB    PERX3 SLL   7  2
2T*2    PERY2 COOR1 
2TG8 ...#SKI  JSKI14
2TMB ...      CALL  0  RCHN 
2TSL    PLOOP BZE   7  U1                  [J IF UPX
2W#=          SRL   7  2                   [REDUCE TO LINE NO.  
2WRW          LDX   5  7
2X?G          LNLI     ,6   
2XR6    NLINE BXU   5  6,NSA
2Y=Q          LDN   5  0
2YQB    NSA   ADN   5  1
2^=2          FINDLCA  ,5   
2^PL          DLCA     1,LDX,4,FLAG 
329=          ANDN  4  #77  
32NW          BNZ   4  SFLAG               [J. IF FLAG FOUND
338G          BXU   5  7,NLINE             [J. IF NOT BEEN ROUND WHOLE FLAG AREA
33N6    #SKI  ADEVELOP<1$1  
347Q    (   
34MB          LDCT  0  #400 
3572          STO   0  CHAINADD(2)  
35LL          BRN      PERX3
366=    )   
36KW    #SKI  ADEVELOP  
375G          GEOERR   1,NO FLAG
37K6    SFLAG LDX   7  5                   [PUT LINE NO. IN X7. 
384Q          SLL   7  2                   [TURN INTO PTR.  
38JB    U1    HUNTW    3,AMXOR,ALINES   
3942          BNG   3  UNSET               [UNSET FLAG IF NO ALINES BLOCK   
39HL          ADX   3  7
3=3=          LDX   4  A1+FOURTHWD(3)      [GET DETAILS OF STATE OF LINE.   
3=GW          LDX   3  A1+BPTR(3)   
3?2G          BZE   3  NLCB                [RING ELT. NULL, J. TO ANALYSE X4.   
3?G6          BNG   4  MXCON               [J. TO SET CONCEPTUAL FLAG.  
3?^Q          SBN   3  A1   
3#FB          JLBUSY   1,XX1
3#^2          NGS   3  GTIM(3)  
3*DL    XX1   LDCT  0  2
3*Y=          ANDX  0  4                   [J. IF "PERI ISSUED BY AMSCAN" MARKED
3BCW          BNZ   0  SCANLCB  
3BK4 ...      LDCT  0  4
3BQ= ...      ANDX  0  4
3BXG          ANDN  4  #77                 [MASK OUT INTERNAL TERMINAL TYPE NO. 
3CC6          BCT   4  PCT                 [J. IF NOT TYPE 1 TERMINAL (7071).   
3CLY ...      BNZ   0  UNSET
3CWQ          LDX   0  GLASTM(3)
3DBB          BZE   0  NOTRANS             [NO TRANSFER IF GLASTM = 0   
3DW2          LDN   4  NMODES   
3F*L          LDX   1  FX1  
3FT=    NMD   SMO      4
3G#W          TXU   0  TABM-1(1)
3GSG          BCC      MFD                 [J IF MODE FOUND 
3H#6          BCT   4  NMD  
3HRQ          GEOERR   1,MODENAL           [ERROR IF MODE NOT IN TABLE  
3J?B    MFD   SMO      4
3JR2          BRN      TABJ-1              [JUMP ACCORDING TO MODE  
3K=L    NLCB  LDCT  0  #530                [J. IF NONE OF "IGNORE FLAGS",   
3KQ=          ANDX  0  4                   ["MOPPING OFF", "SETTING UP CPA" 
3L9W          BZE   0  NIGNO               [OR "ONLINE" BITS ARE SET.   
3LPG          ANDN  4  #77                 [MASK OUT TERMINAL TYPE. 
3M96          SBN   4  ASENTMACH           [J. IF NOT SENTINEL TO IGNORE FLAG.  
3MNQ          BNZ   4  UNSET
3N8B          LDN   6  #4000
3NN2          MHUNTW   3,AMXOR,ALINES   
3P7L          SMO      7                   [MARK SENTINEL LINE ENTRY TO 
3PM=          ORS   6  A1+FOURTHWD(3)      [SHOW 'ALREADY INTERRUPTED'. 
3Q6W          BRN      UNSET
3QLG    NIGNO MHUNTW   3,AMXOR,ALINES   
3R66          LDCT  0  #424                ["IGNORE FLAGS", "SETTING UP", "CORE"
3RKQ          ADXC  4  4                   [J. IF NOT ATTACHED. 
3S5B          BCC      NATCH
3SK2          LDCT  0  #624                [ADD IN "ATTACHED" BIT.  
3T4L    NATCH SMO      7                   [SET STATUS MASK.
3TJ=          STO   0  A1+FOURTHWD(3)   
3W3W    WKIMQ LDN   4  1
3WHG          SMO      IMOPADDR(2)  
3X36          ADS   4  IWAKE               [ADD 1 TO COUNT OF CORE REQUESTS 
3XGQ          LONGCLEAR IMOPADDR(2),#125,UNSETA 
3Y2B    UNSETA  
3YG2          LDX   2  FX2  
3Y^L    UNSET LDX   6  7                   [GET LINE/   
3^F=          SRL   6  2
3^YW    UNS1  FINDLCA  ,6   
42DG    PERY3 DLCA     1,LDX,4,FLAG        [CANCEL ALL FLAGS ON THIS LINE   
42Y6          ANDN  4  #77  
43CQ    XUFLAG                             [J HERE TO CANCEL A GIVEN NO OF FLAG 
43XB                                       [S.  
44C2          DLCA     1,SBS,4,FLAG 
44WL          LDX   3  CPPTR(2) 
45B=          SBS   4  JFAW(3)             [AND FLAG ACCUMULATION WORD  
45TW          LDX   0  JFAW(3)  
46*G          BNZ   0  PLOOP               [J. UNLESS NO MORE FLAGS 
46T6          LDX   4  GSIGN
47#Q          ADN   4  1
47SB          STO   4  CHAINADD(2)         [SET CHAINADD = #40000001
48#2          LDX   0  JFAW(3)  
48RL          BZE   0  PERY2               [J. IF STILL NO FLAG 
49?=          SMO      FX1  
49QW          LDX   4  XMASK
4==G          ANDS  4  CHAINADD(2)         [UNSET B0 OF CHAINADD
4=Q6          LDX   4  CHAINADD(2)  
4?9Q          SBN   4  1
4?PB          BZE   4  PLOOP               [J. IF CHAINADD = 1  
4#92          BRN      PERY2
4#NL    XMASK          #37777777
4*8=    MXCON LDX   1  BPTR(3)             [AMOP ADDRESS
4*MW          LDCT  5  1
4B7G          ANDX  5  FOURTHWD(1)         [J IF B8 IN FOURTHWRD NOT SET
4BM6          ERS   5  FOURTHWD(1)  
4C6Q          LDX   6  ACTUAL(3)           [LINE NO 
4CLB          ANDN  6  #7777
4D62          FINDLCA  ,6   
4DKL          BZE   5  RNF  
4F5=          LDN   4  1
4FJW          BRN      XNFLAG   
4G4G    RNF   LDCT  5  #777                [CONCEPTUAL LINE CONTROL SECTION 
4GJ6          DLCA     1,LDX,7,FLAG        [FLAG COUNT  
4H3Q          ANDN  7  #77  
4HHB          ANDX  5  ACTUAL(3)           [CONCEPTUAL LINE NO. 
4J32          SLC   5  7                   [TURN INTO CHARACTER MODIFIER.   
4JGL          ADX   3  BSTART(3)           [LOCATE OLPA.
4K2=          HUNTACT  AOLPT,3  
4KFW          LDX   1  3                   [SAVE ITS START ADDRESS. 
4K^G          ADX   1  5                   [GET THE FLAG COUNT FOR THIS LINE.   
4LF6          LDCH  4  FLAGCT(1)
4LYQ          ADX   4  7
4MDB          LDN   0  64   
4MY2          BXL   4  0,XUXF   
4NCL          LDX   7  6                   [IGNORE THIS LOT OF FLAGS
4NX=          SLL   7  2                   [RESTORE X7-NEEDIT LATER 
4PBW          BRN      UNS1 
4PWG    XUXF
4QB6          DCH   4  FLAGCT(1)           [OTHERWISE SET NEW COUNT.
4QTQ          SBX   4  7
4R*B          BZE   4  XUXF1               [J IF NO FLAGS SET BEFORE NOW
4RT2    YUF   LDX   4  7                   [FLAGS PASSED ON TO OBJ PROG 
4S#L          FINDLCA  ,6   
4SS=    XNFLAG  
4T?W          LDX   7  6
4TRG          SLL   7  2
4W?6          BRN      XUFLAG              [J TO CANCEL THOSE FLAGS THAT HAVE   
4WQQ                                       [BEEN PASSED ON  
4X=B    XUXF1   
4XQ2          LDCT  4  #200                [FLAG BIT FOR UNIPLEXOR. 
4Y9L          BZE   5  UXCON               [J. IF UNIPLEXOR.
4YP=          LDX   4  GSIGN
4^8W          SLC   5  2                   [CONCEPTUAL LINE NO. IN B15-23.  
4^NG          LDX   1  5
5286          SRL   5  4
52MQ          ANDN  1  #17  
537B          SRL   4  0(1)                [CORRECT FLAG BIT FOR THIS LINE. 
53M2    UXCON ADX   5  CFLAG(3)            [REL. ADDRESS OF CORRECT WORD IN F.A.
546L          ADDRESS  APETADDR(3),5,1     [ABSOLUTE ADDRESS OF FLAG WORD.  
54L=          ORS   4  0(1)                [SET FLAG.   
555W          TICKLE   JOBNO(3),CMEMBER(3) [DESUSPEND CONTROLLING MEMBER IN O.P.
55KG          BRN      YUF                 [J TO CANCEL FLAGS   
5656    PCT   BCT   4  SENT                [IF NOT PCT MUST BE SENTINEL.
56JQ          LDXC  4  GWAIT(3)            [IS PCT ACTIVITY ON LIST?
574B          BCC      SNULL               [IF SO JUST UNSET FLAG   
57J2          STO   4  GWAIT(3)            [OTHERWISE WAKE IT UP FIRST. 
583L          HUNTACT  AMOP,2,3            [BLOCK TYPE AMOP/APCT.   
58H=          FPUTX                        [PUT IT ON THE FRONT OF THE LIST.
592W          BRN      SNULL
59GG    TTYPE GEOERR   1,TERMTYPE          [ILLEGAL DEVICE TYPE IN ALINES ENTRY.
5=26    SENT  BCT   4  TTYPE               [IF NOT SENTINEL IDF/SCAN HAS BOOBED.
5=FQ          LDXC  4  GWAIT(3)            [J. IF ALREADY ENLISTED. 
5=^B          BCC      NWAKE
5?F2          HUNTACT  AMOP,2,3            [AMOP/ASENT  
5?YL          FPUT  
5#D=    NWAKE ADN   4  1                   [ADD 1 TO COUNT OF INTERRUPTS.   
5#XW          STO   4  GWAIT(3) 
5*CG          BRN      SNULL
5*X6    SCANLCB 
5BBQ          LDX   0  GREP1(3) 
5BWB          BNG   0  SNULL               [J IF'NULL'STILL IN PROGRESS 
5CB2          LDCT  0  #402                [ELSE UNSET "AMSCAN'S PERI" BIT, SET 
5CTL          LDX   2  A1+FPTR(3)          ['IGNORE FLAGS' AND NULLIFY  
5D*=          ERS   0  FOURTHWD(2)         [THE RING ELEMENTS.  
5DSW          STOZ     A1+BPTR(3)   
5F#G          STOZ     BPTR(2)  
5FS6          UNLOCK   3                   [UNLOCK LCB AND WAKE UP SCANNING ACT.
5G?Q          HUNTACT  AMSCAN,2,3   
5GRB          FPUT  
5H?2    SNULL LDX   6  GUNITNO(3)          [LINE NO.
5HQL          BRN      UNS1 
5J==    OUT   LDX   4  GREP1(3) 
5JPW          BNG   4  POUT                [J IF STILL IN PROGRESS  
5K9G          LDCH  0  GREP1(3) 
5KP6          SRC   0  1
5L8Q          BPZ   0  XINOP1              [J IF INOPERABLE 
5LNB          SRC   0  1
5M82          BNG   0  XERROR1             [J. IF NOT IMPLEMENTED   
5MML          SRC   0  1
5N7=          BNG   0  XERROR1  
5NLW          ANDN  4  #376 
5P6G          BNZ   4  XBI2 
5PL6          STOZ     HWGROT(3)           [ZEROISE B.I. COUNT FOR GROTTY   
5Q5Q                                       [HARDWARE
5QKB          LDCT  0  #2   
5R52          ANDX  0  GWAIT(3) 
5RJL          BZE   0  NOTBI               [J. IF NOT B. I. BEFORE LAST OUTPUT. 
5S4=          ERS   0  GWAIT(3) 
5SHW          LDCT  0  #40  
5T3G          ANDX  0  GWAIT(3) 
5TH6          BZE   0  XBI                 [J. IF NOT B. I. ON "TIMED OUT". 
5W2Q    RTO   ERS   0  GWAIT(3) 
5WGB    NOTBI LDCT  0  #200 
5X22          ANDX  0  GWAIT(3) 
5XFL          BNZ   0  NFREE               [J. IF NO OUTPUT BLOCKS TO FREE. 
5X^=          HUNT2B   1,AMXOR,AOUT,3   
5YDW          LDX   0  AMOPTY(1)
5YYG          ANDN  0  1                   [BREAKIN MESSAGE?
5^D6          BZE   0  XYBI                [NO  
5^XQ          LDCT  0  #100 
62CB          ADN   0  #4000               [UNSET BREAKIN BITS(2,12)
62X2          ANDX  0  GWAIT(3) 
63BL          ERS   0  GWAIT(3) 
63W=    XYBI  FREECORE 1
64*W          BRN      NSET 
64TG    NLSUP LDX   0  QMASK(1)            [UNSET NL SUPPRESS & NOT TO FREE BITS
65*6    NFREE ERS   0  GWAIT(3)            [UNSET "DO NOT FREE" BIT.
65SQ    NSET  UNLOCK   3
66#B ...SBII  STOZ     GLASTM(3)           [MARK LCB NOT IN USE 
66S2          CALL  5  XLIST               [WAKE UP CPA IF ASLEEP.  
67?L          BRN      SNULL
67R=    OUTIN LDX   4  GREP1(3) 
68=W          BNG   4  XBI1                [J IF OUTPUT STILL IN PROGRESS   
68QG          LDCT  5  #4   
69=6          ANDX  5  GWAIT(3) 
69PQ          BZE   5  PIN                 [J IF OUTPUT NOT YET DEALT WITH  
6=9B          LDX   0  GREP2(3) 
6=P2          BNG   0  XBI1                [J IF OUTPUT DEALT WITH AND INPUT
6?8L          ERS   5  GWAIT(3)            [STILL IN PROGRESS   
6?N=          LDX   0  GWAIT(3) 
6#7W          ANDN  0  4
6#MG          BNZ   0  XERROR1             [J IF OUTPUT PART ENDED IN 'ERROR'   
6*76          LDCH  0  GREP2(3)            [OTHERWISE END OF INPUT  
6*LQ          SRC   0  1
6B6B          BPZ   0  XINOP1X             [J IF INOPERABLE 
6BL2          LDCT  4  #200                [SET BIT TO SAY  
6C5L          ORS   4  GWAIT(3)            [DON'T FREE OUTPUT BLOCK 
6CK=          LDCT  4  #10                 [J. IF B. I. ON OUTPUT PART. 
6D4W          ANDX  4  GWAIT(3) 
6DJG          ERS   4  GWAIT(3) 
6F46          BNZ   4  XBI  
6FHQ          SRC   0  1
6G3B          BNG   0  XERROR              [NOT IMP 
6GH2          ANDN  0  1
6H2L          LDX   2  AWORK1(2)           [MAX. NO. OF CHARACTERS TRANSFERABLE.
6HG=          LDEX  4  GREP2(3)            [REPLY COUNT.
6H^W          SBX   2  4                   [NO. OF CHARACTERS IN TRANSFER.  
6JFG          SRC   2  2                   [TURN INTO MODIFIER. 
6J^6          ADX   2  3                   [PTR. TO LAST CHARACTER. 
6KDQ          LDN   4  4                   [COUNT.  
6KYB    NCH   LDCH  6  BUFFER-1(2)  
6LD2          SLL   5  6
6LXL          DCH   6  5
6MC=          BCHX  2  £
6MWW          BCT   4  NCH  
6NBG          SLC   45 12                  [X4 = 0 AFTER BRANCH ON COUNT.   
6NW6          LDX   2  FX2  
6P*Q          TXU   5  GEOM(3)  
6PTB          BCS      TCANC               [J IF NO EOM 
6Q*2          BNZ   0  XERROR              [J. IF ERROR BIT SET.
6QSL          STOZ     GFAIL(3)            [CLEAR FAILURE COUNT.
6R#=          TXU   4  TC1(1)   
6RRW          BCC      XBI                 [J IF BREAK IN   
6S?G          LDX   4  GWAIT(3)            [J. IF NEW LINE SUPPRESSION BIT SET. 
6SR6          ANDX  4  RMASK(1) 
6T=Q          BNZ   4  NLSUP
6TQB    WAKE  CALL  5  XLIST               [WAKE UP CPA IF ASLEEP.  
6W=2    WAKE1 LDX   4  GNOCHS(3)
6WPL          LDN   5  GNLBUFF(3)   
6X9=    OUTERR  
6X?T ...      LDX   0  GLASTM(3)
6XBD ...      BZE   0  TALOK               [J IF IDLE TO LOCK   
6XF3 ...      BPZ   0  NREQL               [ALREADY LOCKED UNLESS BI ON IDLE
6XHL ...TALOK LOCK     3
6XL9 ...NREQL   
6XNW          LDX   6  GUNITNO(3)   
6Y8G          FINDLCA  ,6   
6YN6          JLBUSY   1,PERY3  
6^7Q          SLL   6  15   
6^MB          DLCA     1,DLA,4,COUNT
7272          DLCA     1,STO,5,CTSA 
72LL          LDN   5  #11  
736=          STO   5  GLASTM(3)
73KW          DLCA     1,DLA,5,MODE 
745G          LDN   5  GREP1(3) 
74K6          DLCA     1,STO,5,CREP 
754Q          DCA      ,STO,6,MODE  
75JB          DLCA     1,LDX,4,FLAG        [NEXT PERI MIGHT FINISH  
7642          ANDN  4  #77                 [BEFORE EXEC RETURNS TO G
76HL          GLPERI
773=          LDX   0  JTIME               [REMEMBER WHEN TRANSFER STARTED  
77GW          STO   0  GTIM(3)             [IN CASE IT NEEDS TO BE TERMINATED   
782G          BRN      XUFLAG   
78G6    TCANC LDN   0  2
78^Q          BXE   5  SCANCEL(1),UCANC    [J. IF CANCEL.   
79FB          LDX   0  TIMSK(1) 
79^2    UCANC ORS   0  GWAIT(3)            [SET TIME OUT OR CANCEL BITS.
7=DL          BRN      WAKE 
7=Y=    NOTRANS 
7?CW          LDX   0  GFAIL(3) 
7?XG          BNG   0  SNULL               [J. IF BEING DEALT WITH  
7#C6          LDCT  0  #40  
7#WQ          ANDX  0  GWAIT(3) 
7*BB ...      BZE   0  NTRBI
7*W2          ERS   0  GWAIT(3)            [UNSET "TIMED OUT" BIT.  
7B*L          CALL  5  XLIST               [WAKE UP CPA IF ASLEEP.  
7BT=          BRN      SNULL
7C#W    PIN   LDCH  0  GREP1(3) 
7CSG          SRC   0  1
7D#6          BPZ   0  XINOP2              [J. IF INOPERABLE.   
7DRQ          LDCT  5  #4                  [SET MARKER TO SAY 'END OF   
7F?B          ORS   5  GWAIT(3)            [OUTPUT DEALT WITH'  
7FR2          SRC   0  1
7G=L          BNG   0  XINOP2              [J IF NOT IMPLEMENTED
7GQ=          SRC   0  1
7H9W          BNG   0  XERROR2             [J IF ERROR BIT SET  
7HPG          ANDN  4  #377 
7J96          BNZ   4  XBI1                [B.I. IF REMAINDER COUNT NON-ZERO
7JNQ          SRC   0  1                   [OR IF   
7K8B          BPZ   0  XBI1 
7KN2          LDX   0  JTIME
7L7L          STO   0  GTIM(3)  
7LM=          LDX   6  GUNITNO(3)          [IN CASE READ HAS ALSO   
7M6W          FINDLCA  ,6                  [TERMINATED  
7MLG          LDN   4  1
7N66          BRN      XUFLAG   
7NKQ    XBI1  LDCT  0  #10  
7P5B          ORS   0  GWAIT(3) 
7PK2    XCANC LDX   6  GUNITNO(3)   
7Q4L          FINDLCA  ,6   
7QJ=          DLCA     1,LDX,4,FLAG 
7R3W          ANDN  4  #77  
7RHG          JLBUSY   1,XCM4   
7S36          NGS   3  GTIM(3)  
7SGQ          BRN      NSET 
7T2B    XCM4  SLL   6  15   
7TG2          ADN   6  4
7T^L          DCA      ,STO,6,MODE  
7WF=          GLPERI
7WYW          BRN      XUFLAG   
7XDG    XERROR  
7XY6          LDN   0  4                   [SET BIT TO SAY READY REPEAT NEEDED  
7YCQ          ORS   0  GWAIT(3) 
7YXB    XERROR1 
7^C2          LDEX  4  GFAIL(3)            [J. TO SIMULATE INOPERABLE   
7^WL          SBN   4  AMREPT              [LINE IF ERROR COUNT TOO HIGH.   
82B=          BPZ   4  XINOP1   
82TW          LDCT  0  #200 
83*G          ORS   0  GWAIT(3)            [SET BIT TO SAY DON'T FREE   
83T6          LDN   0  1
84#Q          ADS   0  GFAIL(3)            [ADD 1 TO FAIL COUNT 
84SB          LDN   0  4
85#2          ANDX  0  GWAIT(3) 
85RL          BNZ   0  YRXA                [J IF READY  
86?=          ADN   1  SERRORA  
86QW          BRN      YRXB 
87=G    YRXA  ADN   1  SERROR              [ADDRESS OF ERROR MESSAGE
87Q6    YRXB  LDX   0  BIT11
889Q          ORS   0  GWAIT(3)            [SET "CANCEL DC1" MARKER 
88PB    XOP   LDN   4  GNLBUFF(3)          [SET UP NL MESSAGE NL
8992          LDN   5  BUFFER(3)
89NL          LDCH  0  CHARS(3) 
8=8=          SMO      0
8=MW          MVCH  4  0
8?7G          LDN   4  1(1) 
8?M6          SMO      0(1) 
8#6Q          MVCH  4  0
8#LB          LDN   4  GNLBUFF(3)   
8*62          SMO      GNOCHS(3)
8*KL          MVCH  4  0
8B5=          ADX   0  0(1) 
8BJW          ADX   0  GNOCHS(3)
8C4G          LDX   4  0
8CJ6          SLC   5  2
8D3Q          SBN   5  2
8DHB          SRC   5  2                   [POINT TO LAST BUT ONE CHAR  
8F32          LDX   1  5
8FGL          LDN   0  #10                 [REPLACE EOM WITH CANCEL 
8G2=          DCH   0  0(1) 
8GFW          LDN   5  BUFFER(3)
8G^G          LDX   1  FX1  
8HF6          BRN      OUTERR   
8HYQ    XINOP2  
8JDB          LDXC  6  GFAIL(3)            [J. IF ALREADY CANCELLED READ.   
8JY2          BCS      NSET 
8KCL          LDX   5  GSIGN
8KX=          ORS   5  GFAIL(3)            [SET BIT TO SAY INOPERABLE.  
8LBW    XERROR2 
8LWG          LDN   0  4                   [SET BIT TO SAY  
8MB6          ORS   0  GWAIT(3)            [READY TO BE REPEATED
8MTQ          BRN      XCANC
8N*B    REFIND                             [FOR LOCKC   
8NCK ...#SKI JSKI14 
8NFS ...(   
8NJ3 ...      LDX   3  1
8NL= ...      CALL  0  RCHN 
8NNF ...      LDX   1  3
8NQN ...)   
8NT2          MHUNTW   2,AMXOR,ALINES   
8P#L          ADX   2  7
8PS=          LDX   2  A1+BPTR(2)   
8Q?W          SBN   2  A1   
8QRG          EXIT  1  0
8R?6    XINOP1X 
8RQQ          LDN   5  4
8S=B          ORS   5  GWAIT(3)            [REPEAT READY
8SQ2    XINOP1  
8T9L          LDX   5  GSIGN
8TP=          ORS   5  GFAIL(3)            [SET BIT TO SAY INOPERABLE   
8W8W          BRN      NSET 
8WNG    POUT  LDCT  0  2                   [MARK B.I. BEFORE OUTPUT.
8X86          ORS   0  GWAIT(3) 
8XMQ          BRN      SNULL
8Y7B    XBI3  LOCKC    3,REFIND            [LOCK LCB FOR OUTPUTTING BREAK IN
8YM2 ...NTRBI CALL  1  REFIND   
8^6L          LDX   3  2
8^L=          LDX   1  FX1  
925W          LDX   2  FX2  
92KG          LDX   0  GSIGN               [FRIG SO THAT OTHER TRANSFERS
9356          STO   0  GLASTM(3)           [CANNOT GET IN DURING B.I. IDLE. 
93JQ    XBI2  LDX   0  HWGROT(3)           [TEST TO SEE IF LIMIT EXCEEDED   
944B          SBN   0  HWGROTCT-1   
94J2          BZE   0  XINOP1   
953L          LDN   0  1                   [INCREASE GROTTY HW BI   
95H=          ADS   0  HWGROT(3)           [COUNT   
962W          LDCT  0  #40  
96GG          ANDX  0  GWAIT(3) 
9726          BNZ   0  RTO  
97FQ          LDCT  0  #200                [SET BIT TO SAY  
97^B          ORS   0  GWAIT(3)            [DON'T FREE OUTPUT BLOCK 
98F2          LDCT  0  #2                  [UNSET 'BREAK IN BEFORE  
98YL          ANDX  0  GWAIT(3)            [OUTPUT BIT' IF  
99D=          ERS   0  GWAIT(3)            [IT IS SET   
99XW    XBI   LDX   0  PMASK(1)            [UNSET B10 IN GWAIT  
9=CG          ANDS  0  GWAIT(3) 
9=X6          LDX   0  BIT11
9?BQ          ORS   0  GWAIT(3)            [CANCEL DC1  
9?WB          LDCT  0  #100                [J. IF BREAK-IN BIT IS ALREADY SET.  
9#B2          ANDX  0  GWAIT(3) 
9#TL          BZE   0  XBIX                [1ST BREAKIN 
9**=          LDN   0  #4000
9*SW          ORS   0  GWAIT(3)            [SET DOUBLE BREAKIN  
9B#G          BRN      WAKE1
9BS6    XBIX
9C?Q          HUNTACT  CPAT,2,3 
9CRB    #SKI  ANOUSER<1$1   
9D?2    (   
9DQL          LDX   6  JOBNO(2) 
9F==          BZE   6  NBI                 [J. IF BEFORE JOB BLOCK ETC. SET UP. 
9FPW    )   
9G9G          LDN   0  #1000
9GP6          LDCT  4  4
9H8Q          SMO      A1+FPTR(3)   
9HNB          ANDX  4  FOURTHWD 
9J82          BNZ   4  THSEC
9JML          CHKBREAK  2,NBI   
9K7=          LDCT  0  4
9KLW    THSEC SMO      A1+FPTR(3)   
9L6G          ORS   0  FOURTHWD 
9LL6          BNZ   4  UNSETA   
9N52    #SKI   ANOUSER  
9NJL          BRUSEN   NUZ,2
9P4=          JOBLOCK  JOBNO(2),2   
9QH6    NUZ   LDX   2  FX2  
9R2Q          BRN   WKIMQ   
9RGB    NBI   LDX   4  GLASTM(3)           [J. IF IN B.I. ON IDLE.  
9S22          LDCT  0  #200 
9SFL          LDX   2  FX2  
9SMW ...      BPZ   4  NSBII
9SW6 ...      ERS   0  GWAIT(3) 
9T4B ...      BRN      SBII 
9TGD ...NSBII SBN   4  #13  
9TYG          BNZ   4  WAKE1               [J. TO OUTPUT NL IF NOT MODE 3, ELSE 
9WD6          ADN   0  4                   [SET BITS TO SAY DON'T FREE,& RPT RDY
9WXQ          ORS   0  GWAIT(3) 
9XCB          BRN      WAKE1               [J TO OUTPUT NL  
9XCW ...#SKI JSKI14 
9XDB ...(   
9XDW ...X92PROFLAG  
9XFB ...      LDX   2  3                   [START ADDRESS IN BLK.   
9XFW ...      SBN   1  A1   
9XGB ...      LDX   6  ALOGLEN(1)          [LTH. OF CHAPTER 
9XGW ...      LDX   4  6
9XHB ...      ADN   4  A1   
9XHW ...      CALL  0  RMV                 [MOVE INTO BLOCK 
9XJB ...      LDX   3  2                   [SAVE END OF CHAP
9XJW ...      SBX   2  6
9XKB ...      SBX   1  6
9XKW ...      STO   2  FX1                 [RESET FX1   
9XLB ...      SBN   2  A1   
9XLW ...      STOZ     ATYPE(2)            [MARK "CHAPTER IN BLOCK" 
9XMB ...      STOZ     BPTR(2)  
9XMW ...      STO   2  FPTR(2)  
9XNB ...      ORX   2  GSIGN
9XNW ...      STO   2  KTAB+KPROFLAG        [RESET KTAB ENTRY   
9XPB ...      ADNC  2  ZRS+A1   
9XPW ...      BRN      (2)                 [JUMP INTO COPIED VERSION
9XQB ...ZRS   SBN   1  A1   
9XQW ...      TXU   1  GFIXCHAP 
9XRB ...      BCS      NOTFX
9XRW ...      STOZ     BACK2(1) 
9XS6 ...      BRN      TINFX
9XSB ...NOTFX   
9XSL ...      LDX   0  ASIZE(1) 
9XSN ...      LDX   2  AFLAG(1) 
9XSQ ...      ANDN  2  2
9XSS ...      BZE   2  NVREZ
9XSW ...[                                   J IF NOT FROZEN CHAPTER 
9XSY ...      SBS   0  FREZCHAP 
9XT2 ...[                                    UPDATE FROZEN CHAPTER SIZE 
9XT4 ...      BRN      TVREE
9XT6 ...NVREZ   
9XT8 ...      SBS   0  ACHAP               [UPDATE ACHAP
9XT= ...TVREE   
9XTB ...      FREECORE 1                   [FREE CHAPTER BLOCK  
9XTW ...TINFX ACROSS   CONMXC,92
9XWB ...)   
9XX2    #END
^^^^ ...46030050000700000000
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1