PERFPASS864

(George Source)

Macros used: ADDMODE, BASEFCB, BXE, CHNUMCOD, CLOSE, CLOSETOP, COBJUNUSE, COBJUSE, COMBRKIN, COOR4, CREATEB, ELSE, ENDCOM, FI, FNORM, FREECORE, HUNTMISB, HUNTW, IF, INSTPARA, ISSUCOMB, LONGOFF, LONGON1, LONGSET, LONGSTOP, MFREE, MHUNT, MHUNTW, MONOUT, NAMETOP, NEXTFCB, OPEN, OPEND, OUTNUM, REPERR, SEGENTRY, SETMODE, SETNCORE, SPARAPAS, STEP, TESTBRKIN, TESTREP2, THEN, USEROPEX, ZERRORX, ZERRORY

PERFPASS864.txt
22FL    #SEG  PERFPASS  
22LS ...#OPT  K0PERFPASS=0  
22S2 ...#LIS  K0PERFPASS
22^=    #DEF RD=0                          [ DATE   
23DW    #DEF RT=RD+2                       [ TIME   
23YG    #DEF RMJ=RT+1                      [ MOP JOBS   
24D6    #DEF RBJ=RMJ+1                     [ BACKGROUND JOBS
24XQ    #DEF RCI=RBJ+1                     [ CORE IMAGES
25CB    #DEF ROC=RCI+1                     [ OBJECT PROGRAM CORE
25X2    #DEF RGC=ROC+1                     [ GEORGE CHAPTER CORE
26BL    #DEF RF=RGC+1                      [ FREE CORE  
26W=    #DEF RGM=RF+1                      [ GEORGE MILL TIME   
27*W    #DEF ROM=RGM+2                     [ OBJECT MILL TIME   
27TG    #DEF RBR=ROM+2                     [ FILESTORE READS
28*6    #DEF RBW=RBR+2                     [ FILESTORE WRITES   
28SQ    #DEF RST=RBW+2                     [ SWAP TRANSFERS 
29#B    #DEF RCT=RST+2                     [ CHAPTER TRANSFERS  
29S2    #DEF RCF=RCT+2                     [ CHAPTERS FREED 
2=?L    #DEF RCC=RCF+2                     [ CHAPTER CHANGES
2=R=    #DEF RFM=RCC+1                     [ CHAPTERS FREED BY INFLIGHT GC  
2?=W    #DEF RCH=RFM+1                     [ LENGTH OF CHAPTER CHAIN
2?QG    #DEF RFC=RCH+1                     [ USAGE BLOCKS IN FILE CHAIN 
2#=6    #DEF RHO=RFC+1                     [ FILES ON HALF-OPEN CHAIN   
2#PQ    #DEF RCU=RHO+1                     [ CORE UNJAMMER ENTERED  
2*47 ...#DEF  RID=RCU+1                     [ EXECUTIVE IDLE TIME   
2*BJ ...#DEF RFRH=40
2*P2                   8HPERFPASS   
2B8L          SEGENTRY K1PERFPASS,ZK1   
2BN=    [THIS SEGMENT IS OBEYED TO WRITE PERFORMANCE DATA TO A FILE.
2C7W    [THE MASTER COMPONENT CONTAINS THE CODE FOR OPENING THE FILE
2CMG    [AND SUBROUTINES FOR WRITING THE FIXED FORMAT DATA AT THE FRONT 
2D76    [OF THE RECORD  
2DLQ    [THE REST OF THE SEGMENT CONTAINS VARIOUS ROUTINES FOR COLLECTING   
2F6B    [MORE SPECIFIC DATA. THE CURRENT ACTIVITY IS ROUTED TO THE APPROPRIATE  
2FL2    [COLLECTION CODE BY COMMAND PARAMETER.  
2G5L    [   
2GK=    [ABSOLUTE FILE NAME FOR INSTALLATION PARAMETERS FILE
2H4W    ZFABSNB        +10  
2HJG                   12HSYSTEM
2J46    #SKI  G3
2JHQ                   12HPARAMINDEX
2K3B    #SKI  G4
2KH2                   12HPARAMINDEXG4  
2L2L                   +0   
2LG=                   +1   
2L^W                   4HB1 
2MFG    [              ******************** 
2M^6    [   
2NDQ    [                  SUBROUTINES  
2NYB    [   
2PD2    [              ******************** 
2PXL    [   
2QC=    #PAGE   
2QWW    [   
2RBG    ZDPSPARAM   
2RW6    [   
2S*Q    [ THIS SUBROUTINE TRANSFERS THE NEXT PARAMETER TO A CPB/CUNI
2STB    [ EXIT 0 IF PARAMETER NULL OR MISSING - CPB/CUNI FREED  
2T*2    [ EXIT 1 IF PARAMETER FOUND 
2TSL    [ X7 USED AS LINK ACCUMULATOR   
2W#=    [ CHANGES - X0 DESTROYED
2WRW    [           X1 = FX1
2X?G    [           X2 = FX2
2XR6    [   
2Y=Q    [     ******      THIS SUBROUTINE CO-ORDINATES      ******  
2YQB    [   
2^=2          SBX   7  FX1                 [ PREPARE TO CO-ORDINATE 
2^PL          SPARAPAS                     [ GET PARAMETER  
329=          ADX   7  FX1  
32NW          MHUNT 1,CPB,CUNI             [ HUNT CPB/CUNI  
338G          NGX   0  ANUM(1)             [ GET CONTENT POINTER
33N6          BPZ   0  PNULL               [ BRANCH IF NULL OR ABSENT   
347Q          LDX   1  FX1                 [ RESET X1   
34MB          EXIT  7  1                   [ EXIT OK
3572    PNULL FREECORE 1                   [ FREE CPB/CUNI  
35LL          EXIT  7  0                   [ EXIT 0 
366=    [   
36KW    #PAGE   
375G    [   
37K6    ZDPNUMCON   
384Q    [   
38JB    [ THIS SUBROUTINE CONVERTS THE PARAMETER IN THE FIRST CPB/CUNI  
3942    [ FROM CHARACTERS TO BINARY - ERROR MESSAGE GENERATED IF
39HL    [ PARAMETER FOUND IS NOT A VALID NUMBER FORMAT  
3=3=    [ EXIT 0 IF FAILED  
3=GW    [ EXIT 1 IF CONVERSION SUCCESSFUL   
3?2G    [ X7 USED AS LINK ACCUMULATOR   
3?G6    [ CHANGES - X0 DESTROYED
3?^Q    [           X1 = FX1
3#FB    [           X2 = FX2
3#^2    [           X6 = RESULT IF CONVERSION SUCCESSFUL
3*DL    [           FIRST CPB/CUNI BLOCK WILL HAVE BEEN FREED   
3*Y=    [   
3BCW    [     ******      THIS SUBROUTINE CO-ORDINATES      ******  
3BXG    [   
3CC6          SBX   7  FX1                 [ PREPARE TO CO-ORDINATE 
3CWQ          CHNUMCOD                     [ CONVERT PARAMETER  
3DBB          ADX   7  FX1  
3DW2          MFREE CPB,CUNI               [ FREE CPB/CUNI BLOCK
3F*L          TESTREP2 CHNUMERR,(7)        [ TEST FOR ERROR REPLY   
3FT=          LDX   6  ACOMMUNE1(2)        [ SUCCESS - GET RESULT   
3G#W          EXIT  7  1                   [ AND EXIT OK
3GSG    [   
3H#6    #PAGE   
3HRQ    [   
3J?B    ZDPFINTIME  
3JR2    [   
3K=L    [ THIS SUBROUTINE ACCESSES THE NEXT COMMAND PARAMETER AND   
3KQ=    [ IF ONE IS FOUND CONVERTS IT TO A FINISH TIME STORED IN X6 
3L9W    [ AND AWORK2.  IF PARAMETER IS NULL OR MISSING X6 AND AWORK2
3LPG    [ WILL BE SET NEGATIVE  
3M96    [ EXIT 0 IF PARAMETER FORMAT ERROR  
3MNQ    [ EXIT 1 IF OK  
3N8B    [ X7 USED AS LINK ACCUMULATOR   
3NN2    [ CHANGES - X0 DESTROYED
3P7L    [           X1 = FX1
3PM=    [           X2 = FX2
3Q6W    [           X6 = AWORK2 = FINISH TIME OR NEGATIVE   
3QLG    [   
3R66    [     ******      THIS SUBROUTINE CO-ORDINATES      ******  
3RKQ    [   
3S5B          SBX   7  FX1                 [ PREPARE TO CO-ORDINATE 
3SK2          SMO      FX2  
3T4L          STO   7  AWORK2              [ PRESERVE RETURN ADDRESS
3TJ=          CALL  7  ZDPSPARAM           [ GET NEXT PARAMETER 
3W3W          BRN      PINF                [ ABSENT - BRANCH
3WHG          CALL  7  ZDPNUMCON           [ CONVERT
3X36          BRN      PERR                [ FORMAT ERROR - BRANCH  
3XGQ          MPY   6  TIME(1)             [ CONVERT FROM MINUTES   
3Y2B          ADX   7  CLEANCT             [ PLUS 'TIME NOW'
3YG2          LDX   6  7                   [ TRANSFER RESULT
3Y^L    POUT  LDX   7  AWORK2(2)           [ RECOVER RETURN ADDRESS 
3^F=          STO   6  AWORK2(2)           [ STORE RESULT   
3^YW          ADX   7  FX1  
42DG          EXIT  7  1                   [ EXIT OK
42Y6    PINF  NGS   1  6                   [ SET X6 NEGATIVE
43CQ          BRN      POUT 
43XB    PERR  LDX   7  AWORK2(2)           [ RECOVER RETURN ADDRESS 
44C2          ADX   7  FX1  
44WL          EXIT  7  0                   [ EXIT 0 
45B=    TIME           60*1000/K9   
45TW    [   
46*G    [   
46T6    #PAGE   
47#Q    [   
47SB    ZDPCHECTIM  
48#2    [   
48RL    [ THIS SUBROUTINE COMPARES A FINISH TIME IN AWORK2 WITH TIME
49?=    [ NOW AND EXITS 0 IF TIME HAS EXPIRED (NO CHECK IF AWORK2   
49QW    [ IS -VE) ELSE EXIT 1.  IF TIME NOW IS MORE THAN 20 HOURS   
4==G    [ LESS THAN AWORK2 'OVER MIDNIGHT' IS ASSUMED AND 24 HOURS  
4=Q6    [ IS SUBTRACTED FROM AWORK2.
4?9Q    [ BREAKIN IS TESTED FOR AND IF FOUND IS TREATED AS 'TIME UP'
4?PB    [ BITS 1-23 OF ADPSUICIDE ZERO ALSO TREATED AS 'TIME UP'
4#92    [ EXIT 0 IF TIME UP 
4#NL    [ EXIT 1 IF TIME NOT UP 
4*8=    [ X7 USED AS LINK ACCUMULATOR   
4*MW    [ CHANGES - X0 DESTROYED
4B7G    [           X1 = FX1
4BM6    [           X2 = FX2
4C6Q    [   
4CLB          LDX   1  FX1  
4D62          LDX   2  FX2  
4DKL          LDXC  0  AWORK2(2)           [ GET FINISH TIME
4F5=          BCS      ZNUP                [ -VE - BRANCH   
4FJW          SBX   0  CLEANCT             [ SUBTRACT TIME NOW  
4G4G          BNG   0  (7)                 [ TIME UP - EXIT 0   
4GJ6          TXL   0  T20HRS(1)           [ HUGE REMAINDER?
4H3Q          BCS      ZNUP                [ NO - BRANCH
4HHB          LDX   0  T24HRS(1)           [ GET VALUE OF 24 HRS. AND   
4J32          SBS   0  AWORK2(2)           [ SUBTRACT FROM FINISH TIME  
4JGL    ZNUP  TESTBRKIN (7)                [ BREAKIN ALSO = TIME UP 
4K2=          LDXC  0  ADPSUICIDE          [ CRASH CLOSE?   
4KFW          BZE   0  (7)                 [ YES - EXIT 0   
4K^G          EXIT  7  1                   [ EXIT 1 
4LF6    T20HRS         1000/K9*20*60*60 
4LYQ    T24HRS         1000/K9*24*60*60 
4MDB    [   
4MY2    [   
4NCL    #PAGE   
4NX=    [   
4PBW    ZDPOPENFILE 
4PWG    [   
4QB6    [ THIS SUBROUTINE ACCESSES THE NEXT COMMAND PARAMETER AND   
4QTQ    [ IF ONE IS FOUND WILL ATTEMPT TO OPEN A FILE (BASIC) IN
4R*B    [ THAT NAME, EXIT 2 WITH FILE OPEN AND AWORK1 SET ZERO IF   
4RT2    [ SUCCESSFUL.  IF PARAMETER IS NULL OR MISSING NO OPEN WILL 
4S#L    [ BE ATTEMPTED, WILL EXIT 2 WITH AWORK1 SET NON-ZERO
4SS=    [ EXIT 0 IF BREAKIN OCCURS  
4T?W    [ EXIT 1 IF OTHER ERROR 
4TRG    [ EXIT 2 IF OK  
4W?6    [ X7 USED AS LINK ACCUMULATOR   
4WQQ    [ CHANGES - X0 DESTROYED
4X=B    [           X1 = FX1
4XQ2    [           X2 = FX2
4Y9L    [           X3 DESTROYED
4YP=    [   
4^8W    [     ******      THIS SUBROUTINE CO-ORDINATES      ******  
4^NG    [   
5286          SBX   7  FX1                 [ PREPARE TO CO-ORDINATE 
52MQ          SMO      FX2  
537B          STO   7  AWORK1              [ PRESERVE RETURN ADDRESS
53M2          CALL  7  ZDPSPARAM           [ GET NEXT PARAMETER 
546L          BRN      NERR                [ ABSENT - ERROR 
54L=          MHUNT 1,CPB,CUNI             [ FIND CPB/CUNI  
555W          NAMETOP 1,FILE,FNAME         [ RENAME FOR FNORM   
55KG          FNORM 1                      [ NORMALISE NAME 
5656          TESTREP2 NAMEFORM,NERR       [ CHECK REPLY
56JQ          MHUNT 1,FILE,FNAME           [ FIND FILE/FNAME BLOCK  
574B          NAMETOP 1,CPB,CUNI           [ RENAME 
57J2          LDCT  7  #400                [ SET X7 NEGATIVE
583L          TESTREPN ADJUNCTS,PFA        [ BRANCH IF REPLY NOT ADJ.   
58H=          HUNTW 2,FILE,ADJUNCTS        [ FIND FILE/ADJUNCTS BLOCK   
592W          LDX   7  A1+1(2)             [ RESET X7   
59GG    PFA   CALL  3  ZDPCREATE           [ SET UP FILE CREATE/BLOCK   
5=26          LDX   1  7                   [ TRANSFER X7
5=FQ          SETMODE 7,COMMUNE,NOWAIT,REPLY
5=^B          ANDX  7  1                   [ ADD ANY MISSING MODES  
5?F2          BNG   1  PFA1                [ BRANCH IF X1 STILL -VE 
5?YL          MHUNTW 1,FILE,ADJUNCTS       [ RELOCATE FILE ADJUNCTS 
5#D=          LDX   0  A1+2(1)  
5#XW          BZE   0  PFA1 
5*CG          STO   0  CETM(2)             [ STORE ORIGINAL TYPE
5*X6    PFA1  LDX   0  GSIGN
5BBQ          ORS   0  CEINF1(2)
5BWB          ADDMODE 7,APPEND,EMPTY,CREATE 
5CB2          USEROPEX PBRK,7              [ OPEN IT!   
5CTL          REPERR PFA2                  [ BRANCH IF SUCCESSFUL   
5D*=    NERR  LDX   7  AWORK1(2)           [ RECOVER RETURN ADDRESS 
5DSW          NGS   1  AWORK1(2)           [ SET AWORK1 NEGATIVE
5F#G          ADX   7  FX1  
5FS6          EXIT  7  1                   [ EXIT 1 
5G?Q    PFA2  LDX   7  AWORK1(2)           [ RECOVER RETURN ADDRESS 
5GRB          STOZ     AWORK1(2)           [ ZEROISE AWORK1 
5H?2    PFA3  ADX   7  FX1  
5HQL          EXIT  7  2                   [ EXIT OK
5J==    PBRK  SMO      FX2  
5JPW          LDX   7  AWORK1              [ RECOVER RETURN ADDRESS 
5K9G          ADX   7  FX1  
5KP6          EXIT  7  0                   [ EXIT 0 
5L8Q    [   
5LNB    [ THIS SUBROUTINE SETS UP A FILE/CREATE BLOCK WITH TYPE SET 
5M82    [ TO BASIC  
5MML    [ EXIT 0 ALWAYS 
5N7=    [ X3 USED AS LINK ACCUMULATOR   
5NLW    [ CHANGES - X0 DESTROYED
5P6G    [           X1 = FX1
5PL6    [           X2 = POINTER TO BLOCK   
5Q5Q    [   
5QKB    [     ******      THIS SUBROUTINE CO-ORDINATES      ******  
5R52    [   
5RJL    ZDPCREATE   
5S4=    [   
5SHW          SBX   3  FX1                 [ PREPARE TO CO-ORDINATE 
5T3G          CREATEB 2                    [ SET UP FILE/CREATE BLOCK   
5TH6          LDX   0  TYPE(1)             [ GET TYPE BASIC 
5W2Q          STO   0  CETM(2)             [ AND STORE IN BLOCK 
5WGB          ADX   3  FX1  
5X22          EXIT  3  0
5XFL    TYPE           #40000012
5X^=    [   
5YDW    #PAGE   
5YYG    [   
5^D6    ZDPSTEP 
5^XQ    [   
62CB    [ THIS SUBROUTINE PREPARES A BUFFER FOR THE TOP FILE
62X2    [ OPEN OR IF AWORK1 IS NON-ZERO WILL DISPATCH A GMON/JRNAL  
63BL    [ BLOCK IF ONE IS FOUND AFTER CPAT - IF AWORK1 IS POSITIVE  
63W=    [ A NEW G/J BLK. WILL BE SET UP WITH AWORK1 AS IT'S MESSAGE NO. 
64*W    [ X4 SPECIFIES THE REQUIRED BUFFER SIZE IN BOTH CASES   
64TG    [ EXIT 0 IF SERIOUS ERROR - TOP FILE WILL HAVE BEEN CLOSED  
65*6    [ IF ONE OPEN AND AWORK1 SET NEGATIVE   
65SQ    [ EXIT 1 IF OK - X3 POINTS TO HEAD OF BUFFER
66#B    [ X7 USED AS LINK ACCUMULATOR   
66S2    [ CHANGES - X0 DESTROYED
67?L    [           X1 = FX1
67R=    [           X2 = FX2
68=W    [           X3 POINTS TO BUFFER IF OK   
68QG    [           X6 DESTROYED
69=6    [           THE TOP FILE MAY HAVE BEEN CLOSED AND A NEW FILE
69PQ    [           ONE GENERATION NO. HIGHER OPENED IF FILE IS FOUND   
6=9B    [           TO BE FULL  
6=P2    [   
6?8L    [     ******      THIS SUBROUTINE MAY CO-ORDINATE      ******   
6?N=    [   
6#7W          LDX   2  FX2  
6#MG          SBX   7  FX1                 [ PREPARE TO CO-ORDINATE 
6*76          LDX   0  AWORK1(2)           [ IS SJ BEING USED?  
6*LQ          BNZ   0  ZBRK2               [ YES - ERROR
6B6B          ADN   4  2                   [ ALLOW SPACE FOR RED-TAPE   
6BL2          TESTREP2 FNEARLY,ZFULL       [ FNEARLY ALREADY SET?   
6C5L    ZSTEP LDX   1  4                   [ SET X1 TO BUFFER SIZE  
6CK=          STEP ,0(1),ZBRK1             [ SET UP BUFFER  
6D4W          TESTREP2 OK,ZGOOD,COORED,ZGOOD,FNEARLY,ZGOOD  
6DJG    ZFULL CLOSE                        [ CLOSE TOP FILE 
6F46          CALL  3  ZDPCREATE           [ SET UP FILE/CREATE BLOCK   
6FHQ          MHUNT 3,FILE,FABSNB          [ FIND FILE/FABSNB   
6G3B          LDN   0  1
6GH2          ADX   3  HDREC(3)            [ GET RECORD HEADER  
6H2L          SBN   3  2                   [ LOCATE GENERATION NO.  
6HG=          ADS   0  HDREC(3)            [ INCREMENT GEN. NO. 
6H^W          OPEN ZBRK,APPEND,EMPTY,CREATE,NOWAIT,REPLY,COMMUNE
6JFG          TESTREP2 OK,ZSTEP            [ BRANCH IF OPEN OK  
6J^6          BRN      ZBRK                [ OPEN FAIL - BRANCH 
6KDQ    ZGOOD STO   4  FRH(3)              [ RED-TAPE WORD 1
6KYB          LDN   0  #41  
6LD2          STO   0  FRH+1(3)            [ RED-TAPE WORD 2
6LXL          ADN   3  2+FRH               [ ALLOW FOR RED-TAPE 
6MC=          SBN   4  2                   [ RESET X4 TO ENTRY VALUE
6MWW    ZOK9  ADX   7  FX1  
6NBG          EXIT  7  1                   [ EXIT OK
6NW6    ZBRK1 CLOSE                        [ CLOSE TOP FILE 
6P*Q    ZBRK  SBN   4  2                   [ RESET X4 TO ENTRY VALUE
6PTB    ZBRK2 ADX   7  FX1  
6Q*2          NGS   2  AWORK1(2)           [ NO FILE OPEN MARKER
6QSL          EXIT  7  0                   [ EXIT 0 
6R#=    #PAGE   
6RRW    [   
6S?G    [   
6SR6    ZDPSCANCH   
6T=Q    [   
6TQB    [ THIS SUBROUTINE FINDS THE NUMBER OF BLOCKS OF TYPE SPECIFIED  
6W=2    [ IN LOCATION FOLLOWING CALL ON CHAIN  - BASE ADDRESS IN X1 -   
6WPL    [ CHAIN MUST END IN FIXED - BLOCK TOTAL IN X6 ON EXIT   
6X9=    [ EXIT 1 ALWAYS 
6XNW    [ X2 USED AS LINK ACCUMULATOR   
6Y8G    [ CHANGES - X0 DESTROYED
6YN6    [           X1 DESTROYED
6^7Q    [           X6 CONTAINS BLOCK COUNT 
6^MB    [   
7272          LDN   6  0                   [ INITIALISE X6  
72LL    WLOP3 LDX   1  FPTR(1)             [ FIND NEXT BLOCK
736=          TXL   1  ENDFIX              [ END OF CHAIN?  
73KW          BCS      WEND3               [ YES - BRANCH   
745G          LDX   0  ATYPE(1) 
74K6          SRL   0  12   
754Q          TXU   0  0(2)                [ MATCH? 
75JB          BCS      WLOP3               [ NO - BRANCH
7642          ADN   6  1                   [ YES - INCREMENT COUNT  
76HL          BRN      WLOP3               [ AND RETURN TO LOOP 
773=    WEND3 EXIT  2  1                   [ EXIT 1 
77GW    [   
782G    [   
78G6    #PAGE   
78^Q    [   
79FB    ZDPSNAPSHOT 
79^2    [THIS S/R COLLECTS 'GFRH' WORDS OF DATA FROM FIXED CORE AND 
7=DL    [VARIOUS CHAINS AND STORES THEM IN THE CURRENT BUFFER   
7=Y=    [INDICATED BY X3. ON EXIT X1=FX1 , X2=FX2, X4 AND X5 DESTROYED  
7?CW    [EXIT 0 IF 'LIMIT OF ONLINE B/S' REACHED
7?XG          LDN   0  FDATE
7#C6          LDN   1  RD(3)
7#WQ          MOVE  0  2                   [DATE
7*BB          LDX   0  CLEANCT  
7*W2          STO   0  RT(3)               [TIME
7B*L          SBX   0  CJTIME   
7BT=          STO   0  RCU(3)              [CORE UNJAMMER ENTERED   
7C#W          LDX   0  ACTPROGS 
7CSG          STO   0  RCI(3)              [CORE IMAGES 
7LM=          COBJUSE   
7M6W          STO   0  ROC(3)              [OBJECT CORE 
7MLG          LDX   0  ACHAP
7N66          STO   0  RGC(3)              [GEORGE CHAPTERS 
7N7Y ...#UNS  ISTDP 
7N9Q ...      COBJUNUSE                    [ "FREE" OBJECT CORE 
7N?J ...#UNS  ISTDP 
7N*B ...#SKI
7NC8 ...(   
7NF2 ...#SKI  G4
7NGS ...(   
7NJL ...      LDX   0  COBJFREE            [ "FREE" OBJECT CORE 
7NLD ...      SLL   0  10   
7NN= ...)   
7NQ4 ...#SKI  G3
7NRW ...      LDX   0  CFREE
7NTN ...)   
7NXG ...#SKI  G3
7N^# ...#UNS  ISTDP 
7P36 ...      ADX   0  CFREE
7P5B          ADX   0  FREZFREE            ['FROZEN'FREECORE
7PK2          STO   0  RF(3)               [FREECORE
7Q4L          LDN   0  GEOTIME  
7QJ=          LDN   1  RGM(3)              [GEORGE MILL 
7R3W          MOVE  0  2
7RHG          LDN   0  GPROGTIME
7S36          LDN   1  ROM(3)              [OBJECT MILL 
7SGQ          MOVE  0  2
7T2B          LDN   0  BSFSR
7TG2          LDN   1  RBR(3)              [FILESTORE READS 
7T^L          MOVE  0  2
7WF=          LDN   0  BSFSW
7WYW          LDN   1  RBW(3)              [FILESTORE WRITES
7XDG          MOVE  0  2
7XY6          LDN   0  BSAPS
7YCQ          LDN   1  RST(3)              [SWAP TRANS. 
7YXB          MOVE  0  2
7^C2          LDN   0  BSCHCH   
7^WL          LDN   1  RCT(3)              [CHAPTER TRANS.  
82B=          MOVE  0  2
82TW          LDN   0  FCCHAPFREE   
83*G          LDN   1  RCF(3)              [CHAPTERS FREED  
83T6          MOVE  0  2
84#Q          LDX   0  CHCHCOUNT
84SB          STO   0  RCC(3)              [NO. OF CHAPTER CHANGES  
85#2          HUNTMISB 2,JWELL  
85RL          LDEX  0  JOBENTS+JOBCTS(2)   [ GET BKGND JOB COUNT
86?=          STO   0  RBJ(3)              [ AND STORE  
86QW          LDEX  0  JOBENTS+JOBCTS+JWENTRY(2) [MOP JOB COUNT 
87=G          STO   0  RMJ(3)              [ AND STORE  
87Q6          LDN   1  BCHAP               [CHAIN BASE  
889Q ...      CALL  2  ZDPSCANCH           [CALC. NO. OF BLOCKS ON CHAIN
88PB                   +BSTB+CHAPTER       [OF TYPE 'CHAPTER'   
8992          STO   6  RCH(3)   
89NL          LDX   0  FCCHAPMID
8=8=    [CHAPTERS FREED 'IN-FLIGHT'  BY GETCORE 
8=MW          STO   0  RFM(3)   
8?7G    #OPT IFS=0  
8?M6    #SKI IFS
8#6Q    #SKI
8#LB    (   
8*62    [USAGE BLOCKS ON FILE CHAIN 
8*KL          LDN   1  BFILE               [BASE OF FILE CHAIN  
8B5=          CALL  2  ZDPSCANCH           [CALC. NO. OF BLOCKS 
8BJW                   +FILE+FURB   
8C4G          STO   6  RFC(3)   
8CJ6          LDN   1  BFILE
8D3Q          CALL  2  ZDPSCANCH
8DHB                   +FILE+FUWB   
8F32          ADS   6  RFC(3)   
8FGL    )   
8G2=    #SKI IFS
8GFW    (   
8G^G          BASEFCB OPEN,2               [ FIND 'BASE OF FCB CHAIN'   
8HF6          LDN   6  0                   [ INITIALISE COUNT   
8HYQ    NFCB  NEXTFCB OPEN,2,NLEFT         [ FIND NEXT FCB  
8JDB    NBLK  LDX   2  FPTR(2)             [ NEXT BLOCK ON RING 
8JY2          LDX   0  ATYPE(2)            [ GET TYPE   
8KCL          BXE   0  FILEPLUSFCB,NFCB    [ END OF RING?   
8KX=          TXU   0  FFSFURB             [ FURB?  
8LBW          BCC      YBLK                [ YES - BRANCH   
8LWG          TXU   0  FFSFUWB             [ FUWB?  
8MB6          BCS      NBLK                [ NO - RETURN FOR NEXT   
8MTQ    YBLK  ADN   6  1                   [ INCREMENT BLOCK COUNT  
8N*B          BRN      NBLK                [ AND RETURN FOR NEXT
8NT2    NLEFT STO   6  RFC(3)              [ STORE FILE COUNT   
8P#L    )   
8PS=          LDX   6  HALFFCB             [ COUNT OF HALF-OPEN FCB'S   
8Q?W          STO   6  RHO(3)   
8Q#P ...      IF    ENV, MEEP   
8Q*J ...      THEN  
8QBC ...            LDX   0  3             [- COLLECT VME/B DATA
8QC= ...            ADN   0  RID           [- X3 -> DATA AREA   
8QD5 ...            ADX   0  GEODATUM      [- & DATUMISE
8QDY ...            LDX   2  K31+63        [- X2 -> CONSOLE T/W IN BDT  
8QFR ...            LDX   2  0(2)          [- X2 -> CONSOLE T/W DEVICE LIST 
8QGL ...            LDX   1  FX1
8QHF ...            ADN   1  XECMODE       [- ADDRESS OF EXEC MODE ROUTINE  
8QJ# ...            ADX   1  GEODATUM      [- ABSOLUTE  
8QK7 ...            STO   1  K55+2(2)      [- STORE THIS ADDRESS IN DEVICE LIST 
8QL2 ...            ALLOT 0  2             [- OBEY ROUTINE IN EXEC MODE. ALLOT =
8QLT ...      ELSE  
8QMN ...            LDN   0  EXECIDLE   
8QNH ...            LDN   1  RID(3)        [- EXEC IDLE MILL
8QPB ...            MOVE  0  2  
8QQ9 ...      FI
8QRG          LDX   1  FX1  
8R?6          LDX   2  FX2  
8RQQ          EXIT  7  0
8RS# ...[   
8RTW ...[- ROUTINE TO ISSUE 170 X 600 IN EXEC MODE  
8RXD ...[   
8R^2 ...XECMODE 
8S2J ...      '170  0  600  
8S46 ...      MODE     0
8S5N ...#ORD
8S7= ...      BRN      #20  
8S8S ...#EXT
8S=B    [   
8SQ2    #PAGE   
8T9L    [   
8TBS ...#UNS  ADPIPSET  
8TJ2 ...(   
8TP=    ZDPIPSET
8W8W    [   
8WNG    [ THIS SUBROUTINE CHANGES IP VALUES 
8X86    [   
8XMQ          LDX   4  7
8Y7B          SBX   4  FX1  
8YM2    NEW1  CALL  7  ZDPSPARAM           [ GET IP NAME
8^6L          BRN      ZEND1               [ ABSENT - EXIT OK   
8^L=          SETMODE 3,CLEAN   
925W          SETNCORE 10,2,FILE,FABSNB 
92KG          LDN   0  ZFABSNB(1)   
9356          LDN   1  A1(2)
93JQ          MOVE  0  10   
944B          OPEND ZEND4,3                [ OPEN PARAMINDEX
94J2          MFREE FILE,FABSNB 
953L          CALL  7  ZDPSPARAM           [ GET NEW IP VALUE   
95H=          BRN      ZEND2               [ ABSENT - EXIT 1
962W          CALL  7  ZDPNUMCON           [ CONVERT
96GG          BRN      ZEND2               [ ERROR - EXIT 1 
9726          STEP  
97FQ          MHUNT 1,CPB,CUNI             [ LOCATE IP NAME 
97^B          STO   6  ACOMMUNE1(2)        [ PRESERVE IP VALUE  
98F2          LDEX  6  FRH(3)              [ RECORD HEADER  
98YL          LDN   5  0
99D=          LDN   7  IPLINE   
99XW          DVR   5  7                   [ LOOP COUNT IN X6   
9=CG          STO   6  ACOMMUNE2(2)        [ PRESERVE   
9=X6          LDX   6  ACES                [ SPACE FILL X6  
9?BQ          LDX   7  ACES                [ AND X7 
9?WB          LDX   2  ALOGLEN(1)   
9#B2          SBN   2  APARA+4-JPARNUM     [ X2 = NO. OF WORDS - 4  
9#TL          BPZ   2  ZEND2               [ BRANCH IF TOO MANY 
9**=          LDN   0  APARA(1)            [ TAKE ADDRESS   
9*SW          LDN   1  5                   [ PUT ADDRESS
9B#G          MOVE  0  4(2)                [ TRANSFER NAME  
9BS6          SMO      FX2  
9C?Q          LDX   2  ACOMMUNE2           [ RECOVER LOOP COUNT 
9CRB    NEXT1 TXU   5  IPNAME-A1(3)        [ COMPARE WORD ONE   
9D?2          TXU   6  IPNAME+1-A1(3)      [ WORD TWO AND   
9DQL          TXU   7  IPNAME+2-A1(3)      [ WORD THREE 
9F==          BCC      MATCH               [ BRANCH IF THEY MATCH   
9FPW          ADN   3  IPLINE              [ INCREMENT ADDRESS  
9G9G          BCT   2  NEXT1               [ AND TRY AGAIN  
9GP6    ZEND2 STOZ     5
9H8Q    MATCH SMO      FX2  
9HNB          LDX   3  ACOMMUNE1           [ RECOVER NEW IP VALUE   
9J82          MFREE CPB,CUNI               [ FREE CPB-CUNI  
9JML          CLOSETOP                     [ CLOSE PARAMINDEX   
9K7=          BPZ   5  ZEND3
9KLW          LDN   1  5                   [ POINTER TO NAME
9L6G          INSTPARA ZEND4,1,3,ZEND3     [ CHANGE IP! 
9LL6          BRN      NEW1                [ AND RETURN FOR NEXT
9M5Q    ZEND1 ADN   4  1                   [ EXIT 2 
9MKB    ZEND3 ADN   4  1                   [ VALUE OUT OF RANGE 
9N52    ZEND4 ADX   4  FX1                 [ BREAKIN EXIT   
9NJL          LDX   7  4
9P4=          EXIT  7  0
9PHW    [   
9Q3G    #PAGE   
9Q3Y ...)   
9Q4B ...[   
9Q4S ...      SEGENTRY  ZDPLOGPD
9Q5= ...[   
9Q5N ...[- EFFECTIVELY, THIS SUBROUTINE CALLS THE BMEEP PROCEDURE B3-PERFORMANCE
9Q66 ...[- BY ISSUING A '170 X 601 ORDER. THE BMEEP ROUTINE LOGS DATA ON TRANSFE
9Q6J ...[- THE JOURNAL AND CALLS THE VME/B PROCEDURE LOG-PERFORMANCE-DATA   
9Q72 ...[- X7 USED AS LINK ACCUMULATOR  
9Q7D ...[- ON EXIT X1 = FX1 
9Q7W ...[-         X2 = FX2 
9Q8# ...[-     OTHERS : UNCHANGED   
9Q8Q ...[   
9Q98 ...      IF    ENV,MEEP
9Q9L ...      THEN  
9Q=4 ...            LDX   2  K31+63        [- CONSOLE T/W IN BDT
9Q=G ...            LDX   2  0(2)          [- X2 -> T/W DEVICE LIST 
9Q=Y ...            LDX   1  FX1
9Q?B ...            ADN   1  XEC           [- EXEC MODE ROUTINE 
9Q?S ...            ADX   1  GEODATUM      [- ABSOLUTE ADDRESS  
9Q#= ...            STO   1  K55+2(2)      [- STORE IN DEVICE LIST  
9Q#N ...            ALLOT 0  2             [- CALL ROUTINE IN EXEC MODE ('156)  
9Q*6 ...      FI
9Q*J ...[   
9QB2 ...      LDX   1  FX1  
9QBD ...      LDX   2  FX2  
9QBW ...      EXIT  7  0
9QC# ...[   
9QCQ ...XEC   '170  0  601  
9QD8 ...      MODE     0
9QDL ...#ORD
9QF4 ...      BRN      #20  
9QFG ...#EXT
9QFY ...[   
9QGB ...#PAGE   
9QH6    [              **************** 
9R2Q    [               ERROR LABELS
9RGB    [                   AND 
9S22    [               STANDARD EXITS  
9SFL    [              **************** 
9S^=          ZERRORY                      [COMPILE S/R 
9TDW    TIDYFILE
9TYG          LDX   2  FX2  
9WD6          LDX   0  AWORK1(2)
9WXQ          BNZ   0  (5)                 [ NO FILE TO CLOSE - EXIT
9XCB          SBX   5  FX1  
9XX2          CLOSE 
9YBL          ADX   5  FX1  
9YW=          EXIT  5  0
9^*W    ZDPJPARMIS  
9^TG          CALL  5  TIDYFILE 
=2*6          ZERRORX  JPARMIS             [PARAMETER MISSING   
=2SQ    ZDPJOURA
=3#B          CALL  5  TIDYFILE 
=3S2          ZERRORX  JOURA               [PARAMETER OUT OF RANGE  
=4?L    ZDPAPFERR   
=4R=          CALL  5  TIDYFILE 
=5=W          ZERRORX  APFERR              [PARAMETER FORMAT ERROR  
=5D4 ...ZDPENDCOM1  
=5K= ...      CALL  7  ZDPLOGPD 
=5QG    ZDPENDCOM   
=6=6          CALL  5  TIDYFILE 
=6PQ          ENDCOM
=79B    ZDPCOMBRKIN 
=7P2          CALL  5  TIDYFILE 
=88L          COMBRKIN  
=8N=    [              **************** 
=97W    [   
=9MG    [              ENTRY POINT  
==76    [   
==LQ    [              **************** 
=?6B    ZK1 
=?L2    [ENTRY FROM ZP COMMAND. WE EXTRACT MODULE NUMBER AND LEAP   
=#5L    [INTO BRANCH TABLE  
=#K=          CALL  7  ZDPSPARAM           [PICK UP PARAMETER   
=*4W          BRN      ZDPJPARMIS          [ERROR   
=*JG          CALL  7  ZDPNUMCON           [CONVERT MODULE NUMBER   
=B46          BRN      ZDPAPFERR           [ERROR   
=BHQ          ORS   1  ADPSUICIDE          [ UNSET POSSIBLE CRASH CLOSE 
=C3B          NGS   1  AWORK1(2)
=CH2          SBN   6  2
=D2L          BNZ   6  ZZ2  
=DG=          CALL  7  ZDPOPENFILE  
=D^W          BRN      ZDPCOMBRKIN  
=FFG          BRN      ZDPAPFERR
=F^6          CALL  7  ZDPFINTIME          [ GET FINISH TIME
=GDQ          BRN      ZDPENDCOM
=GKY ...#UNS  ADPIPSET  
=GR6 ...(   
=GYB          CALL  7  ZDPIPSET            [ CHANGE IP'S
=HD2          BRN      ZDPCOMBRKIN  
=HXL          BRN      ZDPJOURA 
=J7D ...)   
=JC=          LDEX  0  ADPJOBCT            [ GET NO. OF WAITING ZP 9'S  
=JWW          STO   0  AWORK4(2)           [ AND STORE IN AWORK4
=KBG          STO   0  ADPJOBCT            [ UNSET POSSIBLE CRASH CLOSE 
=KW6 ...      BZE   0  SLOPA               [ BRANCH IF NONE 
=L*Q          LDN   0  9
=LTB          LONGON1 APERFSTYLE,0         [ WAKE UP 'ZP 9' JOBS
=M58 ...SLOPA CALL  7  ZDPLOGPD 
=M*2 ...SLOOP LDN   4  RFRH                [ RECORD LENGTH  
=MSL          CALL  7  ZDPSTEP             [ SET UP BUFFER  
=N#=          BRN      ZDPENDCOM           [ ERROR  
=NRW          CALL  7  ZDPSNAPSHOT         [ COLLECT SNAPSHOT DATA  
=P?G          CALL  7  ZDPCHECTIM          [ TIME EXPIRED?  
=PR6 ...      BRN      ZDPENDCOM1          [ YES - ENDCOM   
=Q=Q          LDX   0  ADPJOBCT            [ GET NO. OF JOBS WAITING
=QQB          BZE   0  NOJBS               [ ZERO - IGNORE  
=R=2          TXL   0  AWORK4(2)           [ CRASH CLOSE OR JOBS FINISHED?  
=RPL          BCC      ZDPENDCOM           [ YES - ENDCOM   
=S9=    NOJBS COOR4 ADPSTYLE               [ WAIT 4 SECS.   
=SNW          BRN      SLOOP               [ AND RETURN TO LOOP 
=T8G ...ZZ2   SBN   6  6
=TN6          BNZ   6  ZZ8  
=W7Q          CALL  7  ZDPSPARAM
=WMB          BRN      ZDPJPARMIS   
=X72          CALL  7  ZDPNUMCON
=XLL          BRN      ZDPENDCOM
=Y6=          SBN   6  2
=YKW          BNZ   6  ZDPJOURA 
=^5G          LDCT  0  #400 
=^K6          ORS   0  ADPJOBCT 
?24Q          BRN      ZDPENDCOM
?2JB    ZZ8   SBN   6  1
?342          BNZ   6  ZZ9  
?3HL          LDN   5  1                   [ SET X5 = 1 AND 
?43=          ADS   5  ADPJOBCT            [ INCREMENT JOB COUNT
?4GW          LDX   0  BITS22LS 
?52G          ANDS  0  ADPSUICIDE          [ UNSET POSSIBLE SUICIDE 
?5=# ...      LDN   7  9
?5G6 ...      LONGOFF   
?5PY ...      LONGSET APERFSTYLE,ZWT,7  
?5^Q ...      LONGSTOP ZWT,,AWAIT,ZWT1  
?69J ...ZWT   SBS   5  ADPJOBCT            [ DECREMENT JOB WAIT COUNT   
?6FB ...      LDXC  0  ADPSUICIDE          [ SUICIDE?   
?6^2 ...      BCC      ZDPENDCOM           [ NO - ENDCOM
?7DL          SETNCORE 10,3,ADATA,CREADL   [ YES - EJ   
?7Y=          LDN   0  #4   
?8CW          STO   0  A1(3)
?8XG          LDX   0  WEND(1)  
?9C6          STO   0  A1+2(3)  
?9WQ          ISSUCOMB ZEND,ZEND
?=BB    ZEND  BRN   ZDPENDCOM   
?=W2    WEND           #45522020
??*L    ZZ9   SBN   6  15   
??T=          BNZ   6  ZZ24 
?##W          LDCT  0  #400 
?#SG          ANDS  0  ADPSUICIDE   
?*#6          BRN      ZDPENDCOM
?*RQ    ZZ24  SBN   6  1
?B?B ...      BNZ   6  ZZ31 
?BR2          LDCT  0  #400 
?C=L          ORS   0  ADPSUICIDE   
?CCS ...      LDN   0  9
?CK2 ...      LONGON1 APERFSTYLE,0  
?CQ=          BRN      ZDPENDCOM
?CST ...ZZ31  SBN   6  6
?CXD ...      BNZ   6  ZDPJOURA 
?D23 ...      OUTNUM   AFREE,7             [- O/P'S AFREE AS A 7 DIGIT  
?D4L ...      MONOUT   ADPCOMMENT          [- NO. IN COMMENT CATEGORY   
?D79 ...      BRN      ZDPENDCOM
?D9W ...#END
^^^^ ...507014220002
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1