IPBPM84

(George Source)

Macros used: BXE, BXGE, BXU, DCA, DOWN, DSCA, JBUSY, JEXOTIC, JFREE, JONL, JSBUSY, JWRONG, OP, PMADD, PMCORES, PMCOUNT, PMOLCH, PMREADCT, PMSTOPR, PMSUB, READ, SEG, SEGENTRY, TRACEX

IPBPM84.txt
22FL ...      SEG      IPBPM,,BOB WEYAND
23YG    #LIS  K0IPBPM>K0POST>K0ALLGEO   
24D6                   8HIPBPM  
24XQ    #   
25CB ...      SEGENTRY K1IPBPM,XK1IPBPM 
26BL    #   
26W=    #   
27*W ...# THIS SEGMENT INITIALISES EACH 7900 AND OUTPUTS A CLOSE
27TG ...# DOWN MESSAGE TO EACH OPERABLE MOP TERMINAL AND RJE CONSOLE
29#B    #   
29S2    #   
2=?L    PMRW           +0   
2=R=    PMCHA          +0   
2?=W ...PMADDR1        #400:0,#02000000,#01030103  [INITIALISE  
2?QG ...#DEF  PMLEN1=0?-PMADDR1 
2#=6    PMADDR2        #400:0,#01120000            [REOPEN  
2#PQ ...#DEF  PMLEN2=0?-PMADDR2 
2B8L    PMADDR4        #400:0,#01200000            [OPEN
2BN= ...#DEF  PMLEN4=0?-PMADDR4 
2C7W ...PMADDR5        +0,+0,#400:52       [FOR MOP CONSOLE 
2CMG                   #76327635
2D76                   #76206450
2DLQ                   36HE SYSTEM HAS TEMPORARILY CLOSED DOWN  
2F6B                   #76327635
2FL2                   #76207613
2FWX ...#DEF  PMLEN5=0?-PMADDR5 
2G7T ...PMADDR6        +0,+0,#400:50       [FOR MOP DISPLAYS
2G=4 ...               #76331076           [OUTPUT ON LINE 24 COLUMN 19 
2G#? ...               #31037602           [THE FLASHING MESSAGE:   
2GBG ...               40H THE SYSTEM HAS TEMPORARILY CLOSED DOWN   
2GDP ...               #76030000
2GG^ ...#DEF  PMLEN6=0?-PMADDR6 
2GK=    PMADDR  
2H4W    #REP  67
2HJG                   +0   
2J46 ...#DEF  PMLEN=0?-PMADDR   
2JHQ    PMCOUNT        +0                  [SYSTEM OVERLOAD COUNT   
2K3B    PRIORITY       +0                  [PRIORITY FOR STOPPING OUTPUT
2KH2    SFOUND         +0                  [SWITCH TO INDICATE WHETHER S.S. FD. 
2L2L    PDEVS   
2LG=    #HAL           AMXOR+ADEVS,0
2L^W    PMADEVSADDR    +0                  [START ADDRESS OF AMXOR/ADEVS
2M^6    SSMASK         #770000  
2NDQ    POPENED        #200000             [ILLEGAL CHECK FOR OPEN  
2PD2    SLINK          +0   
2PXL    WHICHCONS      +0                  [INDICATES WHETHER 7071 DEALT WITH   
2QC=    READCT         +0                  [COUNT OF READS REPEATED FOR TIME OUT
2QWW    PMIDENTS
2RBG    #REP           200  
2RW6                   +0   
2S*Q ...#DEF           TABLEN=0?-PMIDENTS   
2STB    #   
2T*2    #   
2TSL ...# MACRO PMSTOPR RESETS THE PRIORITY FOR STOP OUTPUT IF NECESSARY
2W#=    #   
2WRW ...# MACRO PMADD ADDS 1 TO THE SYSTEM OVERLOAD COUNT IF NECESSARY  
33N6    #   
347Q ...# MACRO PMSUB SUBTRACTS 1 FROM THE SYSTEM OVERLOAD COUNT IF NECESSARY   
3942    #   
39HL ...# MACRO PMREADCT GETS THE COUNT OF THE NUMBER OF WORDS READ INTO X6 
3CC6    #   
3CWQ ...# MACRO PMOLCH CHECKS TO SEE IF THE SYSTEM OVERLOAD COUNT IS NON-ZERO,  
3KQ=    # AND TO SEE IF THE HIGHEST PRIORITY FOR STOPPING OUTPUT IS > 10.   
3L9W    # IF EITHER OF THESE CONDITIONS EXISTS THE MACRO JUMPS TO %A.   
3LPG    #   
3R66    #   
3RKQ    #   
3S5B    # THIS SUBROUTINE ISSUES A READ ORDER AND DEALS WITH THE INPUT IF A 
3SK2    # WRITE HAS BEEN REJECTED OR A SYSTEM OVERLOAD CONDITION HAS BEEN   
3T4L    # REPORTED. THE LINK IS IN X6 AND X0,X5 ARE OVERWRITTEN.
3TJ=    # IT EXITS 0 IF THE READ WAS SUCCESSFUL, AND 1 IF THE IPB IS INOPERABLE.
3W3W    #   
3WHG    #   
3WTX ...READ  SMO      FXPM1
3X8# ...      STO   6  SLINK               [REMEMBER THE LINK ADDRESS   
3XGQ          CALL  6  SETRD               [SET UP C.A. FOR READING 
3Y2B          CALL  6  RPCH1               [READ AND CHECK REPLY
3YG2          BRN      NEXT                [GIVE UP IF READ REJECTED
3Y^L          BRN      SOUT1               [EXIT +1 IF INOPERABLE   
3^F=          BRN      NEXT                [GIVE UP IF TIME OUT OR NOT IMP. 
3^YW          PMREADCT NEXT                [GET COUNT OF WDS. READ  
42?? ...W3    SMO      FXPM1
42KN ...      LDCH  5  PMADDR(1)
42Y6          BZE   5  W1                  [J IF NO MORE SUPERVISORY
43CQ          SBX   6  5
43MJ ...      SMO      FXPM1
43XB          LDX   0  PMADDR(1)           [EXTRACT SUPERVISORY CODE
44C2          SRC   0  12   
44WL          ANDN  0  #77  
45B=          SBN   0  40                  [SUSPEND IPB OUTPUT (40) 
45TW          PMSTOPR  W2   
46*G          SBN   0  2                   [SYSTEM OVERLOAD (42)
46T6          PMADD    W2   
47#Q          SBN   0  1                   [SYSTEM CONTINUE (43)
47SB          PMSUB    W2   
48#2    W2    BZE   6  W1                  [J IF NO MORE INPUT  
48RL          ADX   1  5                   [UPDATE BUFFER MODIFIER  
49?=          BRN      W3   
49KM ...W1    SMO      FXPM1
49Y4 ...      LDX   6  SLINK
4==G          EXIT  6  0                   [EXIT IF OK  
4=JX ...SOUT1 SMO      FXPM1
4=X# ...      LDX   6  SLINK
4?9Q          EXIT  6  1                   [EXIT IF INOPERABLE  
4?PB    #   
4#92    #   
4#NL    # THIS SUBROUTINE ISSUES A READ WHEN SOME INPUT IS EXPECTED, AND GETS   
4*8=    # THE COUNT OF THE NUMBER OF WDS. READ TO X6. THE LINK IS IN X0, AND
4*MW    # X6 IS OVERWRITTEN. IT EXITS 0 IF THE IPB IS INOPERABLE, AND +1 IF 
4B7G    # THE READ TERMINATED NORMALLY. 
4BM6    #   
4C6Q    #   
4CLB    READSS  
4CW8 ...      SMO      FXPM1
4D62          STO   0  SLINK               [REMEMBER LINK ADDRESS   
4DKL    SP2   CALL  6  SETRD               [SET UP C.A. FOR READ
4F5=          CALL  6  RPCH1
4FJW          BRN      NEXT                [GIVE UP IF READ REJECTED
4G4G          BRN      SOUT0               [EXIT 0 IF IPB INOPERABLE
4GJ6          BRN      SP3                 [J IF TIME OUT OR NOT IMP.   
4GRY ...      SMO      FXPM1
4H3Q          STOZ     READCT   
4HHB          PMREADCT NEXT 
4HR8 ...      SMO      FXPM1
4J32          LDX   0  SLINK
4JGL          EXIT  0  1                   [EXIT IF OK  
4JQD ...SOUT0 SMO      FXPM1
4K2= ...      STOZ     READCT   
4K=4 ...      SMO      FXPM1
4KFW          LDX   0  SLINK
4K^G          EXIT  0  0                   [EXIT IF INOPERABLE  
4L?X ...SP3   SMO      FXPM1
4LL# ...      LDX   0  READCT   
4LYQ          SBN   0  IMREPT   
4MDB          BZE   0  NEXT                [GIVE UP IF TIMED OUT IMREPT TIMES   
4MY2          ADN   0  IMREPT+1            [OTHERWISE ADD 1 TO COUNT OF 
4N7S ...      SMO      FXPM1
4NCL          STO   0  READCT              [NO. OF READS
4NX=          BRN      SP2  
4PBW    #   
4PWG    #   
4QB6    #   
4QTQ    # THIS SUBROUTINE CHECKS THE REPLY WORD FOR IPB PERIS.  
4R*B    # IT EXITS 0 IF THE TRANSFER WAS REJECTED   
4RT2    # IT EXITS 1 IF THE IPB WAS INOPERABLE OR REPLY INDICATED ERROR 
4S#L    # IT EXITS 2 IF THE REPLY INDICATED TIMED OUT AND/OR NOT IMPLEMENTED
4SS=    # IT EXITS 3 IF THE PERI TERMINATED NORMALLY
4T?W    # X6 CONTAINS THE LINK AND PMCA+1 CONTAINS THE REPLY WORD   
4TRG    # X0 IS OVERWRITTEN.
4W?6    #   
4WQQ    #   
4X=B    REPCHEK 
4XG8 ...      SMO      FXPM1
4XQ2          LDN   0  PMRW 
4Y9L          DCA      CPPTR(2),STO,0,REP1 [SET RW ADDR IN CURRENT AREA 
4Y#9 ...RPCH1   
4YBS ...#SKI K6IPB>100-100  
4YFC ...(   
4YJ2 ...      SMO      CPPTR(2) 
4YLK ...      LDX   0  IREP1
4YP8 ...      STO   0  GEN0                [DENOTES PERI TYPE TO TRACE ROUTINE  
4YRR ...)   
4YWB ...      PERI  0  CPPTR(2) 
4Y^4 ...      SMO      FXPM1
4^8W          LDX   0  PMRW 
4^NG          BPZ   0  TER                 [J IF TRANSFER TERMINATED
5286          SLC   0  5
52MQ          BPZ   0  OP                  [J IF IPB OPERABLE   
537B    RINOP EXIT  6  1                   [OTHERWISE EXIT INOPERABLE   
53M2    OP    SRC   0  1
546L          BNG   0  REJ                 [J IF REJECTED   
54F3 ...WAIT  SMO      FXPM1               [SEE IF TRANSFER HAS TERMINATED  
54RD ...      LDX   0  PMRW 
555W          BNG   0  WAIT                [WAIT FOR TERMINATION
55KG    TER   SLC   0  5
5656          BPZ   0  RINOP               [J IF INOPERABLE 
56JQ          SRC   0  2
574B          BNG   0  RINOP               [J IF ERROR  
57J2          SLC   0  1
583L          BNG   0  NOTIMP              [J IF NOT IMPLEMENTED
58H=          SRC   0  3
592W          BNG   0  NOTIMP              [J IF TIMED OUT  
593? ...#SKI K6IPB>100-100  
593N ...(   
5945 ...      LDX   0  ASWITCH1 
594G ...      SLL   0  7
594X ...      BPZ   0  TRACEX              [SWITCH NOT SET(BY MOP TRACE COMMAND)
595# ...[TRACES (ONLINE) SUCCESSFUL CC TRANSFERS IF "MOP TRACE" SWITCHED ON 
595P ...      STO   3  GEN3 
5966 ...      STO   4  GEN4 
596H ...      STO   5  GEN5 
596Y ...      LDN   5  0
597* ...      LDX   4  GEN0 
597Q ...      SMO      FXPM1
5987 ...      LDEX  0  PMRW 
598J ...      NGX   0  0
598^ ...      BZE   4  TRACEL1             [READ PERI   
599B ...      SMO      CPPTR(2) 
599R ...      ADX   0  ICOUNT   
59=8 ...      SBN   0  PMLEN
59=K ...TRACEL1 
59?2 ...      ADN   0  PMLEN
59?C ...      LDX   3  CPPTR(2) 
59?S ...      ADN   3  ISCTSA   
59#9 ...      BZE   4  TRACEL2             [READ PERI   
59#L ...      SBN   3  ISCTSA-ICTSA 
59*3 ...TRACEL2 
59*D ...      LDX   3  0(3) 
59*T ...TRACEL3 
59B= ...      SMO      5
59BM ...      '177  0  0(3) 
59C4 ...      8HIPBPM   
59CF ...      ADN   5  1
59CW ...      BCT   0  TRACEL3  
59D? ...      LDX   3  GEN3 
59DN ...      LDX   4  GEN4 
59F5 ...      LDX   5  GEN5 
59FG ...TRACEX  
59FX ...)   
59GG          EXIT  6  3                   [EXIT IF OK  
5=26    NOTIMP  
5=FQ          EXIT  6  2                   [EXIT FOR TIMED OUT/NOT IMPLEMENTED  
5=^B    REJ   EXIT  6  0                   [EXIT FOR REJECTED   
5?F2    #   
5?YL    #   
5#D=    # THIS SUBROUTINE SETS UP THE CONTROL AREA FOR A READ PERI. 
5#XW    # IT OVERWRITES X0  
5*CG    # THE LINK IS X6
5*X6    #   
5BBQ    #   
5BWB    SETRD LDN   0  2                   [MODE FOR READ   
5CB2          DSCA     CPPTR(2),DLA,0,MODE [MODE FOR READ IN DL -SPOUT AREA 
5CTL          LDN   0  PMLEN               [LENGTH OF BUFFER
5D*=          DSCA     CPPTR(2),DLA,0,COUNT[SET COUNT IN DL 
5DK4 ...      SMO      FXPM1
5DSW          LDN   0  PMADDR              [BUFFER ADDRESS  
5F#G          DSCA     CPPTR(2),STO,0,CTSA  
5FJ# ...      SMO      FXPM1
5FS6          LDN   0  PMRW 
5G?Q          DSCA     CPPTR(2),STO,0,REP1 [SET REPLY WORD IN SPOUT 
5GMF ...      LDCT  0  #400 
5H38 ...      SMO      FXPM1
5HBX ...      ORN   0  PMCHA
5HQL          DSCA     CPPTR(2),STO,0,CHADD[SET CHAINING ADDRESS
5J==          EXIT  6  0
5JPW    #   
5K9G    #   
5KP6    # THIS SUBROUTINE ATTEMPTS TO REOPEN THE IPB IF A REPLY INDICATED   
5L8Q    # ERROR OR INOPERABLE.  
5LNB    # IT ASSUMES THE UNIT NO. OF THE IPB IS IN X4 AND THE LINK IS IN X7 
5M82    # IF OVERWRITES X0,X5 AND X6.   
5MML    #   
5N7=    #   
5NLW    PMINOP  
5P6G          LDN   0  #11                 [END WRITE MODE  
5PL6          DCA      CPPTR(2),DSA,0,MODE  
5Q5Q          LDN   0  PMLEN2              [SET UP CONTROL AREA TO OUTPUT   
5QKB          DCA      CPPTR(2),DSA,0,COUNT 
5QT8 ...      SMO      FXPM1
5R52          LDN   0  PMADDR2  
5RJL          DCA      CPPTR(2),STO,0,CTSA  
5RSD ...      SMO      FXPM1
5S4=          LDN   0  PMRW                [SET RW ADDR IN CURRENT AREA 
5SHW          DCA      CPPTR(2),STO,0,REP1  
5T3G          CALL  6  REPCHEK             [CHECK REPLY 
5TH6          BRN      PMINP1              [TRY TO READ IF REJECTED 
5W2Q          BRN      NEXT                [GIVE UP IF STILL INOPERABLE 
5WGB          BRN      NEXT                [OR IF TIMED OUT OR NOT IMPLEMENTED  
5WQ8 ...      SMO      FXPM1
5X22          LDX   0  PMRW 
5XFL          ANDN  0  #777 
5X^=          BNZ   0  PMINP1              [ISSUE READ IF WRITE ENDED   
5YDW    S1    CALL  0  READSS              [ISSUE READ FOR 'READY'; CHECK REPLY 
5YYG          BRN      NEXT                [J IF INOPERABLE TO GIVE UP  
5^=X ...S4    SMO      FXPM1
5^K# ...      LDCH  5  PMADDR(1)           [J TO GIVE UP IF ONLY B.S.W. 
5^XQ          BZE   5  S5                  [J IF DATA SEGMENT   
62CB          SBX   6  5
62M8 ...      SMO      FXPM1
62X2          LDX   0  PMADDR(1)           [GET SUPERVISORY CODE
63BL          SRC   0  12   
63W=          ADN   0  #77  
64*W          SBN   0  32                  [32=READY
64TG          BNZ   0  S2   
65*6          LDN   0  1                   [SET FOUND MARKER IF READY   
65JY ...      SMO      FXPM1
65SQ          STO   0  SFOUND   
66#B          BRN      S3   
66S2    S2    SBN   0  5                   [37=ILLEGAL  
67?L          BZE   0  S3                  [IGNORE  IF ILLEGAL  
67R=          SBN   0  3                   [40=SUSPEND IPB OUTPUT   
68=W          PMSTOPR  S3                  [STORE PRIORITY  
68QG          SBN   0  2                   [42=SYSTEM OVERLOAD  
69=6          PMADD    S3                  [ADD TO SYSTEM OVERLOAD COUNT
69PQ          SBN   0  1                   [43=SYSTEM CONTINUE  
6=9B          PMSUB    S3                  [SUBTRACT FROM OVERLOAD COUNT
6=P2    S3    BZE   6  S5                  [J IF NO MORE INPUT  
6?8L          ADX   1  5                   [UPDATE BUFFER MODIFIER  
6?N=          BRN      S4                  [GET NEXT SEGMENT
6#2M ...S5    SMO      FXPM1
6#*4 ...      LDX   0  SFOUND   
6#MG          BZE   0  S1                  [ISSUE ANOTHER READ IF NO READY  
6#X# ...      SMO      FXPM1
6*76          STOZ     SFOUND   
6*LQ          EXIT  7  0
6B6B    PMINP1  
6BL2          CALL  6  READ                [ISSUE READ AND CHECK REPLY  
6C5L          BRN      WHATNOW1            [J IF OK 
6CK=          BRN      NEXT                [J IF INOPERABLE TO GIVE UP  
6D4W    WHATNOW1
6D#N ...      SMO      FXPM1
6DJG          LDX   0  PMCOUNT  
6F46          BZE   0  PMINOP              [TRY TO OUTPUT REOPEN
6FHQ          BRN      PMINP1              [OR TRY ANOTHER READ 
6G3B    #   
6GH2    #   
6H2L    #   
6HG=    # ENTER HERE
6H^W    #   
6JFG    #   
6J^6    XK1IPBPM
6KDQ          LDX   2  IPBADDR             [BASE OF LIST OF IPBIN ACTIVITIES
6KYB          BRN      T1   
6LD2    NEXT1 LDX   2  IPBL(2)             [GET NEXT IPBIN  
6LXL ...T1    BZE   2  (JPMSEG)            [EXIT IF NONE LEFT   
6MC= ...      PMCORES  2,(JPMSEG)          [EXIT IF OUTSIDE RESERVATIONS
6MWW          LDN   5  #30  
6NBG          FINDPERE 3,APFOTY,5,RET      [J. IF CONTENTS OF CPPTR ARE INVALID.
6NW6          BNG   3  NEXT1
6P*Q          BXU   3  CPPTR(2),RET 
6PTB          JWRONG   CPPTR(2),NEXT1      [IF IBB WRONGED TAKE A NEXT ONE  
6P^? ...      JEXOTIC  ,NEXT1              [IF IPB IS AN EXOTIC TAKE NEXT ONE   
6Q58 ...      JONL     ,NEXT1              [IF IPB IS ONLINE TAKE NEXT ONE  
6Q95 ...      JFREE    ,NEXT1              [IF IPB IS UNALLOCATED TAKE NEXT ONE 
6Q*2    WAIT1 JBUSY    ,WAIT1              [WAIT AROUND UNTIL CURRENT IS FREE.  
6QSL          LDN   4  #15  
6R#=          DCA      CPPTR(2),STO,4,MODE  
6RRW          LDN   4  PMLEN1              [SET COUNT IN DL 
6S?G          DCA      CPPTR(2),DSA,4,COUNT 
6SH# ...      SMO      FXPM1
6SR6          LDN   4  PMADDR1             [SET BUFFER ADDRESS IN DL
6T=Q          DCA      CPPTR(2),STO,4,CTSA  
6TLF ...      LDCT  4  #400 
6W28 ...      SMO      FXPM1
6W*X ...      ORN   4  PMCHA
6WPL          DCA      CPPTR(2),STO,4,CHADD 
6X9= ...P1    CALL  6  REPCHEK             [OUTPUT INITIALISE   
6XNW                                       [CHECK REPLY 
6Y8G          BRN      TINP                [TRY INPUT IF REJECTED   
6YN6          BRN      SINOP               [INOPERABLE  
6^7Q          BRN      P1                  [TRY AGAIN IF TIMED OUT OR NOT IMP.  
6^CJ ...      SMO      FXPM1
6^MB          LDX   0  PMRW                [LOOK AND SEE IF WRITE   
7272          ANDN  0  #777                [WAS ENDED   
72LL          BZE   0  OK1                 [J IF NOT
736=    TINP  JSBUSY   ,TINP               [MAY BE BUSY IF WRITE WAS REJECTED,  
73KW          CALL  6  READ                [IF NOT : ATTEMPT TO READ.   
745G          BRN      PFIN                [J IF OK 
74K6    SINOP CALL  7  PMINOP              [TRY TO REOPEN   
754Q    SETW1 LDN   0  #11                 [END WRITE MODE  
75JB          DCA      CPPTR(2),DSA,0,MODE  
7642 ...      LDN   0  PMLEN1              [RESET C.A. FOR INITIALISE   
76HL          DCA      CPPTR(2),DSA,0,COUNT 
76RD ...      SMO      FXPM1
773=          LDN   0  PMADDR1  
77GW          DCA      CPPTR(2),STO,0,CTSA  
782G          BRN      P1   
78#X ...PFIN  SMO      FXPM1
78M# ...      LDX   0  PMCOUNT  
78^Q          BZE   0  SETW1               [WRITE IF NO OVERLOAD
79FB          BRN      TINP 
79^2    SINOP1  
7=DL          CALL  7  PMINOP              [TRY TO REOPEN   
7=Y= ...OK1   CALL  0  READSS              [TRY TO READ READY   
7?CW          BRN      SINOP1              [J IF INOPERABLE 
7?Q? ...NXTSS SMO      FXPM1
7#4N ...      LDCH  5  PMADDR(1)
7#C6          BZE   5  TFOUND              [J IF DATA SEGMENT REACHED   
7#WQ          SBX   6  5                   [UPDATE COUNT
7*6J ...      SMO      FXPM1
7*BB          LDX   0  PMADDR(1)           [GET SUPERVISORY CODE
7*W2          SRC   0  12   
7B*L          ANDN  0  #77  
7BT= ...      SBN   0  32                  [32=READY
7C#W          BZE   0  SETM 
7HPG    TMOR  BZE   6  TFOUND              [J IF NO MORE INPUT  
7J96          ADX   1  5                   [UPDATE BUFFER MODIFIER  
7JNQ          BRN      NXTSS               [GET NEXT INPUT  
7K8B ...SETM  LDN   0  1                   [INDICATE READY RECEIVED 
7KN2 ...      SMO      FXPM1
7L7L ...      STO   0  SFOUND   
7MLG          BRN      TMOR 
7N66    TFOUND  
7N*Y ...      SMO      FXPM1
7NKQ          LDX   0  SFOUND   
7P5B ...      BZE   0  OK1                 [READY NOT FOUND : READ MORE 
7PSS ...      SMO      FXPM1
7Q4L          STOZ     SFOUND              [OTHERWISE LOOK FOR  
7QJ=    SEARCH                             [AMXOR/ADEVS BLOCK   
7R3W          LDX   1  2
7RHG    NBLK  LDX   1  FPTR(1)  
7S36          TXL   1  CORES
7SGQ          BCC      NEXT                [GIVE UP IF CHAIN BROKEN 
7T2B          LDX   0  ATYPE(1) 
7TG2          BXGE  0  CACT,NEXT           [GIVE UP IF ACTIVITY BLOCK   
7TPS ...      SMO      FXPM1
7T^L          SBX   0  PDEVS
7WF=          BNZ   0  NBLK 
7WYW          LDN   3  0                   [X3 USED TO INDEX IDENT. TABLE   
7XDG          LDX   7  A1+FOURTHWD(1)      [GET LOWEST IDENT. NO.-1 TO X7   
7XN# ...      SMO      FXPM1
7XY6          STO   1  PMADEVSADDR         [PRESERVE PTR. TO START OF ADEVS 
7YCQ          ADX   1  ALOGLEN(1)   
7YXB          TXL   1  CORES
7^C2          BCC      NEXT                [GIVE UP IF LOG. LENGTH SILLY
7^WL    NENTRY  
82B=          SBN   1  4
82L4 ...      SMO      FXPM1
82TW          BXE   1  PMADEVSADDR,TABLEND [J IF END OF BLOCK   
83*G          LDCT  0  #40  
83T6          ANDX  0  A1+FOURTHWD(1)   
84#Q          BNZ   0  NENTRY              [J IF TYPE NOT SET UP
84SB          LDX   0  A1+FOURTHWD(1)      [ISOLATE TYPE NUMBER 
85#2          ANDN  0  #777 
85HS ...      SMO      FXPM1
85RL          LDX   6  WHICHCONS
86?=          BNZ   6  TYPE7023            [J IF SETTING 7023 TABLE 
86JL ...TYPE  BZE   0  TMOP                [J IF 7071   
86W2 ...      SBN   0  10   
877B ...      BNZ   0  NENTRY              [J IF NOT 7181/2 
879P ...TMOP  LDXC  0  A1+FOURTHWD(1)   
87#4 ...      BCC      STORE               [J IF IDENTIFIER IS MARKED AVAILABLE 
87BC ...      LDX   0  A1+BPTR(1)   
87DQ ...      BZE   0  NENTRY              [IDENTIFIER UNAVAILABLE & IDLE:IGNORE
87H5 ...STORE LDX   0  1                   [CALCULATE IDENTIFIER NUMBER 
87KD ...      SMO      FXPM1
87Q6          SBX   0  PMADEVSADDR  
889Q          SRC   0  2
88PB          ADX   0  7
88^8 ...      SMO      FXPM1
8992          STO   0  PMIDENTS(3)         [STORE IDENT. NO. IN TABLE   
89NL          ADN   3  1                   [UPDATE TABLE MODIFIER   
8=33 ...      LDN   0  TABLEN   
8=*D ...      BXE   3  0,TABLEND
8=MW          BRN      NENTRY   
8?7G    TABLEND 
8?M6          BZE   3  T7023               [J IF TABLE EMPTY
8#6Q          SBN   3  1
8#LB ...#   
8*62 ...NXMOP   
998D ...      SMO      FXPM1
99D=          STOZ     SFOUND   
99N4 ...      SMO      FXPM1
99XW          LDX   0  PMIDENTS(3)         [INSERT IDENT. NO. IN
9=7N ...      SMO      FXPM1
9=CG          DSA   0  PMADDR4+1           [OPEN BUFFER 
9=PX ...TOPEN SMO      FXPM1
9?4# ...      LDX   0  PMCOUNT  
9?BQ          BNZ   0  TINP3               [READ IF SYSTEM OVERLOAD 
9?WB          LDN   0  #11                 [SET UP C.A. FOR 
9#B2          DCA      CPPTR(2),DSA,0,MODE  
9#TL          LDN   0  PMLEN4   
9**=          DCA      CPPTR(2),DSA,0,COUNT 
9*K4 ...      SMO      FXPM1
9*SW          LDN   0  PMADDR4  
9B#G          DCA      CPPTR(2),STO,0,CTSA  
9BS6    P7    CALL  6  REPCHEK             [ISSUE WRITE FOR OPEN
9C?Q          BRN      TINP3               [TRY INPUT IF WRITE REJECTED 
9CRB          BRN      SINOP4              [J IF INOP.  
9D?2          BRN      P7                  [TRY AGAIN IF NOT IMP. OR TIME OUT   
9DGS ...      SMO      FXPM1
9DQL          LDX   0  PMRW 
9F==          ANDN  0  #777 
9FPW          BZE   0  OK3                 [J IF WRITE NOT ENDED
9G9G    TINP3 CALL  6  READ                [READ IF WR. ENDED OR REJ. OR IF S.O.
9GP6          BRN      TOPEN               [J IF OK, OTHERWISE INOPERABLE   
9H8Q    SINOP4  
9HNB          CALL  7  PMINOP              [TRY TO REOPEN IPB   
9J82          BRN      TOPEN
9JML    OK3   CALL  0  READSS              [TRY TO READ IDENTIFIER OPENED   
9K7=          BRN      SINOP5              [J IF IPB INOPERABLE 
9KFM ...NCH2  SMO      FXPM1
9KS4 ...      LDCH  5  PMADDR(1)
9L6G          BZE   5  TFOUND2             [J IF DATA SEG.  
9LL6          SBX   6  5                   [UPDATE WD. CT.  
9LTY ...      SMO      FXPM1
9M5Q          LDX   0  PMADDR(1)           [ISOLATE SUPERVISORY CODE
9MKB          SRC   0  12   
9N52          ANDN  0  #77  
9NJL          SBN   0  37                  [37=ILLEGAL  
9P4=          BZE   0  TILL2
9PHW          SBN   0  3                   [40=STOP IPB OUTPUT  
9Q3G          PMSTOPR  PNXT2
9QH6          SBN   0  2                   [42=SYSTEM OVERLOAD  
9R2Q          PMADD    PNXT2
9RGB          SBN   0  1                   [43=SYSTEM CONTINUE  
9S22          PMSUB    PNXT2
9SFL          SBN   0  5                   [48=IDENTIFIER OPENED
9S^=          BNZ   0  PNXT2               [J IF NOT 48 
9T94 ...      SMO      FXPM1
9TDW          LDX   0  PMADDR(1)           [CHECK IDENT. NO. CORRECT
9TYG          ANDN  0  #7777
9W8# ...      SMO      FXPM1
9WD6          SBX   0  PMIDENTS(3)  
9WXQ          BNZ   0  PNXT2
9XCB          LDN   0  1                   [SET MARKER TO SAY REQD. S.S. FOUND  
9XM8 ...      SMO      FXPM1
9XX2          STO   0  SFOUND   
9Y6S ...      SMO      FXPM1
9YBL          LDXC  0  PMADDR+2(1)  
9YW=          BCS      UNAV                [J IF UNAVAILABLE
9^64 ...      SMO      FXPM1
9^*W          LDCH  0  PMADDR+2(1)  
9^TG          SBN   0  3
=2*6          BNZ   0  UNAV                [J IF NOT INPUT AND OUTPUT DEVICE
=5QG    PNXT2 BZE   6  TFOUND2             [J IF NO MORE INPUT  
=6=6          ADX   1  5                   [UPDATE BUFFER MODIFIER  
=6PQ          BRN      NCH2                [GET NEXT INPUT SEGMENT  
=747 ...TILL2 SMO      FXPM1
=7BJ ...      LDX   0  PMADDR(1)
=7P2          ANDN  0  #7777               [CHECK IF ILLEGAL FOR CURRENT IDENT. 
=7YS ...      SMO      FXPM1
=88L          SBX   0  PMIDENTS(3)  
=8N=          BNZ   0  PNXT2               [IGNORE IF NOT   
=8Y4 ...      SMO      FXPM1
=97W          LDX   0  PMADDR+1(1)         [CHECK IF ILLEGAL FOR
=9CN ...      SMO      FXPM1
=9MG          ANDX  0  SSMASK              [OPEN IDENTIFIER AND 
=9X# ...      SMO      FXPM1
==76          BXU   0  POPENED,PNXT2       [IGNORE IF NOT   
==LQ          LDN   0  1                   [MARK TO SAY REQUIRED S.S. FOUND 
==WJ ...      SMO      FXPM1
=?6B          STO   0  SFOUND   
=?DR ...UNAV  SMO      FXPM1               [ZEROISE TABLE ENTRY TO GEORGE   
=?R8 ...      STOZ     PMIDENTS(3)  
=#5L          BRN      PNXT2
=#K=    SINOP5  
=*4W          CALL  7  PMINOP              [TRY TO REOPEN IPB   
=*JG          BRN      OK3  
=B46    TFOUND2 
=B?Y ...      SMO      FXPM1
=BHQ          LDX   0  SFOUND   
=C3B          BZE   0  OK3                 [READ AGAIN IF REQD. S.S. NOT FOUND  
=C?8 ...      SMO      FXPM1
=CH2          STOZ     SFOUND   
=CQS ...      SMO      FXPM1
=D2L          LDX   0  PMIDENTS(3)  
=DG=          BZE   0  OK4                 [J IF NO OUTPUT REQUIRED 
=DQ4 ...      SMO      FXPM1
=D^W          STO   0  PMADDR5+1           [OTHERWISE INSERT IDENT. NO. IN THE  
=F9N ...      SMO      FXPM1
=FFG ...      STO   0  PMADDR6+1           ["SYSTEM CLOSED" MESSAGES
=F^6    TAGEN PMOLCH   TINP4               [CHECK WHETHER OVERLOAD ETC., AND
=GDQ                                       [J TO INPUT IF SO
=GGS ...      SMO      FXPM1
=GJX ...      LDX   0  PMIDENTS(3)         [CHECK DEVICE TYPE FOR 7071 OR 7181/2
=GL^ ...      SMO      FXPM1
=GP3 ...      LDX   6  PMADEVSADDR  
=GR5 ...      SMO      6
=GT9 ...      SBX   0  A1+FOURTHWD         [- LOWEST IDENTIFIER NUMBER  
=G^B ...      SLL   0  2                   [RELATIVE ENTRY POINTER  
=H3D ...      SMO      FXPM1
=H5H ...      ADX   0  PMADEVSADDR  
=H9N ...      SMO      0
=H*T ...      LDEX  0  A1+FOURTHWD         [DEVICE TYPE 
=HDK ...      SBN   0  10   
=HH* ...      BNZ   0  TTW                 [J IF NOT 7181   
=HL7 ...      LDN   0  PMLEN6[SET UP CONTROL AREA FOR 7181/2 "SYSTEM CLOSED"MESS
=HQ# ...      DCA      CPPTR(2),DSA,0,COUNT 
=HSB ...      SMO      FXPM1
=HWF ...      LDN   0  PMADDR6  
=J2L ...      DCA      CPPTR(2),STO,0,CTSA  
=J6R ...      BRN      SMESS
=J?2 ...TTW   LDN   0  PMLEN5[SET UP CONTROL AREA FOR 7071/7023"SYSTEM CLOSED"  
=JC=          DCA      CPPTR(2),DSA,0,COUNT 
=JM4 ...      SMO      FXPM1
=JWW          LDN   0  PMADDR5  
=KBG          DCA      CPPTR(2),STO,0,CTSA  
=KHN ...SMESS LDN   0  #11                 [OUTPUT "SYSTEM CLOSED" MESSAGE  
=KNW ...      DCA      CPPTR(2),DSA,0,MODE  
=KW6    P10   CALL  6  REPCHEK  
=L*Q          BRN      TINP4               [TRY INPUT IF REJECTED   
=LTB          BRN      SINOP6              [INOPERABLE  
=M*2          BRN      P10                 [T.O. OR N.I.
=MJS ...      SMO      FXPM1
=MSL          LDX   0  PMRW 
=N#=          ANDN  0  #777 
=NRW          BZE   0  OK4                 [J IF WRITE NOT ENDED
=P?G    TINP4 CALL  6  READ                [TRY TO READ 
=PR6          BRN      TAGEN               [J IF OK 
=Q=Q    SINOP6  
=QQB          CALL  7  PMINOP              [TRY TO REOPEN IPB   
=R=2          BRN      TAGEN
=RPL    OK4   SBN   3  1
=S9= ...      BPZ   3  NXMOP               [GO TO NEXT TABLE ENTRY IF PRESENT   
=SHM ...T7023 SMO      FXPM1
=SW4 ...      LDX   0  WHICHCONS
=T8G          BNZ   0  NEXT                [GET NEXT UNIT IF FINISHED WITH THIS 
=TN6          LDN   0  1                   [IF NOT DEAL WITH 7023   
=TXY ...      SMO      FXPM1
=W7Q          STO   0  WHICHCONS
=WMB          LDN   0  50                  [AMEND CHARACTER COUNT TO IGNORE 
=WX8 ...      SMO      FXPM1
=X72          DSA   0  PMADDR5+2           [#7613 FOR 7023  
=XLL          BRN      SEARCH   
=Y6=    TYPE7023                           [COME HERE TO TEST FOR 7023 TYPE 
=YKW          SBN   0  5
=^5G          BRN      TYPE 
=^G2 ...NEXT  LDX   1  FXPM1
=^WG ...      STOZ     WHICHCONS(1)        [CLEAN UP FOR NEXT UNIT  
?2?2 ...      STOZ     PRIORITY(1)  
?2MG ...      STOZ     PMCOUNT(1)   
?342          LDN   0  52                  [RESET CHARACTER COUNT FOR 7071 ON   
?3HL ...      DSA   0  PMADDR5+2(1)        [NEXT IPB, IF PRESENT.   
?43=          BRN      NEXT1               [LOOK FOR NEXT UNIT  
?4GW    #END
^^^^ ...46025073000600000000