PERION867

(George Source)

Macros used: ACROSS, ACROSSVAR, AUTFAIL, AUTFIN, AUTSTART, BACKTRAN, BADBLOCK, CAPCA, CHECKB, CHECKEXT, CHTRAN, CONVERTX, DOWN, FADDRESS, FDRMQUERY, FOUTMOVE, GEOERR, GETWORD, HUNTW, ILLEGALX, JENG, JENVNOT, JNOTFDRM, KEEPMESS, LOCKCA, MENDAREA, MFINDEXOF, MFINDSU, OLPFIN, OUTPACK, PAIR, PICKREP, PMODES, PROGBRKIN, RELSTX, RESTART, RUNPROG, SEG, SEGENTRY, SETREP, SMUSEST, STEPBACK, SUSESTX, TESTREP, TESTREPX, TOPCA1, TRACE, TRUSTED, UNPLUG, WORDFIN

PERION867.txt
22FL ...      SEG   PERION,860,FRANK BLUNDELL,PERION
22T* ...#   
2394 ...#     COPYRIGHT INTERNATIONAL COMPUTERS LTD   1982  
23JR ...#   
23YG    #   
24D6          SEGENTRY K1PERION,QK1PERION   
24XQ
25CB ...      SEGENTRY  K2PERION,QK1PERION  
25X2    #   
26BL    #     PROGRAM  ILLEGAL  
26W=    #   
27*W    XJMOD          +JYMODE  
27TG    XJMR           +JYMODER 
28*6    XJRV           +JYNOCA  
28SQ    #DEF   XCA=EVENT2   
29#B    #DEF  TREP=EXEC3                   [REPLY FROM BSTS 
29S2    #   
2=?L    #   
2=R=    PLINK   
2?=W    ZA    PAIR     PERION,1 
2?QG    #   
2#=6    #     CHECK IF S-TRUSTED AND MODES 4,5,6
2#PQ    XST   LDX   0  6                   [MODE
2*9B          ANDN  0  #4777
2*P2          SBN   0  7
2B8L          BPZ   0  XRV                 [ILLEGAL IF MODE NOT 4,5 OR 6
2BN=          TRUSTED  APETADDR(2),PA3,S   [J TO PA3 IF PROG NOT S-TRUSTED  
2C7W          LDX   0  EXMODE(2)           [OPENING MODE
2CMG          SBN   0  #200 
2D76          BZE   0  PA4                 [J IF ONLY OPEN FOR READING  
2DLQ    PA5   ACROSS   SPERION,1           [DEAL WITH MODES 4,5,6   
2F6B    PA3   TRUSTED  APETADDR(2),XRV,Q   [ILLEGAL IF NOT Q-TRUSTED
2FL2    PA4   LDX   0  6                   [MODE
2G5L          SBN   0  5
2GK=          BZE   0  PA5                 [O.K IF ONLY CHECK READING   
2H4W    #     PUT  OLPA TO SLEEP WAKE UP PCA TO DO ILLEGAL  
2HJG    XRV   TOPCA1   ZA(1)
2J46          UNPLUG
2JHQ          ILLEGALX 3                   [ILLEGAL 
2K3B    #   
2KH2    #     EXEC1 CONTAINS   SUBPROGRAM  NUMBER   
2L2L    #     EXEC2 CONTAINS   ADDRESS OF CONTROL AREA  
2LG=    #   
2L^W    #   
2MFG    QK1PERION   
2M^6          LDX   1  APETADDR(2)  
2NDQ          LOCKCA   1,XCA(2)            [LOCK CONTROL AREA   
2NYB ...      LDX   6  EVENT4(2)
2RW6          LDX   1  FX1  
2S*Q    #SKI  K6PERION>99-99
2STB    (   
2T*2          LDX   0  6                   [CHECK TYPE IF TRACING   
2TSL          SRL   0  15   
2W#=          ANDN  0  #377                [MUST BE 6,7,13 OR 26
2WRW          SBN   0  6                   [
2X?G          BZE   0  XAA  
2XR6          SBN   0  1
2Y=Q          BZE   0  XAA  
2YQB          SBN   0  6
2^=2          BZE   0  XAA  
2^PL          SBN   0  13                  [OR EDS 30   
329=          BZE   0  XAA  
32NW          GEOERR   1,WRNGTYPE   
338G    XAA 
33N6    )   
347Q          ANDX  6  XM2(1)              [MASK OUT TYPE   
34MB          LDX   4  6
3572          ANDX  4  XM1(1)   
35LL          BZE   4  XB                  [JUMP IF TRANSFER MODE   
35MC ...#UNS  CAFSINT   
35N8 ...(   
35N^ ...#     FOR CAFS, WE SPLIT OUT THE SPECIAL CAFS MODE TRANSFERS
35PQ ...#     AT THIS POINT.   THE MODES IN QUESTION ARE #12 & #13. 
35QH ...#   
35R# ...      LDX   0  CAFSPTR             [MODES ARE ILLEGAL WITHOUT CAFS  
35S5 ...      BZE   0  SNOTCAFS            [JIF NO CAFS SYSTEM  
35SW ...#   
35TM ...      LDEX  4  6                   [ISOLATE NON-ADDITIVE PART OF MODE   
35WD ...      SBN   4  #12  
35X9 ...      BZE   4  SCAFSMODE           [JIF CAFS MODE #12   
35Y2 ...      SBN   4  1
35YR ...      BNZ   4  SNOTCAFS            [JIF NOT A CAFS MODE 
35^J ...#   
362* ...SCAFSMODE   
3636 ...      ACROSS   CAFSPERI,1          [GO TO HANDLE CAFS PERI MODES
363X ...#   
364N ...SNOTCAFS
365F ...)   
366=          LDX   3  XJMOD(1)            [MODE IN ERROR INDENTIFIER   
36KW          LDX   4  6                   [
375G          ANDX  4  XM3(1)              [
37K6          BNZ   4  XRV                 [JUMP IF ILLEGAL MODE
384Q          LDX   4  6
38JB          ANDN  4  #1777
3942          LDX   5  4
39HL          SBN   4  #1600               [JUMP IF ILLEGAL MODE
3=3=          BPZ   4  XRV  
3=GW          LDX   0  EXMODE(2)           [OPENING MODE
3?2G          SBN   0  #1600
3?G6          BZE   0  PA1                 [J IF OPENING MODE #1600 
3?^Q          SBN   0  #100 
3#FB          BNZ   0  PA2                 [J IF NOT #1700  
3#^2    PA1   LDX   4  5                   [ACTUAL MODE 
3*DL          SBN   4  #1000
3*Y=          BZE   4  PA2  
3BCW          SBN   4  #400                [ONLY MODES #1000 AND #1400 ALLOWED  
3BXG          BNZ   4  XRV                 [IF OPENING MODES EITHER #1600 OR #17
3CC6    PA2   SRL   6  10   
3CWQ          ANDN  6  3                   [ADDITIVE BITS IF ANY
3DBB          LDX   4  5
3DW2          SBN   4  #401                [JUMP IF MODE #100-#400 (OPEN)   
3F*L          BNG   4  XC   
3FT=          SBN   4  #177                [JUMP IF #600-OPEN SCRATCH   
3G#W          BZE   4  XC   
3GSG          SBN   4  #400                [JUMP IF CREATE #1200
3H#6          BZE   4  XC   
3HRQ          LDCT  0  #400 
3J?B          ORS   0  GIVE(2)             [SET OPEN ILLEGAL MARK   
3JR2          BRN      XD   
3K=L    XC    LDCT  0  #400 
3KQ=          ANDX  0  GIVE(2)  
3L9W          BNZ   0  XRV                 [JUMP IF OPEN ILLEGAL
3LPG          LDX   3  XJMR(1)             [MODE INCOMPATIBLE   
3M96          LDX   0  5
3MNQ          SBN   0  #401 
3N8B          BNG   0  XE   
3NN2          TXU   5  EXMODE(2)           [JUMP IF MODE INCOMPATIBLE   
3P7L          BCS      XRV  
3PM=          BRN      XD   
3Q6W    XE    LDX   0  EXMODE(2)
3QLG          SBN   0  #401 
3R66          BPZ   0  XRV                 [JUMP IF MODE INCOMPATIBLE   
3RKQ    XD    LDX   2  5
3S5B    #SKI  K6PERION>199-199  
3SK2          TRACE    2,PERIMODE   
3T4L          SBN   2  #400 
3TJ=          BPZ   2  XF   
3W3W          LDN   2  0                   [SET X2 MODIFER TO PAIR TABLE
3WHG    XF    SRL   2  7-HLINK  
3X36          ADX   2  FX1  
3XGQ          ACROSSVAR XLINK(2)
3Y2B    #   
3YG2    #     LINK  TABLE   
3Y^L    #   
3^F=    XLINK   
3^YW          PAIR     ANTIC,2             [MODES 100-400 OPEN  
42DG          PAIR     EXTEND,1 
42Y6          PAIR     ANTIC,3             [MODE 600 SCRATCH
43CQ          PAIR     RENAMEX,1
43XB          PAIR     CLOSBAC,1
44C2          PAIR     READSPEC,2   
44WL          PAIR     ANTIC,4             [MODE 1200 CREATE
45B=          PAIR     CLOSBAC,1
45TW          PAIR     READSPEC,1   
46*G          PAIR     EXINONE,1           [EXTEND INTO(#1500)  
46T6    #   
47#Q    #   
47SB    #   
48#2    XM1            #47730   
48RL    XM2            #77777   
49?=    XM3            #70077   
49QW    #   
4==G    #     CHECK TRANSFER MODE FOR LEGALITY  
4=Q6    #   
4?9Q    #   
4?PB    XB    LDX   3  XJRV(1)  
4#92          LDN   4  5
4*8=          CHECKEXT XCA(2),4,XRV,APETADDR(2),W,XBA,HLOCK1,,K1PERION  
4BM6    XBA 
4C6Q          LDX   3  XJMOD(1) 
4CLB          LDX   4  6
4D62          ANDN  4  #47  
4DKL          SBN   4  4
4F5=          BNG   4  YA                  [JUMP IF MODE 0,1,2,3
4FJW          SBN   4  3
4G4G          BZE   4  YA                  [OR 7
4GJ6          SBN   4  26   
4H3Q          BZE   4  YA   
4HHB          SBN   4  2                   [OR #41 OR #43   
4J32          BNZ   4  XST  
4JGL    YA    LDX   5  6
4K2=          ANDN  5  7                   [X5 HOLDS BASIC MODE 
4KFW          LDX   4  6
4K^G          SRL   4  9
4LF6          ANDN  4  #30                 [MODES #20000,#30000 
4LYQ          ANDN  6  #40                 [MODE #40
4MDB          ORS   4  6
4MY2          SBN   4  #10  
4NCL          BZE   4  XRV                 [JUMP IF ADD MODE #10000ONLYSET  
4NX=          LDCT  0  #400 
4PBW          ORS   0  GIVE(2)             [SET OPEN ILLEGAL BIT
4PWG          LDX   0  5
4QB6          BZE   0  YB   
4QTQ          SBN   0  2
4R*B          BZE   0  YB                  [JUMP IF READ
4RT2          SBN   0  5
4S#L          BZE   0  YB                  [
4SS=          LDX   0  EXMODE(2)
4T?W          SBN   0  #200 
4TRG          BZE   0  XRV                 [JUMP IF FILE OPEN FOR READING   
4W?6          SBN   0  #1500
4WQQ          BZE   0  XRV                 [NO WRITING ALLOWED IF OPENED AS #170
4X=B          BRN      YB   
4XQ2    #   
4Y9L    #   
4YP=    #     TRANSFER ROUTINE  
4^8W    #   
4^NG    QMASK          #777777  
5286    RMASK          #100000  
52MQ    TWO            +2   
537B    TEN            +10  
53M2    SESS           +CHWRITE 
546L                   +CHREAD  
54L=    #   
555W    #     MONITORING FILE MESSAGE IDENTIFIERS   
55KG    #   
5656    NCT            +JYCOUNT            [COUNT OUT OF RANGE  
56JQ    NOBUF          +JYNOBUF            [BUFFER OUT OF PROGS RESERVATIONS
574B    RFAIL          +EWOWN              [BLOCK N FAIL
57J2    #FID  1 1 1 
583L    PERF           +JYPERFAIL          [ONLINE %A FAIL  
592W    #DEF  TAC1=EWORK6   
5=FQ    #DEF  TAC2=TAC1+1   
5=^B    #DEF  TAC3=TAC2+1   
5?F2    #DEF  TAC4=TAC3+1   
5?YL    #DEF  TAC5=TAC4+1   
5#D=    #DEF  TAC6=TAC5+1   
5#XW    #DEF  PB=BSET+BONL+BOBJ 
5*CG    #   
5*X6    #     THE SUBROUTINE MERELY RELSTX'S THE SU 
5BBQ    #   
5BWB    RELSTX                             [IF SU SERIAL NO IS IN   CA3 OF AOLPT
5CB2          LDX   6  EWORK3(2)
5CTL    RELSTY                             [IF ALREADY IN X6
5D*=          SBX   0  FX1  
5DN^ ...      STO   0  ACOMMUNE1(2)        [DUMP LINK   
5GRB ...      RELSTX   6,PA6               [RELEASE SU  
5H?2          BRN      PBA6 
5HQL    PA6   LDX   1  FX1  
5J==          LDX   2  FX2  
5JPW ...PBA6  LDX   0  ACOMMUNE1(2) 
5K9G          ADX   0  FX1  
5KP6          EXIT  0  0
5L8Q    #   
5LNB    #   
5M82    #     SUBROUTINE TO ISSUE AUTSTART MACRO
5MML    #   
5N7=    #     LINK X7    NO COORDINATION
5NLW    #   
5P6G    XAUTS   
5PL6          AUTSTART                     [MAKE AUTO   
5Q5Q    X1    EXIT  7  0
5QKB    #   
5R52    #   
5RJL    YB    STOZ     AWORK4(2)           [CLEAR TO HOLD REPLYS TO PROG
5S4=          STO   5  AWORK3(2)           [REMEMBER TRANSFER MODE  
5SHW          STO   6  AWORK1(2)           [AND ADDITIVE MODES  
5T3G          LDX   0  EWCHAN(2)           [CHANNEL NO. 
5TH6          STO   0  AWORK2(2)           [REMEMBER
5W2Q          LDX   6  XCA(2)              [GET ADDRESS OF PROGS CONTROL AREA   
5WGB          STO   6  TAC1(2)             [AND REMEMBER
5X22    #SKI  K6PERION>199-199  
5XFL          TRACE    6,PERICAAD   
5X^=          LDN   4  5                   [LENGTH OF PROGS CONTROL AREA
5YDW          LDX   3  APETADDR(2)         [LOAD ADDRESS OF ASSOCIATED PCA  
5YYG          LDN   7  EWORK1(2)           [START OF AREA IN AOLPT TO MOVE CA TO
5^XQ          FOUTMOVE 3,6,7,4,HLOCK1,2    [MOVE PROG'S CA TO EWORK1-5 OF AOLPT 
63BL    #SKI  K6PERION>199-199  
63W=    (   
64*W          TRACE    EWORK1(2),PERICA1
64TG          TRACE    EWORK2(2),   
65*6          TRACE    EWORK3(2),   
65SQ          TRACE    EWORK4(2),   
66#B          TRACE    EWORK5(2),   
66S2    )   
67?L          LDX   1  ANM(3)              [MEMBER NO OF PROG FROM PCA  
67R=          ANDN  1  #3                  [BOTTOM TWO BITS 
68=W          PMODES   1,3                 [GIVES ADDRESSING MODE OF PROG IN X1 
68QG          ANDN  1  #10                 [SEE IF EXTENDED STORE MODE  
69=6          BNZ   1  NP                  [AND JUMP IF IT IS   
69PQ          LDX   0  BSP16               [GET MASK FOR 15AM   
6=9B          BRN      NP1  
6=P2    NP    LDX   0  BITS22LS            [MASK FOR 22AM   
6?8L    NP1   ANDX  0  EWORK4(2)           [FORGET ANY SPURIOUS BITS
6?N=          STO   0  TAC4(2)             [REMEMBER PROGS BUFFER ADDRESS   
6#7W          MFINDEXOF 3,EXNUM(2)         [GET ADDRESS OF ASSOCIATED EWDAS/EXOF
6#MG          LDCH  0  FIP+8(3)            [GET FLAW INDECATOR FROM EXOF
6*76          ANDN  0  #2                  [I.E B4=1 NO FLAW ACTION 
6*LQ          ORS   0  AWORK1(2)           [AND REMEMBER
6B6B          BNZ   0  NP2                 [J IF NO FLAW ACTION 
6BDR ...      LDN   0  #10                 [ ADD. MODE #30000 HAS PRECEDENCE
6BR8 ...      ANDX  0  AWORK1(2)           [ OVER FLAW ACTION   
6C5K ...      BZE   0  NP2                 [J IF NO MODE #30000  ....   
6CD2 ...      LDN   0  #2                  [ ... OTHERWISE IGNORE FLAW -ACTION- 
6CQC ...      ORS   0  AWORK1(2)           [ -INDICATOR IN THE EXOF 
6D4W    NP2   LDCT  0  #200 
6DJG          ANDX  0  EXMAYBE(2)   
6F46          BNZ   0  PA6A                [J IF NOT S-TRUSTED WITH SYS FILE OFW
6FHQ          LDX   0  EXMODE(2)           [OPENING MODE
6G3B          SBN   0  #1700
6GH2          BNZ   0  PA7                 [J NOT #1700 
6H2L    PA6A  LDN   0  #4002               [B12=S-TRUSTED AND OPENED IN #1700   
6HG=          ORS   0  AWORK1(2)           [B22=NO FLAW ACTION REQUIRED 
6H^W    PA7   LDX   0  EWORK3(2)           [GET LENGTH OF PROGS TRANSFER
6JFG          LDX   1  FX1  
6J^6          BZE   0  RONGLEN             [ZERO LENGTH ILLEGAL 
6KDQ          TXL   0  RMASK(1)            [TEST IF LENGTH -VE OR > 32767   
6KYB          BCC      RONGLEN             [ILLEGAL IF YES  
6LD2          STO   0  TAC3(2)             [REMEMBER LENGTH 
6LXL          LDX   7  EWORK5(2)           [GET LOGICAL BUCKET NUMBER   
6MC=          BZE   7  RONGLBN             [ILLEGAL IF ZERO 
6MWW          BNG   7  RONGLBN             [OR NEGITIVE 
6NBG          LDX   0  EXMODE(2)           [MODE FILE WAS OPENED
6NW6          SBN   0  #400 
6P*Q          BNZ   0  N400                [J IF NOT MODE #400  
6PTB          ADX   7  FIP+10(3)           [JUGGLE WITH LBN 
6Q*2          SBN   7  1                   [TO MAKE COMPATABLE WITH OTHER MODES 
6QSL    N400  LDN   1  FDCELLS(3)          [POINTER TO FD CELLS 
6R#=          SBN   1  7                   [STEP BACK 7 
6RRW          LDEX  6  FIP+5(3) 
6S?G    NEXT  BZE   6  RONGLBN             [LBN OUT OF RANGE
6SR6          SBN   6  1                   [REDUCE COUNT
6T=Q          ADN   1  6                   [UPDATE POINTER TO NEXT CELL 
6TQB          TXL   7  6(1)                [LOOK AT NEXT CELL   
6W=2          BCC      NEXT                [AND J IF SPECIFIED LBN NOT IN THIS C
6WPL          SBX   7  0(1)                [GET BUCKET NO. RELATIVE TO START OF 
6X9=          LDX   4  FIP+8(3) 
6XNW          ANDN  4  #77                 [BUCKET SIZE FROM EXOF   
6Y8G          MPY   7  4                   [BLOCK SIZE IN X7 AND X0 
6YN6          DVD   7  5(1)                [CONVERT TO CYLINDER X0 AND BLOCK X7 
6^7Q          ADX   0  2(1)                [ADD ST CYL RELATIVE TO THE SU   
6^MB          STO   0  EWORK1(2)           [REMEMBER IN EWORK1 OF AOLPT 
7272          LDX   6  5(1)                [BLOCKS/SEEK AREA FROM FDCELL
72LL          SBX   6  7                   [BLOCK REMAINING TO BE TRANSFERED
736=          SLL   6  7                   [X 128 TO GIVE MAX LENGTH (MODES 2 OR
73KW          ADX   7  3(1)                [ADD STARTING SEGMENT
745G          STO   7  EWORK2(2)           [AND STORE   
74K6          LDX   0  1(1)                [SERIAL NO. OF STORAGE UNIT  
754Q          STO   0  EWORK3(2)
773= ...      SUSESTX  1(1),NOTON          [SEE IF SU ONLINE
77GW          LDX   0  ABSUN(1)            [X1 POINTS TO ASTUC SO GET BSUN  
782G          LDX   2  FX2  
78G6          STO   0  TAC2(2)             [REMEMBER FOR BSTS   
78^Q          LDX   0  ASUBASE(1)          [STARTING CYLINDER OF SU 
79FB          ADS   0  EWORK1(2)           [AND ADD TO OTHER CYL
79GJ ...[   
79HQ ...[     EMULATION CHANGE: 
79JY ...[           STORE CYL*BLOCKS PER CYL+BLOCK PART INTO X7 
79L6 ...[           CONVERTX THEN RETURNS IN X0 THE ABSOLUTE
79M# ...[           BLOCK ADDRESS WITH X0 SET   
79NG ...[   
79PN ...      LDX   7  EWORK1(2)           [CYL PART OF ADDRESS 
79QW ...      JENVNOT  NEMU,MEEP           [J IF NOT MEEP EMULATION 
79S4 ...      LDX   0  EWORK2(2)           [BLOCK PART OF ADDRESS   
79T= ...      MPA   7  HBLOCK(1)           [CALCULATE ABSOLUTE BLOCK ADDRESS
79WD ...      STO   0  7                   [FOR CONVERTX MACRO  
79XL ...NEMU
79^2          LDX   0  HTYPE(1)            [TYPE/SUBTYPE OF SU  
7=DL          STO   0  EWORK4(2)
7=Y=    #SKI  K6PERION>199-199  
7?CW    (   
7?XG          TRACE    EWORK1(2),PERICYL
7#C6          TRACE    EWORK2(2),PERIBLK
7#WQ          TRACE    EWORK3(2),PERISU 
7*BB    )   
7*W2 ...      CONVERTX 7,EWORK2(2),EWORK4(2) [GET BS HARDWARE ADDRESS   
7B*L          LDX   2  FX2  
7BT=          STO   0  TAC5(2)             [STORE FOR BACKTRAN  
7C#W          LDX   1  FX1  
7CSG          TXL   5  TWO(1)   
7D#6          BCS      NP4                 [JUMP IF MODES 0 OR 1
7DRQ          SBN   5  7
7F?B          BNG   5  NP5                 [J IF MODES 2 OR 3   
7FR2          LDX   3  TAC1(2)             [REMEMBER CONTROL ADDRESS
7G=L          CALL  7  XAUTS               [MAKE AUTO IF NECESSARY  
7GQ=          BRN      SEVEN               [MUST BE MODE 7  
7H9W    NP4   LDN   6  128                 [BLOCK SIZE  
7HPG          MPY   6  4                   [MAX LENGLH ALLOWED  
7J96          LDX   6  7
7JNQ    NP5   TXL   6  TAC3(2)             [COMPARE MAX LENGTH WITH LENGTH NEEDE
7K8B          BCC      NP6                 [J IF MAX COUNT NOT EXCEEDED 
7KN2          STO   6  TAC3(2)             [SET NEW COUNT EQUAL TO MAX LENGTH   
7L7L          BPZ   5  NP6                 [J IF MODES 0 OR 1   
7LM=          LDCT  0  #200                [END OF SEEK AREA REPLY  
7M6W          ORS   0  AWORK4(2)
7MLG    NP6   LDX   6  TAC3(2)             [COUNT   
7N66          ADX   6  TAC4(2)             [PLUS START ADDRESS TO   
7NKQ          ANDX  6  QMASK(1) 
7P5B          ORS   6  AWORK4(2)           [REPLY WD
7P=J ...#SKI  G4                     [RELEASE SU IN G4 IN CASE QUOTA
7PCQ ...      CALL  0  RELSTX        [NEEDS TO BE INCREASED 
7PK2          LDX   5  AWORK3(2)           [MODE OF TRANSFER
7Q4L          ANDN  5  1
7QJ=          SMO      5                   [USE AS MOD TO OBTAIN
7R3W          LDX   7  SESS(1)             [READ OR WRITE ACCESS IDENTIFIER 
7RHG ...      CHECKB   TAC4(2),TAC3(2),OUT,APETADDR(2),7,NP8,HLOCK2,,QK2PERION  
7T2B          [^ CHECK BUFFER   
7T=8 ...#SKI  G4                       [GET SU BACK ONLINE IN G4
7TG2 ...(   
7TPS ...NP8   SUSESTX  EWORK3(2),NOTON  
7T^L ...      LDX   1  FX1  
7W9D ...      LDX   2  FX2  
7WF= ...)   
7WP4 ...#SKI  G3
7WYW ...NP8 
7X8N ...      LDX   0  AWORK1(2)           [GET ADDITIVE MODES  
7XDG          ANDN  0  #40  
7XY6          BZE   0  NP9                 [J IF NOT WRITE WITHOUT CHECK READ   
7YCQ          LDN   5  9                   [SET TO MODE 9   
7YXB    NP9   LDX   3  TAC1(2)             [REMEMBER PROGS CONTROL AREA ADDRESS 
7^C2          STO   5  TAC1(2)             [STORE MODE AND DO BS TRANSFER   
7^WL    #SKI  ADRMK7&G4 
82B=    (   
82TW    #     STORAGE UNIT MAY HAVE GONE OFFLINE DURING CHECKA  
83*G    #   
83T6          JNOTFDRM XGO  
84#Q
84SB          MFINDSU 3,EWORK3(2)   
85#2          JENG   HUNIT(3),XGO   
85RL          CALL  0  RELSTX   
86?=          BRN      NOTONDRM 
86QW    XGO 
87=G    )   
87D* ...      CALL  7  XAUTS               [MAKE AUTO IF NECESSARY  
87L8 ...      LDX   0  AWORK1(2)           [GET ADDITIVE MODES IF ANY   
87S3 ...      ANDN  0  #30                 [ISOLATE #20000 OR #30000
87^W ...      SLL   0  9                   [ENSURE X0 CONTAINS MODE 
887P ...      STO   0  4                   [STORE ADD. MODE OR ZERO 
88*J ...      BACKTRAN TAC1(2),PB,TAC3(2),,TAC2(2),TAC5(2),TAC4(2),APETADDR(2),-
88HC ...                    EX4 
88PB          CHTRAN   EWORK4(2),TFAIL,TFAIL [CHECK TRANSFER IS OK  
8992    SEVEN CALL  0  RELSTX              [RELEASE SU  
89NL    NP10
8=8=          AUTFIN   AWORK4(2)           [ELSE SEE IF ANYTHING UP THE SPOUT   
8=MW          BRN      K1PERION            [AND GO FOR NEXT 
8?7G    #   
8?M6    #     TRANSFER HAS ILLEGAL LENGTH   
8#6Q    #   
8#LB    RONGLEN 
8*62          LDX   7  NCT(1)              [GET MONITORING FILE MESSAGE IDENTIFI
8*KL          BRN      PATH                [JOIN ILLEGAL PATH   
8B5=    #   
8BJW    #     BUFFER IS OUT OF PROGRAMS RESERVATIONS
8C4G    #   
8CJ6    OUT   LDX   7  NOBUF(1)            [RESERVATION VIOLATION MESSAGE   
8D3Q          CALL  0  RELSTX              [RELEASE SU  
8DHB    PATH  TOPCA1   PLINK(1)            [CHANGE TO PCA   
8F32          UNPLUG                       [UNPLUG PROG FROM EXEC   
8FGL    NP15  ILLEGALX 7                   [PUMP OUT ILLEGAL MESSAGE
8G2=    #   
8GFW    #     PROGRAMS LOGICAL BUCKET NUMBER OUT OF RANGE   
8G^G    #   
8HF6    RONGLBN 
8HYQ          LDCT  0  #10                 [REPLY FOR LBN OUT OF RANGE  
8JDB          STO   0  AWORK4(2)           [IN AWORK4 OF AOLPT  
8JY2          LDX   3  TAC1(2)             [PROGS CA ADDRESS
8KCL    #SKI  K6PERION>199-199  
8KX=          TRACE    7,PERIBLBN   
8LBW          CALL  7  XAUTS               [MAKE AUTO IF NECESSARY  
8LWG          BRN      NP10 
8MB6    #   
8MTQ    #     STORAGE UNIT NOT ONLINE   
8N*B    #   
8NT2    NOTON LDX   2  FX2  
8P#L    #SKI  ADRMK7
8PS=          FDRMQUERY NOTONDRM           [CHANNEL IN DRM  
8Q?W          LDX   3  AWORK1(2)           [REMEMBER IF S-TRUSTED OR NOT
8QRG          LDX   4  TAC1(2)             [PROGS CONTROL AREA ADDRESS  
8R?6          LDX   5  EWCHAN(2)           [CHANNEL NO. OF FILE 
8RQQ          LDX   6  EWORK3(2)           [REMEMBER SERIAL NO. OF SU   
8S=B          LDX   1  FX1  
8SQ2          TOPCA1   PLINK(1)            [CHANGE TO APET ACTIVITY 
8T9L          UNPLUG                       [UNPLUG PROG FROM EXEC   
8TP=          CAPCA                        [CHANGE TO CPAT I.E. SWAPOUT PROG
8XMQ ...      SMUSEST  6,NONL,REAKIN       [GET SU ONLINE   
8Y7B          CALL  0  RELSTY              [RELEASE SU  
8YM2          STEPBACK                     [STEP PROGS ONR BACK 
8^6L          RUNPROG                      [AND TRY AGAIN   
8^L=    #SKI  ADRMK7
925W    (   
92KG    #     SU UNIT ONLINE WHEN CHANNEL IN DRM
9356    #   
93JQ    NOTONDRM
944B          LDCT  0  #410                [1**M*1  
94J2          STO   0  AWORK4(2)           [REJECTED/INOPERABLE REPLY   
953L          LDX   1  APETADDR(2)  
95H=          LDX   3  EVENT2(2)
962W          ADN   3  1
9726          FADDRESS 1,3,HLOCK1,2 
98F2    #     NOW HAVE PTR TO THE REPLY WD DESTINATION  
98YL          LDX   4  AWORK4(2)           [GET REPLY   
99D=          STO   4  0(3)                [INSERT REPLY WD 
99XW          OLPFIN   APETADDR(2)         [& CAPUT 
9=CG          BRN      K1PERION            [NEXT PLEASE 
9=X6    )   
9?BQ    #   
9?WB    #     BREAK IN OCCURRED WHILE WAITING FOR UNIT TO COME ONLINE   
9#B2    #   
9#TL    REAKIN  
9**=          STEPBACK                     [STEP PROGS ONR BACK 
9*SW          PROGBRKIN                    [REPORT BREAKIN  
9B#G    #   
9BS6    #     OPERATOR TYPES CANDO LOAD STORAGE UNIT
9C?Q    #   
9CRB    NONL  ANDN  3  #4000
9D?2          BNZ   3  PA8                 [J IF S-TRUSTED BS SET ALSO IN REPLY 
9DQL          LDCT  3  #40                 [FAILED REPLY B3=1 NOT S-TRUSTED 
9F==          BRN      PA9  
9FPW    PA8   LDCT  3  #50                 [FAILED REPLY B3-1 B5=1 FOR S-TRUSTED
9G9G    PA9   NGN   7  1                   [INDICATE PROG NOT TO BE RESTARTED   
9GP6          BRN      ZMESS
9H8Q    #   
9HNB    #     FAILED OR OR INOPERABLE REPLY FROM BACKTRAN   
9J82    #   
9JML    TFAIL LDX   4  3                   [REMEMBER CONTROL AREA ADDRESS   
9K7=          MFINDSU  3,EWORK3(2)         [GET POINTER TO ASTUC
9KLW          LDX   5  AWORK2(2)           [CHANNEL NUMBER  
9L6G          LDX   0  TREP(2)             [REMEMBER REPLY  
9LL6          STO   0  AWORK2(2)           [FROM BSTS   
9M5Q          LDX   6  EWORK3(2)           [SERIAL NO.  
9MKB          STO   6  EWORK5(2)           [STORE FOR FLAW  
9N52          LDX   7  EWORK1(2)           [CYLINDER
9NJL          SBX   7  ASUBASE(3)   
9P4=          MPY   7  HBLOCK(3)           [MULTIPLY BY DEPTH OF UNIT   
9PHW          ADX   0  EWORK2(2)           [ADD BLOCK NO
9Q3G          STO   0  EWORK3(2)           [ACTUAL BLOCK THAT FAILED
9QH6          NGN   7  1                   [SET PROGRAM NOT TO BE RESTARTED MARK
9R2Q          LDX   0  AWORK1(2)
9RGB          ANDN  0  #2   
9S22          BZE   0  RUG                 [J IF FLAW ACTION REQUIRED   
9SFL          CALL  0  RELSTY              [RELEASE SU  
9S^=          BADBLOCK TAC2(2)             [UNSET FAIL BIT IN BSA   
9TDW          KEEPMESS RFAIL(1),6,EWORK3(2) [OUTPUT FAIL MESSAGE TO MONITORING F
9TYG    SETREP  
9WD6          LDX   3  AWORK1(2)           [ADDITIVE MODES  
9WXQ          LDN   0  0
9XCB          ANDN  3  #4000
9XX2          BZE   3  PA10                [J IF NOT S-TRUSTED  
9YBL          LDX   0  AWORK2(2)           [BSTS REPLY  
9YW=          SRL   0  18   
9^*W          ANDN  0  #14                 [TEST BITS 2 AND 3   
9^TG          BNZ   0  PA10                [J IF SET
=2*6          ORN   0  1                   [SET B5 IF OTHER THAN 2 OR 3 
=2SQ    PA10  ORN   0  4                   [B3 OF REPLY 
=3#B          SLL   0  18                  [SHIFT TO TOP
=3S2    NP13  STO   0  AWORK4(2)           [SAVE REPLY TO PROG  
=4?L          LDX   0  AWORK1(2)
=4R=          ANDN  0  #20                 [SEE IF ADDITIVE MODE #20000 
=5=W          BNZ   0  RESTART             [NO NEED TO STOP PROG
=5QG    NP11  HUNTW    1,EWDAS,EWMESS      [LOOK FOR MESSAGE BLOCK  
=6=6          BNG   1  NP10                [BLOCK NOT THERE 
=#K=          STO   5  AWORK2(2)           [REMEMBER CHANNEL NO 
=*4W          STO   7  AWORK3(2)           [ & RESTART FLAG 
=*JG          AUTFAIL  AWORK4(2)           [TERMINATE   
=B46          BRN      K1PERION            [NEXT PLEASE 
=C3B    ZMESS STO   4  AWORK1(2)           [SAVE CONTROL AREA ADDRESS   
=CH2 ...XPAR  LDCT  4  #006                [ TYPE IN B0-8   
=D2L ...      ADX   4  EWCHAN(2)           [ CHANNEL IN B9-23   
=DG= ...      OUTPACK  4,1,PERINAME,XPAR   [ ASSEMBLE PARAM FOR ILLEGALX
=JC=          LDX   4  AWORK1(2)
=Q=Q    NP12
=QQB          ADN   4  1                   [X4 PTS TO REPLY WD REL TO PROG DATUM
=R=2          GETWORD  4,4                 [REL TO GEORGE DATUM 
=RPL          TESTREP  RESVIOL,RERR 
=S9=          SMO      4
=SNW          STO   3  0                   [REPLY INSERTED  
=T8G          WORDFIN   
=W7Q          BNG   7  NP16                [J IF PROG NOT TO BE RESTARTED   
=WMB          RUNPROG                      [CARRY ON RUNNING PROG   
=X72    NP16  LDX   7  PERF(1)             [
=XLL          BRN      NP15 
=Y6=    #   
=YKW    #   
=^5G    RUG   DOWN     FLAW,1              [DEAL WITH FAILED TRANSFER   
=^K6          PICKREP  3                   [PICKUP REPLY
?24Q          CALL  0  RELSTY              [RELEASE SU  
?2JB          TESTREPX 3,EXFAIL,SETREP  
?342          TESTREPX 3,ACAFULL,REPLY  
?3HL          TESTREPX 3,OK,RESTART 
?43=          GEOERR   1,WRONGREP   
?4GW    RESTART 
?52G          LDN   7  0                   [INDICATE PROG TO BE RESTARTED   
?5G6          LDX   3  4
?5^Q          BRN      NP11 
?6FB    REPLY LDN   0  8                   [B2 OF REPLY 
?6^2          BRN      PA10 
?7DL    #   
?7Y=    RERR  GEOERR   1,RESVIOLA   
?8CW    #   
?9C6    QK2PERION   
?=BB          BRN      K1PERION 
?=W2    #   
??*L          MENDAREA 1023-0?<50,K99PERION 
??T=    #END
^^^^ ...06622763000100000000