HARDWARA8

(George Source)

Macros used: ACROSS, CHNUMCOD, ENDCOM, FREECORE, GEOERR, HUNTW, LGEOG, LTYPE, MENDAREA, MHUNT, MHUNTW, OUTNUM, PARALYSE, PARSORT, PHOTO, SEGENTRY, SETUPCORE, SPARABEG, SPARANXT, SPARAPAS, TESTMOVE, TESTREP, TESTREP2, ZERRORX, ZERRORY

HARDWARA8.txt
22FL    #SEG  HARDWARA8                    [G CONSTANTINIDES
22^=    #OPT  K0HARDWARA=0  
23DW    #LIS  K0HARDWARA>K0ALLGEO>K0GREATGEO>K0COMMAND>K0IDF
23YG                   8HHARDWARA   
24D6    # ENTRY POINTS  
24XQ          SEGENTRY K1HARDWARA,Z1HARDWARA
25CB          MENDAREA 30,K99HARDWARA   
25X2    TABLE          0
26BL                   #7420
26W=                   #7430
27*W                   #7400
27TG                   #7410
28*6                   #7440
28SQ                   #7450
29#B                   #7460
29S2                   #7470
2=?L                   #7540
2=R=                   #7550
2?=W                   #7560
2?QG                   #7570
2?WC ...#SKI JSKI17 
2#2# ...TERT           20HMOP TER SEN NUL SPL   
2#69 ...#SKI JSKI17<1$1 
2#=6    TERT            16HMOP TER SEN NUL  
2#PQ    TOPH           #77770000
2*9B    TYTAB          #5460
2*P2                   #4362
2B8L                   #6467
2BN=                   #6462
2C7W                   #6460
2CMG    #   
2D76    #     SUBROUTINE TO GET NEXT DEVICE MNEMONIC , CONVERT IT TO TYPE NO. & 
2DLQ    #     STORE IT IN IDF/CONDATA BLOCK ; ENSURE THAT CONSOLE IS DEFINED FOR
2F6B    #     INPUT AND OUTPUT , IF AT ALL ; CALL ON X7 
2FL2    #   
2G5L    NDEV  SBX   7  FX1  
2GK=          SPARAPAS  
2H4W          LDN   5  0                   [NULL TYPE NO.   
2HJG          MHUNT    3,CPB,CUNI   
2J46          LDX   4  ANUM(3)  
2JHQ          BNG   4  STOTY               [MISSING:NO MORE INTERFACES  
2K3B          BZE   4  STOTY               [NULL DEVICE 
2KH2          SBN   4  2
2L2L          BNZ   4  PFER                [MNEMONIC NOT 2 LETTERS  
2LG=          LDX   4  APARA(3) 
2L^W          SRL   4  12   
2MFG          LDN   0  6
2M^6    TRYAG ADN   5  1
2NDQ          TXU   5  0
2NYB          BCC      PFER                [MNEMONIC NOT RECOGNISED 
2PD2          SMO   5   
2PXL          TXU   4  TYTAB-1(1)          [COMPARE WITH STANDARD MNEMONICS 
2QC=          BCS      TRYAG
2QWW    STOTY FREECORE 3
2RBG          MHUNTW   3,IDF,CONDATA
2RW6          BNG   4  NOMIN
2S*Q          SMO   6                      [INTERFACE NUMBER
2STB          STO   5  A1+3(3)             [STORE PERIPHERAL TYPE NO.   
2T*2          ADN   6  1
2TSL          BZE   5  NOTC 
2W#=          LDN   4  3
2WRW          TXU   5  4
2X?G          BCS      NOTC                [NOT CONSOLE 
2XR6          NGX   4  AWORK4(2)
2Y=Q          BNG   4  NOTF                [J.IF ODD NO INTERFACES SO FAR   
2YQB          STO   6  AWORK4(2)           [STORE INTERFACE NO  
2^=2          BRN      NOTC 
2^PL    NOTF  ADX   4  6
329=          ANDN  4  1
32NW          BZE   4  PCON                [J LO ERROR NOT INPUT AND OWTPWT 
338G          NGS   6  AWORK4(2)           [MARK BOTH INPUT & OUTPUT
33N6    NOTC
347Q          ADX   7  FX1  
34MB          EXIT  7  0
3572    #   
35LL    #     GET PARAMETER BEGINNING WITH U,L,I OR T , CALL ON X7  
366=    #   
36KW    NOTL  LDN   4  1
375G          SBX   7  FX1  
37K6          SPARABEG 1,4  
384Q          MHUNT    3,CPB,CUNI   
38JB          ADX   7  FX1  
3942          EXIT  7  0
39HL    #   
3=3=    #     GET PARAMETER FROM CPB/CUNI BLOCK & CONVERT TO BINARY , CALL ON X7
3=GW    #   
3?2G    PABEG NGX   0  ANUM(3)             [ENTRY AFTER SPARABEG : X3 SET UP
3?G6          BPZ   0  MISS                [PARAMETER NULL OR MISSING   
3?^Q          SBX   7  FX1  
3#FB          PHOTO 4   
3#^2          CHNUMCOD  ,3  
3*DL          TESTREP  CHNUMERR,URET       [ENDCOM IF INVALID FORMAT
3*Y=          LDX   6  ACOMMUNE1(2)        [PICK UP CONVERTED PARAMETER 
3BCW          TESTMOVE 4,NOMO   
3BXG          MHUNT    3,CPB,CUNI          [RELOCATE AFTER COORDINATION 
3CC6    NOMO
3CWQ          FREECORE 3
3DBB          ADX   7  FX1  
3DW2          EXIT  7  0
3F*L    URET  ENDCOM
3FT=    #   
3G#W    #   
3GSG    #   
3H#6    #     HARDWARE COMMAND IS E.G. HW U29.L2(4),TER(IAA,T4,D(CR,LP,TW,TW,,) 
3HRQ    #     SET UP IDF/CONDATA BLOCK CONTAINING GEOG NO. & TERM TYPE/LINE NO. 
3J?B    #     FOR EACH LINE ; 7020 TERMINALS ALSO HAVE IDENTIFIER/POLLING ADD.  
3JR2    #     & PERIPHERAL DESCRIPTION IN ORDER OF INTERFACES   
3K=L    #   
3KQ=    XBR   GEOERR   1,BREAKIN
3L9W    Z1HARDWARA  
3LPG          PARSORT  XBR,NOCLUS   
3M96          HUNTW    3,CPAR,JSCE  
3MNQ          BNG   3  URET                [J IF ERROR DETECTED BY PARSORT  
3N8B          LDX   5  JSCEB(3) 
3NN2          LDX   1  JSCEP(3) 
3P7L          ANDX  1  BITS22LS            [DEVICE LIST PTR 
3PM=          LGEOG    1,6                 [GEOG NO 
3Q6W          STO   6  AWORK4(2)
3QLG          LTYPE    1,4                 [DEVICE TYPE 
3R66          SBN   4  10   
3RKQ          BZE   4  XUX                 [J IF UPX
3S5B          BCT   4  NOTX                [J IF NOT MPX
3SK2          BPZ   5  MISS                [NO LINE NO  
3T4L          LDX   4  5
3TJ=          SRL   4  9
3W3W          LDCH  4  4                   [LINE NO 
3WHG          BRN      X1   
3X36    XUX   LDN   4  0
3XGQ    X1    STO   4  AWORK3(2)           [LINE NO 
3Y2B          LDN   0  1
3YG2          STO   0  AWORK2(2)           [NO OF LINES 
3Y^L          BPZ   5  TYPE                [ONLY ONE LINE   
3^F=          LDX   0  JSCEK(3) 
3^YW          BNG   0  TYPE 
42DG          BZE   0  TYPE                [ASSUME 1 LINE   
42Y6          ADX   4  0                   [LAST LINE NO+1  
43CQ          SBN   4  65   
43XB          BNG   4  XLOK                [OK-LESS THAN 64 
44C2          LDN   0  #100 
44WL          SBX   0  AWORK3(2)
45B=    XLOK
45TW          STO   0  AWORK2(2)           [NO OF LINES 
46*G    TYPE  LDN   6  0                   [ANALYSIS LEVEL  
46T6          SPARANXT ,6   
472# ...#UNS  ANSTOOMANY
477G ...      TESTREP2  TOOMANY,PTMANY  
47#Q          MHUNT    3,CPB,CUNI   
47SB          NGX   0  ANUM(3)  
48#2          BPZ   0  MISS 
48RL          LDX   0  APARA(3)            ['NULL','MOP','TER' OR 'SEN' 
49?=          LDN   4  0                   [TERMINAL TYPE NUMBER
49QW          TXU   0  TERT+3(1)
4==G          BCC      STYPE
4=Q6          LDN   4  3
4?9Q          TXU   0  TERT+2(1)
4?PB          BCC      STYPE
4#92          LDN   4  1
4#NL          TXU   0  TERT(1)  
4*8=          BCC      STYPE
4*MW          TXU   0  TERT+1(1)
4*XN ...#SKI JSKI17<1$1 
4B7G          BCS      PFER 
4B94 ...#SKI JSKI17 
4B=L ...(   
4B#8 ...      BCC      NSPL 
4B*Q ...      TXU   0  TERT+4(1)
4BC# ...      BCS      PFER 
4BDW ...      LDX   4  GSIGN
4BGD ...      ORS   4  AWORK4(2)
4BJ2 ...NSPL
4BKJ ...)   
4BM6    #   
4C6Q          LDN   4  2
4CLB          LDN   6  7                   [8 WORDS PER 7020 RECORD 
4D62    STYPE ADN   6  1                   [1 WORD PER MOP OR SENTINEL RECORD   
4DKL          MPY   6  AWORK2(2)           [NUMBER OF LINES 
4F5=          FREECORE 3                   [TERMINAL TYPE BLOCK 
4FJW          ADN   7  2                   [FOR FIRST AND LAST WORDS
4G4G          SETUPCORE 7,3,IDF,CONDATA    [SET UP INFO BLOCK   
4GJ6          LDX   6  AWORK3(2)
4H3Q          STO   6  A1+1(3)  
4HHB          DCH   4  A1+1(3)  
4J32          LDX   6  AWORK4(2)
4JGL          STO   6  A1(3)               [GEOGRAPHIC UNIT NO. 
4K2=          SBN   4  2
4KFW          LDN   1  1                   [LENGTH OF MOP OR SENT RECORD
4KM4 ...#SKI JSKI17 
4KS= ...      STOC  6  AWORK4(2)
4K^G          BNZ   4  REP                 [NOT 7020
4LF6    #   
4LYQ    #     ANALYSE 7020 PARAMETERS : IDENTIFIER , PHYSICAL TERMINAL NUMBER , 
4MDB    #     DEVICE ON EACH INTERFACE GIVEN IN ORDER OF INTERFACES 
4MY2    #   
4NCL          LDN   6  2                   [ANALYSE SECOND PARAMETER
4NX=          PARALYSE #34,1,6             [X1 CONTAINS 1 : ANALYSIS LEVEL  
4P4D ...#UNS  ANSTOOMANY
4P9L ...      TESTREP2  TOOMANY,PTMANY  
4PBW          LDCT  5  #510                ['I' FOR IDENTIFIER  
4PWG          CALL  7  NOTL 
4QB6          NGX   0  ANUM(3)  
4QTQ          BPZ   0  MISS                [IDENTIFIER MISSING  
4R*B          ADN   0  2
4RT2          BNZ   0  PFER                [NOT TWO CHARACTERS  
4S#L          LDX   6  APARA(3) 
4SS=          ANDX  6  TOPH(1)             [ONLY TOP HALF   
4T?W          LDCT  0  #770                [NOW CHECK IDENTIFIER VALID  
4TRG          ANDX  0  6
4W?6          SLC   0  6                   [MOVE FIRST CHAR OF IDENT.INTO B18-23
4WQQ          SBN   0  #41  
4X=B          BNG   0  NTER2               [ERROR NON-ALPHA FIRST LETTER
4XQ2          SBN   0  #32  
4Y9L          BPZ   0  NTER2               [ERROR NON-ALPHA FIRST LETTER
4YP=          STO   6  AWORK4(2)           [PRESERVE IDENTIFIER 
4^8W          FREECORE 3
4^NG          LDCT  5  #640                ['T' FOR PHYS. TERM. NO. 
5286          CALL  7  NOTL 
52MQ          CALL  7  PABEG               [GET PHYSICAL TERMINAL NUMBER
537B          BZE   6  NTER1               [ZERO TERM.NO!   
53M2          SMO   6   
546L          LDX   5  TABLE(1)            [POLLING ADDRESS 
54L=          SBN   6  13   
555W          BNG   6  T112                [J IF T1-T12 
55KG          SBN   6  4
5656          BNG   6  NTER                [T13-T16 -ERROR  
56JQ          SBN   6  12   
574B          BPZ   6  NTER3               [329+  -ERROR
57J2          ADN   6  13   
583L          SMO      6
58H=          LDX   5  TABLE(1) 
592W          ADN   5  1                   [POLLING ADDRESS 
59=N ...      LDN   7  0
59GG    T112
5=26          ADX   5  AWORK4(2)
5=FQ          MHUNTW   3,IDF,CONDATA
5=H^ ...      BNZ   7  XSIOK
5=L8 ...      LDX   4  A1(3)
5=NC ...      BPZ   4  XSIOK
5=QL ...      ADN   6  16   
5=ST ...      BRN      NTER1
5=X4 ...XSIOK   
5=^B          STO   5  A1+2(3)  
5?F2          STOZ     A1+3(3)             [ZEROISE 6 WORDS 
5?YL          ADN   3  A1+3                [WHICH WILL CONTAIN  
5#D=          LDN   4  1(3)                [PERIPHERAL TYPE 
5#XW          MOVE  3  5                   [NUMBERS FOR 7020
5*CG          LDN   4  3                   [PARAMETER POSITION  
5*X6          SPARANXT ,,4                 [SPLIT E.G. D(CR,LP,TW,TW,TR,TP) 
5B4# ...#UNS  ANSTOOMANY
5B9G ...      TESTREP2  TOOMANY,PTMANY  
5BBQ          MHUNT    3,CPB,CUNI   
5BWB          NGX   0  ANUM(3)  
5CB2          BPZ   0  MISS 
5CTL          LDCH  0  APARA(3)            [FIRST CHARACTER SHOULD BE 'D'   
5D*=          ERN   0  #44  
5DSW          BNZ   0  PFER 
5F#G          FREECORE 3
5FS6          LDN   4  2                   [PARAMETER POSITION  
5G?Q          PARALYSE #34,,4   
5GDY ...#UNS  ANSTOOMANY
5GL6 ...      TESTREP2  TOOMANY,PTMANY  
5GRB    #   
5H?2    #     VERIFY THAT INTERFACES 1 & 3 HAVE 7022=CR OR 7023=OUTPUT CONSOLE ,
5HQL    #     THAT 2 & 4 HAVE 7021=LP OR 7023=INPUT CONSOLE , THAT 5 HAS 7024=TR
5J==    #     AND THAT 6 HAS 7025=TP ; X6=INTERFACE NO. , X5=DEVICE TYPE NO.
5JPW    #   
5K9G          LDN   6  0
5KP6          STOZ     AWORK4(2)
5L8Q    TWICE CALL  7  NDEV                [DEVICE TYPE MAY BE 0,2 OR 3 
5LNB          BZE   5  N1   
5M82          ANDN  5  2
5MML          BZE   5  RONG                [NOT 2 OR 3  
5N7=    N1    CALL  7  NDEV                [DEVICE TYPE MAY BE 0,1 OR 3 
5NLW          SBN   5  2
5P6G          BZE   5  RONG                [TYPE 2  
5PL6          SBN   5  2
5Q5Q          BPZ   5  RONG                [TYPE 4 OR 5 
5QKB          LDN   4  2
5R52          TXU   4  6                   [X6 CONTAINS INTERFACE NUMBER
5RJL          BCC      TWICE               [REPEAT SECTION FOR INTERFACES 3 & 4 
5S4=          CALL  7  NDEV 
5SHW          BZE   5  N2   
5T3G          SBN   5  4
5TH6          BNZ   5  RONG                [X5 SHOULD BE 4  
5W2Q    N2    CALL  7  NDEV 
5WGB          BZE   5  NOMIN
5X22          SBN   5  5
5XFL          BNZ   5  RONG                [X5 SHOULD BE 5  
5X^=    NOMIN LDX   0  AWORK4(2)
5YDW          BPZ   0  PCON                [NO CONSOLE FOR BOTH I/P & O/P   
5YYG    #   
5^D6          LDN   1  8                   [LENGTH OF 7020 RECORD   
5^XQ    REP   ADN   3  A1+1 
62CB          LDX   4  3
62X2          LDX   6  AWORK2(2)           [NUMBER OF LINES 
63BL          SBN   6  1
63W=          BZE   6  TERM                [QUALIFIER WAS 1 
64*W          LDN   5  1                   [TO UPDATE LINE NO   
64TG    VAG   ADX   4  1
65*6          MOVE  3  0(1)                [CREATE NEXT LINE DESCRIPTION
65SQ          ADX   3  1
66#B          ADS   5  0(3)                [UPDATE LINE NUMBER  
66S2          BCT   6  VAG  
67?L    TERM  ADX   3  1
67R=          NGS   3  0(3) 
68=W          ACROSS   HARDIDF,1
68QG    #   
69=6    #     VARIOUS  COMMAND ERRORS   
69PQ    #   
6=9B    ONUM  SBX   3  FX1                 [ROUTINE TO "OUTNUM & THEN COMERRX   
6=P2          OUTNUM   6,0  
6?8L          ADX   3  FX1  
6?N=          EXIT  3  0
6#7W    #   
6#MG    #   
6*76          ZERRORY   
6*LQ    MISS  ZERRORX  JPARMIS             [PARAMETER MISSING   
6B6B    NTER3 ADN   6  29   
6BL2          BRN      NTER1
6C5L    NTER  ADN   6  17   
6CK=    NTER1 CALL  3  ONUM 
6D4W          ZERRORX  JLARGETERM          [INVALID TERMINAL NUMBER 
6DJG    NTER2 ZERRORX  ITERMIN             [INVALID TERMINAL IDENTIFIER 
6F46    NOTX  LDX   6  AWORK4(2)           [PICK UP GEOG NO 
6FHQ          CALL  3  ONUM 
6G3B          ZERRORX  JNOTMULT 
6GH2    PCON  ZERRORX  JCOS                [REMOTE CONSOLE NOT INPUT AND OUTPUT 
6H2L    PFER  ZERRORX  APFERR              [PARAMETER FORMAT ERROR  
6HG=    RONG  CALL  3  ONUM 
6H^W          ZERRORX  JDEVILL             [ILLEGAL DEVICE ON INTERFACE N   
6J5R ...#UNS  ANSTOOMANY
6J9N ...PTMANY  
6J*K ...      ZERRORX  JMAXPAR  
6JFG    #   
6J^6    #END
^^^^ ...43425460000700000000