TWINSETB866

(George Source)

Macros used: ACROSS, CHAIN, CLOSE, COOR3, COOR4, DEMANDX, DERING, DERINGD, DESUSPEND, DOWN, ENRING, FINDCORE, FINDEXOF, FINDPEREC, FREECORE, GEOERR, GETCORE, HUNT2J, IPCLOSE, IPCREP, LADDP, LONGCLEAR, LONGOFF, LONGSET, LONGSTOP, MENDAREA, MFINDSU, MFREE, MHUNT, MHUNTW, MOVLONG, OUTPACK, RINGTWO, SEGENTRY, SETNCORE, SUICIDE, SUSPEND, TCLOSE, TESTREP, TRACE, TWINCT, UP, UPPLUS

TWINSETB866.txt
22FL ...#SEG  TWINSETB70                   [FRANK BLUNDELL  
22^=    #LIS  K0TWINSET>K0TWINSETB  
23DW          8HTWINSETB
23YG    #   
24D6    #   
24XQ    #     THIS SEGMENT MAINLY DEALS WITH THE MACROS PLOCKSU,TPLOCKSU,CHAREA,
25CB    #     CHFILE,ANYUSERS,FIPPER,AUTWIN,PHOLD AND BOTTONOLE 
25X2    #   
26BL    #     ALSO  DEALS WITH CLOSING IPC LINKS WHEN TWIN INITIALISE IS REISSUE
26W=    #   
27*W    #     ALSO  OUTPUTS MESSAGES DEMANDING INITIALISATION OR STATE  
27HN ...      SEGENTRY K1TWINSETB   
27KL ...            +0  
28*6          SEGENTRY K2TWINSETB,QK2   
28SQ          SEGENTRY K3TWINSETB,QK3   
29#B          SEGENTRY K4TWINSETB,QK4   
29S2          SEGENTRY K5TWINSETB,QK5   
2=?L          SEGENTRY K7TWINSETB,QK7   
2=R=          SEGENTRY K8TWINSETB,QK8   
2?=W          SEGENTRY K9TWINSETB,QK9   
2?QG          SEGENTRY K10TWINSETB,QK10 
2#=6          SEGENTRY K11TWINSETB,QK11 
2#JG ...      SEGENTRY K12TWINSETB,QK12    [TCLOSE  
2#PQ    #   
2*9B    #   
2*P2    RQ             +ENTIN24            [PLEASE ISSUE TWIN COMMAND GIVING
2B8L                                       [..STATE OF OTHER PROCESSOR  
2CMG    #   
2D76    #   
2DLQ    #     SET UP ESEND AND ENLINK   
2F6B    XBLKS   
2FL2          SBX   6  FX1  
2G5L          SETNCORE ENLINKLEN,1,EWDAS,ENLINK,,1 [LINK BLOCK  
2GK=          SETNCORE ESENDLEN,1,EWDAS,ESEND,,1   [DATA BLOCK  
2H4W          MHUNTW   3,EWDAS,ENLINK   
2HJG          STO   7  ENRQ(3)             [STORE REQUEST TYPE  
2J46          STO   7  ENMARK(1)
2JHQ          STOZ     ENRP(3)             [CLEAR REPLY 
2K3B          ADX   6  FX1  
2KH2          EXIT  6  0
2L2L    #   
2LG=    #     TO WAIT   
2L^W    #   
2MFG    XHALT   
2M^6          SBX   6  FX1  
2NDQ ...TENT  COOR4    HOLDWT   
2PXL          MHUNTW   3,EWDAS,ENLINK   
2QC=          LDX   0  ENRP(3)  
2QWW          BZE   0  TENT                [WAIT AGAIN IF NO REPLY  
2RBG          ADX   6  FX1  
2RW6          EXIT  6  0
2S*Q    #   
2STB    XHERR GEOERR   1,BROKENIN   
2T*2    #   
2TSL    #   
2W#=    #   
2WRW ...#     THIS PART DEMANDS STATE   
2X?G    #   
2XDN ...QK2  [******
2^PL    XCAT  LDN   4  0                   [FIRST TIME  
329=    XCANT LONGSET  EPWT,XSET
338G          LDCT  5  #20  
33N6          ANDX  5  ETWINMK  
347Q          BZE   5  XFIN                [J IF DONE   
34MB          LDX   6  RQ(1)
3572    TV1   BNZ   4  XRENT               [J IF ALREADY O/P MESS   
35LL          LDN   4  1
366=          LDN   5  1
36KW          DEMANDX  5,6,XCAT,XHERR,XRENT,2 [PUMP OUT REQUEST 
375G          BRN      XCANT               [J AND SEE IF ANYTHING HAPPENED  
3?2G    XFIN  LONGOFF   
3?G6          SUICIDE   
3?^Q    #   
3#FB    #   
3#^2    #   
3*DL    #   
3*Y=    #   
3BCW    #   
3BXG    #   
3CC6    #     THIS PART IMPLEMENTS THE FOLLOWING MACROS:-   
3CWQ    #       CHAREA,CHFILE,FIPPER,ANYUSERS   
3DBB    #   
3DW2    #     ON ENTRY ACOMMUNE7 : B0=1 B1-B23 REQUEST TYPE (EXCEPT CHFILE) 
3F*L    #                          B0-B23 MODE OF OPENING (CHFILE ONLY) 
3FT=    #              ACOMMUNE8 : WORD ADDRESS OF AREA (CHAREA) OR WORD
3G#W    #                          ADDRESS OF FIC   
3GSG    #              ACOMMUNE9 = SUSN 
3H#6    #   
3HRQ    QK3  [******
3J?B          LDN   6  ACOMMUNE7(2) 
3JR2          LDN   7  AWORK1(2)
3K=L          MOVE  6  3                   [MOVE PARAMETERS TO AWORK WORDS  
3KQ=          MFINDSU  1,AWORK3(2)         [FIND ASTUC  
3L9W          LADDP    HUNIT(1),1          [AND APIA
3LPG          LDCT  0  #10  
3M96          ANDX  0  BSUNIT(1)           [AND CHECK IF WE HAVE THE LOCK-OUT   
3MNQ          BNZ   0  Y8088
3MTD ...      LDXC  0  ETWINMK  
3MX2 ...      BCS      XIPB                [J IF NOT INITIALISED
3MYJ ...      ANDN  0  IPBDOWN+GEODOWN  
3P7L          BZE   0  Y1                  [J IF NOTHING WRONG  
3PM=          ANDN  0  IPBDOWN  
3Q6W          BNZ   0  XIPB                [J IF IPBDOWN
3QLG          BRN      XOK  
3R66    Y8088 GEOERR   1,NOLOCKOT   
3RKQ    Y1    SETNCORE ESENDLEN,1,EWDAS,ESEND,,1   [SET UP DATA BLOCK   
3S5B          LDN   6  AWORK2(2)
3SK2          LDN   7  ENHOME(1)
3T4L          MOVE  6  2                   [MOVE IN HOME AND SUSN   
3TJ=          LDXC  7  AWORK1(2)
3W3W          BCS      Y2                  [J IF NOT FILE INTEG CHECK   
3WHG          SBN   7  #200 
3X36          BZE   7  Y2A                 [J IF READ   
3XGQ          LDCT  0  #400                [ELSE SET MKR
3Y2B          ORS   0  ENSUSN(1)           [ELSE INDICATE WRITE BY SETTING B0   
3YG2    Y2A   LDN   7  GCHF                [SET REQUEST TYPE FOR CHFILE 
3Y^L    Y2    STO   7  ENMARK(1)
3^F=          SETNCORE ENLINKLEN,3,EWDAS,ENLINK,,1  [SET UP LINK BLOCK  
3^YW          MHUNTW   1,EWDAS,ESEND
42DG          TWINCT                       [GET TRANSFER IDENTIFIER 
42Y6          STO   0  ENSTART(1)          [AND STORE   
43CQ          LDX   6  ENHOME(1)
43XB          STO   6  BACK1(3)            [STORE HOME IN ENLINK
44C2          LDX   6  ENSUSN(1)
44WL          STO   6  BACK2(3)            [AND SUSN (FOR USE WHEN IPB GOES INOP
45B=    #SKI  K6TWINSETB>99-99  
45TW          TRACE ENSTART(1),K3TB 
46*G    #SKI  K6TWINSETB>99-99  
46T6          TRACE ENMARK(1),REQ   
47#Q          STO   0  ENBR(3)             [
47SB          STO   7  ENRQ(3)             [STORE REQEST TYPE   
48#2          STOZ     ENRP(3)             [CLEAR REPLY WORD
48RL          LDN   0  HOLDWT   
49?=          STO   0  ENWTS(3)            [WA9TING STYLE   
49QW          CALL  7  SETOFF              [SET OFF TWINNING ACTIVITY   
4==G          CALL  6  XHALT
4=Q6          LDX   7  ENRP(3)             [GET REPLY B0=1 OK; ELSE B23=1 IF INT
4?9Q          FREECORE 3                   [B22=1 IF IPB FAIL   
4?PB          BNG   7  XOK  
4#92          SBN   7  1
4#NL          BZE   7  XINTEG              [J IF INTEGRITY FAIL 
4*8=          SBN   7  1
4*MW          BZE   7  XIPB                [J IF IPB WRONG  
4B7G          SBN   7  2
4BM6          BZE   7  XOK                 [J IF GEORGE DOWN
4BWX ...      SBN   7  3
4B^G ...      BZE   7  XIPB                [J IF NOT INITIALISED
4C6Q          BRN      N4   
4CLB    XIPB  UPPLUS   2
4D62    #   
4DKL    #     INTEGRITY FAIL
4F5=    #   
4FJW    XINTEG  
4G4G          UPPLUS   1
4GJ6    #   
4H3Q    #     BREAKIN   
4HHB    #   
4J32    XBREAKIN
4J7N ...      MFINDSU  1,AWORK1(2)  
4J9= ...      LADDP    HUNIT(1),1   
4J=S ...      LDX   0  BSUNIT4(1)   
4J#B ...      SBN   0  1
4J*Y ...      BNG   0  ND4  
4JCG ...      STO   0  BSUNIT4(1)          [SUBTRACT 1 FROM COUNT OF USERS  
4JGL          MHUNTW   3,EWDAS,ENLINK   
4JMS ...      LDX   0  ENLA+1(3)
4JT2 ...      BZE   0  XB1              [^IF ALREADY DECHAINED OTHERWISE
4K2=          DERINGD  ENLA(3)             [DECHAIN FROM DATA BLOCK 
4KFW ...XB1   FREECORE 3
4K^G          UP
4LF6    #   
4LYQ    #   
4MDB    #     REPLY OK  
4MY2    #   
4NCL    XOK   UPPLUS   3
4NX=    #   
4PBW    XSET  GEOERR   1,LONGSET           [LONGWAIT FIELD ALREADY SET  
4PWG    #   
4QB6    #     THIS PART IMPLEMENTS PLOCKSU  
4QTQ    #   
4R*B    #     ON ENTRY  ACOMMUNE9 CONTAINS SUSN 
4RT2    #   
4S#L    XMESS4         +ENTIN8             [STORAGE UNIT %A NOT SEARCHED DUE TO 
4SS=                                       [PROCESSOR LINK FAILURE  
4T?W    #   
4TRG    #   
4W?6    QK11 [******
4WQQ          NGNC  0  1
4X=B    QK4  [******
4XQ2          LDN   0  0
4Y9L          STO   0  AWORK2(2)           [REMEMBER WHICH VERSION  
4YP=          LDN   5  0                   [MKR   FIRST TIME ROUND  
4^8W          LDX   0  ACOMMUNE9(2) 
4^NG          STO   0  AWORK1(2)           [SAVE SERIAL NUMBER  
4^R9 ...ND2   MFINDSU  1,AWORK1(2)  
4^S6 ...      LDX   4  GEOGU(1) 
4^T3 ...      LADDP    HUNIT(1),1   
4^TY ...      LDX   0  BSUNIT3(1)   
4^WT ...      ANDN  0  #10  
4^XQ ...      BZE   0  ND1                 [J IF STATUS CHANGE NOT IN PROGRESS  
4^YM ...      COOR3    KTSCTF              [ELSE WAIT   
4^^J ...      BRN      ND2  
522F ...ND1   LDN   0  1
523B ...      ADS   0  BSUNIT4(1)          [UPDATE COUNT OF USERS   
53M2          LDCT  0  #10  
546L          ANDX  0  BSUNIT(1)
54L=          BZE   0  N1                  [J IF WE HAVE LOCK-OUT   
54W3 ...      LDXC  0  ETWINMK  
54YL ...      BCS      NOTIN               [J IF NOT INITIALISED
555W          LONGSET  ENDWT,XSET          [ANNOUNCE INTENTION TO WAIT  
55KG          LDN   7  GLK                 [REQUEST TYPE
5656          CALL  6  XBLKS               [SET UP DATA BLOCKS  
56JQ          STO   4  ENBR(3)             [GEOG. NO.   
574B          STO   4  ENSTART(1)   
57J2    #SKI  K6TWINSETB>99-99  
583L          TRACE ENSTART(1),PLOCKSU  
58H=          LDN   0  ENDWT
592W          STO   0  ENWTS(3)            [WAITING STYLE   
59GG          CALL  7  SETOFF              [WAKE UP TWINNING ACTIVITY   
5=26          LDX   7  AWORK2(2)
5=FQ          BNZ   7  N1A                 [J IF TPLOCKSU   
5=^B          LDN   2  2
5?F2          LONGSTOP XBREAKIN,XSP,,XENT,2 [WAIT FOR SOMETHING 
5?YL          BRN      N8   
5#4H ...N1A 
5#8D ...      MFINDSU  1,AWORK1(2)  
5##* ...      LADDP    HUNIT(1),1   
5#D= ...      LDCT  0  #10  
5#J7 ...      ANDX  0  BSUNIT(1)
5#N4 ...      BZE   0  N2                  [J IF WE HAVE LOCKOUT
5#R^ ...      COOR3    ENDWT               [WAIT FOR LOCKOUT
5#XW    N8    MFINDSU  1,AWORK1(2)         [REFIND ASTUC
5*CG          LADDP    HUNIT(1),1          [AND APIA
5*X6          MHUNTW   3,EWDAS,ENLINK      [FIND REPLY BLOCK
5BBQ          LDCT  0  #10  
5BWB          ANDX  0  BSUNIT(1)
5CB2          BZE   0  N2                  [J IF WE HAVE LOCK OUT   
5CTL          LDX   0  ENRP(3)  
5D*=          BZE   0  N3A                 [J IF LOCK-OUT STILL BEING GOT   
5DSW          LDXC  0  ENRP(3)  
5F#G          BCS      N4                  [GEOERR IF OK REPLY BUT NO LOCK-OUT  
5FH7 ...      SBN   0  7
5FKB ...      BZE   0  N8B                 [J IF NOT INITIALISED
5FMK ...      ADN   0  7
5FS6          ANDN  0  2
5G?Q          BZE   0  N4                  [OR NOT IPB FAIL 
5GG2 ...N8B 
5GN= ...      LDX   7  1                   [SAVE APIA PTR   
5GRB          LDX   0  ENLA+1(3)
5H?2          BZE   0  N7                  [J IF RING NULL  
5HQL          DERINGD  ENLA(3)             [MAKE NULL   
5HTX ...N7    FREECORE  3   
5HX2 ...      LDX   1  7                   [RELOAD APIA PTR 
5HY5 ...NOTIN LDX   0  BSUNIT4(1)   
5H^8 ...      SBN   0  1
5J2? ...      BPZ   0  ND3  
5J3B ...ND4   GEOERR   1,PLOCKSU           [COUNT OF USERS -VE  
5J4F ...ND3   STO   0  BSUNIT4(1)          [TAKE ONE FROM COUNT OF USERS
5K9G          UPPLUS   1                   [IPB FAIL
5KP6    #   
5L8Q    #     SPURIOUS INTERRUPT PROBABLY FOR TIME  
5LNB    #   
5M82    XSP   MFINDSU  1,AWORK1(2)  
5MML          LADDP    HUNIT(1),1   
5N7=          MHUNTW   3,EWDAS,ENLINK   
5NLW          LDCT  0  #10  
5P6G          ANDX  0  BSUNIT(1)
5PL6          BNZ   0  N3                  [J IF HAVENT GOT LOCK-OUT
5Q5Q          LONGOFF   
5QKB    N2    LDX   0  ENLA+1(3)
5R52          BZE   0  N6                  [J IF NULL   
5RJL          DERINGD  ENLA(3)  
5S4=    N6    FREECORE 3
5SHW    N1    LDX   0   AWORK1(2)          [WE HAVE THE LOCK OUT
5T3G          STO   0   ACOMMUNE9(2)       [RESTORE  FOR PLOCKSU MACRO  
5TH6          UPPLUS   2                   [OK  
5W2Q    #   
5WGB    #     TIME HAS COME TO TELL JOB WHY HE'S WAITING
5X22    #   
5XFL ...N3A 
5XPD ...      LONGSET  ENDWT,XSET   
5X^=          BNZ   7  N1A                 [J IF TPLOCKSU   
5YDW    N3    BNZ   5  XENT1               [J IF MESSAGE ALREADY O/P
5YYG          LDN   5  1
5^D6          OUTPACK  AWORK1(2),1,CSN     [OUTPUT SERIAL NUMBER
5^XQ          LONGSTOP XBREAKIN,XSP,ENTIN9,XENT1
62CB          BRN      N8                  [GO TO SEE IF OK 
62X2    N4    GEOERR   1,WRONGREP   
63BL    #   
63W=    #     SUBROUTINE  TO CHAIN DATA BLOCK ON END OF TWINNING ACTIVITY   
64*W    #   
64TG    #     LINK  X7   NO-COORDINATION X3-X7 UNCHANGED
65*6    #     ON ENTRY X1 SHOULD PT TO ESEND ; X3 SHOULD PT TO ENLINK   
65SQ    #   
66#B    SETOFF  
66S2          RINGTWO  ENTRGA(1),ENLA(3)   [RING THEM TOGETHER  
67?L    SETOFFA 
67R=          LDX   2  ENTWINPTR           [PTR TO TWINNING ACTIVITY
68=W          LDX   2  ACTRING(2)   
68QG          SBN   2  ACTRING  
69=6          LDX   2  BPTR(2)  
69PQ          CHAIN    1,2                 [CHAIN ON END
6=9B          LDX   2  ENTWINPTR
6=P2          DESUSPEND                    [WAKE IT UP  
6?8L          EXIT  7  0
6?N=    #   
6#7W    #   
6#MG    #   
6*76    QK5  [******
6*LQ ...      FINDPEREC 1,APGEOG,ACOMMUNE9(2),,,XCME
6B6B          LADDP    1,1  
6BL2          LDX   0  BSUNIT3(1)   
6C5L          ANDN  0  4
6CK=          BNZ   0  P1                  [J IF WE CAN DISENGAGE   
6D4W          STO   1  AWORK1(2)
6DJG          LDX   4  ACOMMUNE9(2) 
6F46          STO   4  AWORK2(2)
6FHQ          LDN   7  GHOLD               [REQUEST TYPE
6G3B          CALL  6  XBLKS               [SET UP DATA BLOCKS  
6GH2          STO   4  ENBR(3)  
6H2L          STO   4  ENSTART(1)   
6HG=          LDN   0  HOLDWT   
6H^W          STO   0  ENWTS(3) 
6JFG          CALL  7  SETOFF              [START UP TWINNING ACTIVITY  
6J^6          CALL  6  XHALT               [WAIT
6KDQ          LDX   4  ENRP(3)  
6KYB          FREECORE 3                   [FREE ENLINK 
6LD2          BZE   4  XHERR
6LXL          LDXC  0  4
6MC=          BCS      P2                  [J IF TRANSFERRED OK 
6MWW          ANDN  0  6
6NBG          SBN   0  2
6NW6          BZE   0  P3                  [J IF IPB GONE WRONG 
6P*Q    P1    UPPLUS   1                   [IF GEORGE DOWN  
6PTB    P3    UP                           [IPB 
6Q*2    P2    UPPLUS   2                   [TRANSFERRED OK  
6QSL    #   
6R#=    #   
6RRW    #     THIS  PART AUTONOMOUSLY SENDS A REQUEST  (AUTWIN MACRO)   
6S?G    #   
6SR6    Z13   NGNC  4  1
6T=Q    QK7  [******
6TQB          LDN   4  0
6W=2          SETNCORE ESENDLEN,1,EWDAS,ESEND,,1
6WPL          LDN   0  ENTRGA(1)           [MAKE RINGS EMPTY
6X9=          STO   0  ENTRGA(1)
6XNW          STO   0  ENTRGA+1(1)  
6Y8G          BNZ   4  Z14  
6YN6          LDX   0  ACOMMUNE8(2) 
6^7Q          STO   0  ENMARK(1)           [STORE REQUEST TYPE  
6^MB          SBN   0  GLKT 
7272          LDX   6  ACOMMUNE9(2) 
72LL          BNZ   0  V1A                 [J IF NOT LOCK   
736=          MFINDSU  3,6  
73KW          LADDP    HUNIT(3),2   
745G          LDX   0  BSUNIT4(2)   
74K6          BNZ   0  V2                  [J IF ANOTHER USER HAS APPEARED  
754Q          LDCT  0  2
75JB          ANDX  0  BSUNIT(2)
7642          BZE   0  V2                  [OR IF LOCK-OUT IS NOT REQUIRED  
76HL          ERS   0  BSUNIT(2)           [CLEAR REQUIRED BIT  
773=          LDCT  0  #10  
77GW          ORS   0  BSUNIT(2)           [SET NOT GOT LOCK-OUT BIT
782G          LDX   6  GEOGU(3) 
78G6    V1A   STO   6  ENSTART(1)   
78^Q    V1    CALL  7  SETOFFA             [CHAIN IN QUEUE  
79FB    V3    UP
79^2    V2    FREECORE 1
7=DL          BRN      V3   
7=Y=    Z14   LDN   0  GRDFIPR  
7?CW          STO   0  ENMARK(1)
7?XG          LDX   0  AWORK3(2)
7#C6          STO   0  ENSTART(1)          [NUMBER  
7#WQ          LDX   0  AWORK1(2)
7*BB          STO   0  ENSUSN(1)           [SUSN
7*W2          LDX   0  AWORK2(2)
7B*L          STO   0  ENHOME(1)
7BT=          LDX   0  AWORK4(2)
7C#W          STO   0  ESREP(1) 
7CSG          CALL  7  SETOFFA  
7D#6          SUICIDE   
7DRQ    #   
7F?B    #   
7FR2    #   
7G=L    #   
7GQ=    #     THIS BIT RE-READS THE FIP AS THE OTHER PROCESSOR HAS ALTERED THEM 
7H9W    #   
7HPG    #     THE OTHER PROCESSOR HAS THE LOCK-OUT  
7J96    #   
7JNQ    #     ON ENTRY     AWORK1  SUSN 
7K8B    #                  AWORK2  HOME 
7KN2    #                  AWORK3  MESSAGE NUMBER   
7L7L    #   
7LM=    QK8  [******
7M6W          LDX   5  AWORK2(2)           [HOME
7MLG          LDX   4  AWORK1(2)           [SUSN
7N66    #   
7NKQ    #     CHECK  EXOF STILL THERE   
7P5B    #   
7PK2          LDN   1  BCCB 
7Q4L    Z8    LDX   1  BPTR(1)  
7QJ=          TXU   1  CXCC 
7R3W          BCC      Z7                  [J IF END OF CHAIN   
7RHG          LDX   0  BACK2(1) 
7S36          BZE   0  Z7                  [OR NO MORE EXOFS
7SGQ          TXU   4  ASUSN(1) 
7T2B          TXU   5  HOME(1)  
7TG2          BCS      Z8                  [J NOT THIS EXOF 
7T^L          LDX   6  0                   [REMEMBER EXOF NO.   
7WF=          SETNCORE GEXDLEN,3,EWDAS,GEXD[SET UP GEXD 
7WYW          STOZ     A1(3)               [AND ZEROISE 
7XDG          LDN   7  A1(3)
7XY6          LDN   0  A1+1(3)  
7YCQ          MOVE  7  GEXDLEN-1
7YXB          STO   4  ESERL(3)            [STORE SUSN  
7^C2          FINDEXOF 1,6,Z12             [FIND EXOF IN CCB CHAIN  
7^WL          LDX   7  ALOGLEN(1)   
82B=          GETCORE  7,1                 [GET CORE FOR DUMMY EXOF 
82TW          MHUNT    3,EWDAS,GEXD 
83*G          FINDCORE 2                   [PTR TO NEW ONE  
83T6          LDN   2  ATYPE(2) 
84#Q          FINDEXOF 1,6,Z9              [
84SB          LDN   1  ATYPE(1) 
85#2 ...      ADN   7  A1-ATYPE 
85RL ...      MOVLONG  1,2,7               [ALLOWS FOR > 512 WORD MOVE  
86?=          LDN   0  BOPEN+BSPEC+BSERL+BLOCK  
86QW          STO   0  EXMARK-ATYPE(2)     [PARAMS FOR EXOPEN   
87=G          DOWN     EXOPEN,1 
87Q6          MHUNTW   3,EWDAS,GEXD 
889Q          LDX   7  EMARK(3) 
88PB          TESTREP  OK,Z10   
8992          TESTREP  EXFAIL,Z15          [J IF UNSUCCESSFUL   
89NL    Z16   GEOERR   1,EXOPENRP   
8=8=    Z10   FREECORE 3
8=MW          MHUNTW   3,EWDAS,EXOF 
8?7G          FINDEXOF 1,6,Z12  
8?M6          LDX   0  BACK2(1) 
8#6Q          STO   0  BACK2(3)            [TRANSFER EXOF NUMBER
8#LB          LDX   7  1
8*62          CHAIN    3,7                 [CHAIN NEW EXOF  
8*KL          LDX   3  7
8B5=          BRN      Z12  
8BJW    Z9    SBN   2  ATYPE
8C4G          FREECORE 2
8CJ6    Z12   FREECORE 3
8D3Q    Z7    LDCT  0  #400 
8DHB    Z17   STO   0  AWORK4(2)
8F32          BRN      Z13  
8FGL    #   
8G2=    #     TRANSFER FAIL 
8GFW    #   
8G^G    Z15   ANDN  7  ARITE+AFAIL+ANFOUND  
8HF6          BZE   7  Z16  
8HYQ          MFREE    EWDAS,EXOF   
8JDB          MFREE    EWDAS,GEXD   
8JY2          LDN   0  2
8KCL          BRN      Z17  
8KX=    #     THIS PART CLOSES THE IPB LINKS
8LBW    #   
8LWG    #     AT THE STAGE THERE SHOULD BE NO WRITE OUTSTANDING 
8MB6    #   
8MTQ    QK9  [******
8N*B          LDCT  0  #400 
8NT2          ORN   0  JICLSE   
8P#L          ORS   0  ETWINMK             [SET NOT INITIALISED AND CLOSE MKRS  
8SQ2    #   
8T9L    #     SEARCH FOR ESEND WITH CLOSE REQUEST   
8TP=    #   
8W8W    ZA    LDX   3  FX2  
8WNG    Z2    HUNT2J   3,EWDAS,ESEND,,Z1
8X86          LDXC  0  ENMARK(3)
8XMQ          BCS      Z2   
8Y7B          SBN   0  CLIP 
8YM2          BNZ   0  Z2              [J NOT CLOSE REQUEST 
8^6L          LDN   0  ENTRGA(3)
8^L=          TXU   0  ENTRGA+1(3)  
925W          BCC      Z1              [ERROR IF LINK EMPTY 
92KG          LDX   0  ENTRGA+1(3)  
9356          BZE   0  Z1              [OR NULL 
93JQ          LDX   4  ENTRGA(3)
944B          DERING   ENTRGA(3)       [DERING ENLINK   
94J2          FREECORE 3               [FREE ESEND  
953L          LDX   1  4
95H=          ENRING   1,ETBRING(2)        [CHAIN ON END OF JOB RING
962W          ACROSS   TWINSETA,4          [WAIT FOR READ TO FINISH 
96GG    #   
9726    #     COMES BACK HERE WHEN IT HAS   
97FQ    #   
97^B    QK10 [******
986J ...      TCLOSE
98YL    #   
99D=    #     LOOK FOR ENLINK   
99XW    #   
9=CG    ZB    LDX   3  ETFRING(2)          [START OF QUEUE  
9=X6    Z4    LDN   0  ETFRING(2)   
9?BQ          TXU   0  3
9?WB          BCC      Z1                  [ERROR IF NOT THERE  
9#B2          SBN   3  ENLA 
9#TL          LDX   0  ENRQ(3)  
9**=          SBN   0  CLIP 
9*SW          BZE   0  Z3                  [J IF CLOSE  
9B#G          LDX   3  ENLA(3)  
9BS6          BRN      Z4                  [GET NEXT
9C?Q    Z3    LDCT  0  #400 
9CRB          STO   0  ENRP(3)  
9D?2          LDX   2  3
9DQL          LDX   1  ENWTS(3)            [GET WAITING STYLE   
9F==    Z5    LDX   2  BPTR(2)             [LOOK BACK FOR ACTIVITY  
9FPW          LDX   0  ATYPE(2) 
9G9G          TXL   0  CACT 
9GP6          BCS      Z5                  [J IF NOT
9H8Q          LONGCLEAR 2,0(1),Z6   
9HNB    Z6    DERINGD  ENLA(3)             [DECHAIN ENLINK  
9S22          ACROSS   TWINSETA,1   
9S2B ...[   
9S3G ...QK12
9S3W ...[   
9S4= ...[     CLOSE LINKS - TCLOSE MACRO
9S4L ...[   
9S52 ...      LDX   0  ETWINMK  
9S5B ...      ANDN  0  JOFR 
9S5Q ...      BNZ   0  NRL                 [J IF READ LINK NOT OPEN 
9S66 ...      LDX   5  ETWINMK  
9S6G ...      ANDN  5  JROUTS   
9S6W ...      BZE   5  RLC                 [J IF NO READ OUTSTANDING
9S7= ...RCR   IPCREP   R,3  
9S7L ...      BPZ   3  RLCF                [J IF READ FINISHED  
9S82 ...      SUSPEND                      [ELSE WAIT   
9S8B ...      BRN      RCR  
9S8Q ...RLCF  ERS   5  ETWINMK             [CLEAR READ OUTSTANDING MARKER   
9S96 ...RLC   IPCLOSE  R,ZCAN              [CLOSE READ LINK 
9S9G ...NRL   LDX   0  ETWINMK  
9S9W ...      ANDN  0  JNOCHAT  
9S== ...      BNZ   0  NWL                 [J IF WRITE LINK NOT OPEN
9S=L ...      LDX   5  ETWINMK  
9S?2 ...      ANDN  5  JIOUTS   
9S?B ...      BZE   5  WLC                 [J IF NO  WRITE OUTSTANDING  
9S?Q ...WCW   IPCREP   W,3  
9S#6 ...      BPZ   3  WLCF                [J IF FINISHED   
9S#G ...      SUSPEND                      [ELSE WAIT   
9S#W ...      BRN      WCW  
9S*= ...WLCF  ERS   5  ETWINMK             [CLEAR WRITE OUTSTANDING MKR 
9S*L ...WLC   IPCLOSE  W,ZCAN   
9SB2 ...NWL   LDCT  0  #400 
9SBB ...      ORN   0  JNOCHAT+JOFR        [SET NOT OPEN MKRS   
9SBQ ...      ORS   0  ETWINMK  
9SC6 ...      LDN   0  JICLSE   
9SCG ...      ANDX  0  ETWINMK  
9SCW ...      ERS   0  ETWINMK             [CLEAR CLOSING MKR   
9SD2 ...      LDN   0  7                   [NOT INITIALISED REPLY   
9SD6 ...      STO   0  ACOMMUNE2(2) 
9SD= ...      DOWN     TWINSETD,5          [PUT NOT INITIALISED REPLY IN ESENDS 
9SDL ...      UP
9SFL    #   
9S^=    ZCAN  GEOERR   1,NO CLOSE   
9TDW    Z1    GEOERR   1,OUTSTAND   
9TNN ...XCME  GEOERR   1,NOTCME 
9TYG    #   
9WD6          MENDAREA 50,K99TWINSETB   
9WXQ    #   
9XCB    #END
^^^^ ...01241350000100000000
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1