WSPERIS867

(George Source)

Macros used: ACROSS, ALTLENG, APPEND, ASSMESS, FINDEXOF, FINDTP, FPCAJO, FSHENTRY, JBC, JOBLOCK, LGEOG, LOBJPERIS, MFREE, MFREEW, MHUNT, MHUNTW, MTPTR, NAME, OFF, OUTNUM, OUTPACK, OUTPACKX, PCATEST, RESTART, SEG, SEGENTRY, SETNCORE, SHLSQ, TESTRPN2, TOPFCBV, TRACE, UP, UPPLUS

WSPERIS867.txt
22FL    #LIS  K0WSPERIS>K0WHATSTATE>K0COMMAND>K0ALLGEO  
22^= ...      SEG   WSPERIS,867,SECTION CENT
23YG    #   
244C ...[   
248# ...[  (C)  COPYRIGHT INTERNATIONAL COMPUTERS LTD  1982 
24#9 ...[   
24D6          SEGENTRY K1WSPERIS,SENTRY1
24QG          SEGENTRY K2WSPERIS,SENTRY2
24T6          FSHENTRY K3WSPERIS,,ST1,ST1   
24WD          FSHENTRY K4WSPERIS,SENTRY4,,SENTRY4   
24XQ    #     THIS SEGMENT IMPLEMENTS THE LAST PART OF THE WS COMMAND   
25CB    #     IT DEALS WITH THE PERIPHERALS ATTACHED TO A JOB   
25X2    #     IT GATHERS INFORMATION FROM :THE PER LIST (ONLINE)
26BL    #                                  THE PRB  
27*W    #   
27TG    #DEF  ZADATA=A1 
28*6    #DEF  ZHEAD=ZADATA+1
28SQ    #DEF  XDUJOB=A1+8   
28W#    #DEF  WJOBNO = A1   
28X#    #DEF  WPERPTR = A1+28   
28XW    ZAWSPERFH      +EWSPERIS
28^D    ZAWSPEROH      +AWSPEROH
2932    ZAWSPERISO     +AWSPERISO   
294J    ZAWSPERISF     +AWSPERISF   
2966    ZAWSPERISG     +AWSPERISG   
297N    ZAWSSAVED      +HNOWSAVE
299=    ZAWSPERGO      +BWSPERIS
29=S    ZAWSNOCOR      +AWSPERIS
29?#    ZFNFD          +FNFD          ["NO FURTHER DETAILS AVAILABLE"   
29?S    [   
29#B    TWENTFOURHR    +60*60*24/K9*1000   [1 DAY OF SC COUNTS  
29#Q    TDIRLANG       4HC1 
29*2    [   
29*7    WSW   SBX   5   FX1 
29*Y          ASSMESS   4   
29BP          MHUNTW   3,GMON,AOUT  
29CG          NAME     3,FILE,FAPB  
29D?          LDX   0  A1(3)
29F4          ADN   0  11   
29FT          SRL   0  2
29GL          STO   0  A1(3)               [RESET WORD COUNT
29HC          LDX   0  AWORK4(2)           [DEPTH OF 'WS' FILE  
29J8          BZE   0  WSW3 
29J^          APPEND   1,WSW9   
29KQ          BRN      WSW8 
29LH    WSW3  APPEND   0,WSW9   
29M#    WSW8  MFREE    FILE,FAPB
29N5          TESTRPN2 OK,WSW10 
29NW          ADN   5  1
29PM    WSW9  ADN   5  1
29QD    WSW10 ADX   5  FX1  
29R9          EXIT  5  0
29S2    #     SUBROUTINE TO O/P PERIPHERAL TYPE AND UNIT NO 
2=?L    #   
2=R=    PERTY SBX   5  FX1  
2?=W          LDX   2  0
2?QG           OUTPACK  2,4,PERINAME
2#=6          ADX   5  FX1  
2#PQ          EXIT  5  0
2F6B    N3    +3
2FL2    N4    +4
2G5L    #     SR TO SET X456 TO NXT RECORD IN CQ11  
2GK=    #     ACC TO WD AFTER CALL  
2H4W    MOVE  MHUNTW   1,ADATA,CSTORE   
2HJG          ADX   1  AWORK1(2)           [X1->TOP OF RECOED   
2J46          ADX   1  0(3)                [ADD DISPLACEMRNT
2JHQ          LDN   2  4
2K3B          MOVE  1  3
2KH2          EXIT  3  1
2L2L    #   
2L*3    # SR TO OUTPUT A PARAMETER WITH 
2LMD    # DATA OF 1ST WORD AFTER CALL   
2L^T    # DATA LENGTH OF 2ND WD AFTER CALL  
2M#=    # PDC OF 3RD WD AFTER CALL  
2MLM    OUTP  LDX   1  3
2M^6          SBX   3  FX1  
2NDQ          OUTPACKX 0(1),1(1),2(1)           [O/P PARAM  
2PD2          ADX   3  FX1  
2PXL          EXIT  3  1
2QC=    #   
2QDY    SCQPRINT
2QFG          MHUNTW   2,CQPRINT,CQ11   
2QG4          EXIT  1  0
2QGL    SADATA  
2QH8          MHUNTW   2,ADATA,CSTORE   
2QHQ          EXIT  1  0
2QJ#    [   
2QJW    SENTRY1 
2QKD          LDX   0  ACOMMUNE1(2) 
2QL2          STO   0  AWORK4(2)           [DEPTH OF WS FILE
2QLJ          BRN      ST1  
2QM6    SENTRY2 
2QMN          SETNCORE 20,3,ADATA,CSTORE
2QN=          BRN      ST1  
2QNS    RESTART 
2QPB          LDX   7  ALOGLEN(3)   
2QPY          SLL   7  1
2QQG          ALTLENG  3,7,SADATA          [DOUBLE LENGTH OF ADATA/CSTORE   
2QR4    ST1   MHUNTW   3,CQPRINT,CQ11   
2QRL          LDXC  4  WJOBNO(3)
2QS8          LDN   5  0                   [NON-ZERO IF HLS XCODE   
3YG2          JOBLOCK  4,2  
3Y^L          BNG   2  THING               [J IF BLOCK LOST 
3^F=          LDEX  0  JMISC(2) 
3^YW          BZE   0  XPRINOCORE          [J IF NO LONGER A CORE IMAGE 
43CQ          LDX   6  2                   [KEEP -> JOB BLOCK   
43XB    #     THIS HAS BEEN NECESSARY INCASE THE JOB HAS CHANGED ITS STATUS 
44C2    #     SINCE CO-ORDINATING HAS TAKEN PLACE.  
44WL    #   
45B=    #     THE PERIPHERAL LIST IS NOW EXAMINED.  
45TW    #     POINTS TO NOTE.   
46*G    #     THE 1ST WORD OF THE LIST CONTAINS THE SIZE OF THE RED TAPE
46T6    #     THE ZEROTH WORD OF THE RECORD CONTAINS, IN BIT 21, WHETHER OFFOR  
47#Q    #     ON LINE. SET IF ON-LINE   
47SB    #     4TH WORD IN LS HALF THE JOB-NUMBER
48#2    #     IN THE MOST SIG. CH. OF ZEROTH WORD IS THE TYPE   
48RL    #     1ST. WORD IN LS. CHAR. THE GEOG. NO.  
49?=    #   
49QW    #     THIS GEN IS STORED AS FOLLOWS 
4==G    #     AWORD MS CH = TYPE
4=Q6    #     2WORD LS CH = GEOG NO.
4?9Q    #   
4?PB          MHUNT    3,ADATA,CSTORE   
4#92    ST2   LDX   7  ALOGLEN(3)   
4#NL          SBN   7  4                   [X7 WILL CONTAIN 
4*8=          LDN   5  0                   [CORE LEFT AND X5:CT OF ONLINE PERS  
4*MW          STOZ     A1+1(3)             [INITIALISE CO NTS   
4B7G          LDN   1  A1+1(3)  
4BM6          FINDPERE 2,APJOB,4,REENT     [FIND ENTRY  
4C6Q          ADN   1  3                   [UPDATE PTR ALONG CQ11 BLOCK 
4CLB          BNG   2  PHIN                [J WHEN ALL DONE 
4D62          SBN   7  3
4DKL          BNG   7  RESTART             [TRY AGAIN   
4F5=          LGEOG    2,0                 [GET GEOG NO 
4FJW          STO   0  1(1) 
4G4G          STOZ     0(1)                [JUST IN CASE
4G##          STOZ     2(1) 
4GJ6          BUX   5  REENT               [+1 FOR FOUND
4K2=    PHIN  STO   5  A1(3)               [STORE CT OF O/L PERS
4KFW          FPCAJO   2,6                 [X2 -> PCA   
4K^G    #SKI  K6WSPERIS<199-199 
4LF6          TRACE    A1(3),WSOLPER
4LRH          PCATEST  2,TP,TP  
4M5Y          FINDTP   2,2  
4MDB    TP    STO   1  A1+2(3)             [X1 -> 1ST POSN FOR OFFLINE INFO 
4MY2          STO   2  A1+3(3)             [X2 -> APET  
4NCL    XLOOP LDX   2  FPTR(2)  
4NX=          LDX   0  ATYPE(2) 
4PBW          TXL   0  CACT 
4PWG          BCC      OUTPUT              [J IF NO APERI/APERIRES  
4QB6          SRL   0  12   
4QTQ          SBN   0  APERI+APERIRES   
4R*B          BNZ   0  XLOOP
4RT2    XLOOP1                             [PRB FOUND   
4S#L          LDX   6  A1(2)
4TRG          BNG   6  XDONE               [J IF AT END OF PRB  
4W?6          LDXC  1  A1+1(2)  
4WQQ          BCS      OFFLINE             [J IF MARKED OFFLINE 
4X=B          LGEOG    1,6                 [ELSE GET OPS NUM IN X6  
546L    PONLY   
54L=          LDN   1  A1+4(3)             [X1-> 1ST ONLINE ENTRY   
555W          LDX   5  A1(3)               [CT OF ONLINE ENTRINS
55KG    ROUND TXU   6  1(1) 
5656          BCC      PHOUND   
56JQ          ADN   1  3
574B          BCT   5  ROUND
57J2          BRN      UPD  
583L    PHOUND  
58H=          LDX   0  A1(2)               [GET PER TYPE/NUMBER WORD
592W          STO   0  0(1)                [KEEP COPY OF 1ST WORD   
595F          LDXC  6  A1+1(2)  
5984          BCC      PER  
59=M          LDX   6  4               [PTR TO DEVICE LIST  
59*=    PER   LOBJPERIS  6,0
59CT          STO   0  2(1) 
59GG    UPD   ADN   2  2
5=26          BRN      XLOOP1   
5=FQ    OFFLINE 
5=^B          SBN   7  10   
5?F2          BNG   7  RESTART             [RESTART IF INSUFF1CIENT CORE
5?YL          LDX   1 A1+2(3)              [X1-> 1ST FREE WORD  
5#D=          LDX   4  2                   [SAVE PTR -> PRB ENTRY   
5#XW          LDX   2  A1+3(3)             [X2 -> APET/LAST OLPA
5*CG          LDX   2  ACTRING(2)   
5*X6          SBN   2  ACTRING             [X2 -> AOLPT 
5BBQ          STO   2  A1+3(3)             [KEEP COPY   
5BWB          LDX   0  ATMARK(2)
5CB2          SBN   0  2
5CTL          BZE   0  PSDMT               [J IF PSEUDO OFFLINE MAGTAPE 
5D*=          SBN   0  6
5DSW          BZE   0  PSDMT               [J IF PS-ONLINE DRUM 
5F#G          STO   6  0(1) 
5FJ#          LDX   6  ACOUNT(2)
5FS6          STO   6  9(1) 
5G3Y          LDN   6  10   
5G?Q          ADS   6  A1+2(3)             [UPDATE X1 COPY  
5GRB          LDN   6  1
5H?2          ADS   6  A1+1(3)             [& COUNT OF OFFLINE PERIPHERALS  
5HQL          ADN   0  7
5J==          BZE   0  XOFILE              [EXOFILE 
5JPW          SBN   0  3
5K9G          BZE   0  TRANS               [J IF ONLINE CI  
5KP6          SBN   0  2
5L8Q          BZE   0  PCOMM               [J IF IPC
5L?*    #UNS AV7900S
5L*Y    (   
5LDH          SBN   0  3
5LH6          BZE   0  V7900               [J IF VIRTUAL 7900   
5LKP    )   
5LNB          LDX   0  FILERING(2)  
5M82          SBN   0  FILERING(2)         [NULL RING IF TRANSIENT STATE
5MML          BNZ   0  SOME 
5N7=    TRANS STOZ     1(1)                [SET TRANSIENT STATE MARKER  
5NLW          LDX   2  4                   [RESET PTR-> PRB ENTRY   
5P6G          BRN      UPD  
5PL6    SOME  TOPFCBV  2,2  
5Q5Q    #SKI  K6WSPERIS<199-199 
5QKB          TRACE    2,WSFILE 
5R52          LDN   5  FUSER1(2)
5RJL          LDN   6  1(1) 
5S4=          MOVE  5  6                   [COPY OF FILE NAME   
5S87          LDN   5  FGEN(2)  
5S#4          LDN   6  7(1) 
5SC^          MOVE  5  2
5SDG          JBC      SOME9,2,BFDIR      [J IF NOT DIR 
5SDT          LDN   2  1                [GEN. NO.   
5SF8          STO   2  7(1) 
5SFJ          SMO      FX1  
5SG5          LDX   2  TDIRLANG 
5SGL          STO   2  8(1)                [LANG CODE   
5SH7    SOME9   
5SHW          LDX   2  4                   [RESET X2 -> PRB 
5T3G          BRN      UPD  
5TH6    XOFILE  
5W2Q          LDN   6  1(1)                [SET X6  
5WGB          STOZ     1(1)                [IN CASE NOT FOUND   
5X22          LDX   5  EXNUM(2) 
5XFL          LDX   2  4                   [RESET X2 -> PRB 
5X^=    #SKI  EXUDAS<1$1
5YDW    (   
5YYG          LDN   1  BCCB 
5^D6    SEEK  LDX   1  FPTR(1)  
5^XQ          TXU   1  CXCC 
62CB          BCC      UPD                 [J IF NOT FOUND  
62X2          LDX   0  ATYPE(1) 
63BL          SRL   0  12   
63W=          SBN   0  AONBS+EXOF   
64*W          BNZ   0  SEEK 
64TG          TXU   5  EXFILE(1)
65*6          BCS      SEEK 
65SQ    )   
66#B    #SKI  EXUDAS
66S2    (   
67?L          FINDEXOF 1,5,UPD  
67R=    )   
68=W    #SKI  K6WSPERIS<199-199 
68QG          TRACE    1,WSXOFILE   
69=6          LDN   5  FIP(1)              [MOVE IN NAME
69PQ          MOVE  5  3
6=9B          SMO      6
6=P2          STOZ     3                   [EXOFILE DARKER  
6?8L          BRN      UPD  
6?N=    PSDMT [PSEUDO OFFLINE MAGTAPE   
6#7W          MTPTR 2,1                    [X1->DEV LIST
6#MG          LGEOG 1,6                    [X6:=GEOG NUM
6*76          LDX   2  4                   [RESTORE X2->PRB 
6*BY          LDX   4  1
6*LQ          BRN      PONLY               [J TO ONLINE SEARCH  
6B6B    #SKI  IPCV1 
6BL2    (   
6C5L    #     IPC - TREAT AS EXOFILES   
6CK=    PCOMM STOZ     1(1)                [SET TRANSIENT   
6D4W          LDX   0  ALINDIR(2)   
6DJG          ERN   0  #1700
6F46          BZE   0  QFILE               [J IF ENQUIRY FILE   
6FHQ          LDN   5  ALINAME(2)   
6G3B          LDN   6  1(1) 
6GH2          MOVE  5  3                   [NAME IN CQ BLOCK
6GJP    #UNS AV7900S
6GLD    (   
6GN7          BRN      QFILE
6GPW    #     VIRTUAL 7900 - TREAT AS EXOFILES  
6GRK    V7900 LDN   5  ACOMMUNE7(2) 
6GT#          LDN   6  1(1) 
6GX3          MOVE  5  3                   [LINK NAME (IF ANY) TO CSTORE BLOCK  
6GYQ    )   
6H2L    QFILE   
6HG=          STOZ     4(1)                [SET AS 'EXOFILE'
6H^W          LDX   2  4
6JFG          BRN      UPD  
6J^6    )   
6KDQ    OUTPUT  
6KYB    XDONE LDX   6  A1(3)               [CT OF ONLINE PERS   
6LD2          LDX   7  A1+1(3)             [CT OF OFFLINE PERS  
6LLM          MHUNTW   3,CQPRINT,CQ11   
6LNW          LDXC  0  WJOBNO(3)
6LR5          BCS      XCODEND             [J IF HLS XCODE  
6LXL          BNZ   6  OPHEAD   
6MC=          BZE   7  PHEW 
6MWW    OPHEAD  
6NBG          LDN   1  A1+4 
6NW6          SMO      FX2  
6P*Q          STO   1   AWORK1             [KEEP REL PTR
6PKJ          LDX   1  FX1  
6PTB          LDX   4  ZAWSPERFH(1) 
6Q58          CALL  5  WSW  
6Q*2          BRN      XER  
6QJS          BRN      XBRK 
6QSL          BZE   6  NOOL                [J IF NO OL PERS 
6R73          LDX   4  ZAWSPEROH(1) 
6RFD          CALL  5  WSW  
6RRT          BRN      XER  
6S6=          BRN      XBRK 
6SDM          MHUNTW   3,ADATA,CSTORE   
6SR6          LDN   1  A1+4(3)  
6T=Q    OPONL LDX   4  1(1)                [OPS NUMBER  
6TQB          LDX   0  0(1)                [TYPE/UNIT NUMBER
6TW?          LDX   5  2(1) 
6W28          LDX   2  FX2  
6W65          STO   5  AWORK2(2)                  [NO. OF TRANSFERS 
6W=2          SBX   1  3                   [RELATIVISE  
6WPL          ADN   1  3
6X9=          STO   1  AWORK1(2)
6Y8G          CALL  5  PERTY               [CONVERT AND O/P 
6YN6          OUTNUM   4,0  
6Y^3          OUTNUM   AWORK2(2),7,1
6^9Y          LDX   4  ZAWSPERISO(1)
6^GT          CALL  5  WSW  
6^RQ          BRN      XER  
724M          BRN      XBRK 
72*J          MHUNT    3,ADATA,CSTORE   
72LL          LDX   1  AWORK1(2)
736=          ADX   1  3                   [X1-> NEXT ENTRY 
73KW          BCT   6  OPONL
73TN          LDX   1  FX1  
745G    NOOL  BZE   7  PHEW                [J FI NO OFFLINE PERS
74CX          LDX   4  ZAWSPERISF(1)
74Q#          CALL  5  WSW  
754P          BRN      XER  
75C6          BRN      XBRK 
75PH          MHUNT    3,ADATA,CSTORE   
7642          LDX   1  AWORK1(2)           [X1 -> REL POSN OF ENTRY 
76CP    OPOFF STO   1  AWORK1(2)              [KEEP -> RECORD   
76RD          LDN   0  1
7777          STO   0  AWORK3(2)              [UNSET USER SET ID.   
77GW          ADX   1  3
782G          LDX   0  0(1) 
787N          LDX   5  9(1) 
78#W          STO   5  AWORK2(2)           [NO. OF TRANSFERS
78G6          CALL  5  PERTY               [CONVERT AND OUTPUT  
78^Q          CALL  3  MOVE 
79FB          +1    [TOP 3 WDS IS USERNAME ?
79^2          BZE   4  TRAN                [J IF TRANSITIVE 
7=DL          LDX   2  3(1)                [LOAD 'LOACL ' NAME  
7=Y=          BZE   2  XOF                 [J ID EXOFILE MARKER SET 
7?CW          CALL  3  OUTP 
7?K4          +4
7?Q=          +3
7?XG          +JPDUSERNAME                 [USERNAME OYT
7?YX          CALL  3  MOVE                [GET GEN NO. & LANG. CODE
7#2#          +7
7#3P          CALL  3  OUTP                [OUTPUT GEN. NO. 
7#56          +4
7#6H          +1
7#7Y          +JPDGENNUM
7#9*          CALL  3  OUTP                [OUTPUT LANG. CODE   
7#=Q          +5
7##7          +1
7#*J          +JPDLANGUAGE  
7#C6          CALL  3  MOVE 
7#WQ          +4    [LOCALNAME INTO X456
7*BB          BRN      OFF  
7*W2    TRAN  LDCT  4  #370 
7B*L          ERX   4  ACES 
7BT=          LDX   5  ACES 
7C#W          LDX   6  5                   [X456 ='?     '  
7CSG    XOF   SMO      FX2  
7D#6          STOZ     AWORK3                  [SET USER SET ID.
7DRQ    OFF   CALL  3  OUTP 
7DYY          +4
7F66          +3
7F?B          +JPDJOBNAME                  [OUTPUT X456 AS ' OR NAME
7FF3          OUTNUM   AWORK2(2),7,1
7FLN          LDX   0  AWORK3(2)
7FS*          BNZ   0  OFF8                  [J IF USERNAME INCLUDED
7G22          LDX   4  ZAWSPERISO(1)
7G7M          BRN      OFF9 
7G*#    OFF8  LDX   4  ZAWSPERISG(1)
7GG^    OFF9  CALL  5  WSW  
7GNL          BRN      XER  
7GW?          BRN       XBRK
7H3Y          MHUNT    3,ADATA,CSTORE   
7H9W          LDX   1  AWORK1(2)           [RESET X1
7HPG          ADN   1  10                  [X1-> NEXT OFFLINE ENTRY 
7J96          BCT   7  OPOFF
7JNQ    PHEW
7K8B    UP    UPPLUS   2
7KC3    THING BNZ   5  XCODNOC             [J IF HLS XCODE  
7KF=          SHLSQ    4,2,XPRILOST 
7L7L          LDX   4  ZAWSSAVED(1) 
7LM=          CALL   5  WSW 
7M6W          BRN      XER  
7MLG           BRN      XBRK
7P5B          BRN      UP   
7PK2    XPRILOST
7PWB          LDX   4  ZAWSPERGO(1) 
7Q7Q          CALL  5  WSW  
7QF6          BRN      XER  
7QQG          BRN      XBRK 
7R3W          BRN      UP   
7RHG    XPRINOCORE  
7RPQ          BNZ   5  XCODNOC             [J IF HLS XCODE  
7RSW          LDX   4  ZAWSNOCOR(1) 
7S6=          CALL  5  WSW  
7SCL          BRN      XER  
7SP2          BRN      XBRK 
7T2B          BRN      UP   
7TG2    XER   UP
7T^L    XBRK  UPPLUS   1
7X?=    XCODEND 
7XP6          MHUNTW   2,ADATA,CSTORE   
7Y72          LDX   5  A1+2(2)  
7YJW          SBN   5  A1+5(2)  
7^2Q          BNG   5  XCODNOC             [J IF NO PER. INFO.  
7^DL          ADN   5  3
7^WG          MHUNTW   3,CQPRINT,CQ11   
82#B          LDX   4  ALOGLEN(3)   
82Q=          STO   4  WPERPTR(3)   
8386          ADX   4  5                   [REQ. LENGTH FOR CQ11
83L2          ALTLENG  3,4,SCQPRINT        [LENGTHEN CQPRINT/CQ11   
843W          MHUNTW   3,ADATA,CSTORE   
84FQ          ADN   3  A1+2 
84XL          MHUNTW   2,CQPRINT,CQ11   
85*G          ADN   4  A1(2)
85RB          SBX   4  5                   [X4-> 1ST FREE WORD OF CQ11  
869=          SMO      5
86M6          MOVE  3  0
8752          SBN   3  2
87GW          MOVE  3  2                   [STORE PERIPHERAL COUNTS 
87YQ    XCODNOC 
88BL          MFREEW   ADATA,CSTORE 
88SG          ACROSS   HLSREAD,30   
89NL    #END
^^^^ ...55107475000100000000
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1