User Tools

Site Tools


cdc:nos2.source:opl.opl871:common:compcpe

Common COMPCPE

Library Member Format: MODIFY

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M00S00001.compcpe +++|          CTEXT  COMPCPE - CALCULATE PRIORITY OR ENTRY TIME.
00002  M00S00002.compcpe +++|          SPACE  4,10
00003  M00S00003.compcpe +++|          IF     -DEF,QUAL$,1
00004  M00S00004.compcpe +++|          QUAL   COMPCPE
00005  M00S00005.compcpe +++|          BASE   M
00006  M00S00006.compcpe +++|*COMMENT  COMPCPE - CALCULATE PRIORITY OR ENTRY TIME.
Line S00007 Modification History
M01 (Removed by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00007  M01S00007.281l803 ---|*         COMMENT COPYRIGHT CONTROL DATA CORPORATION. 1981.
Line S00001 Modification History
M01 (Added by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00008  M01S00001.281l803 +++|*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00009  M00S00008.compcpe +++| CPE      SPACE  4,10
00010  M00S00009.compcpe +++|***       CPE - CALCULATE PRIORITY OR ENTRY TIME.
00011  M00S00010.compcpe +++|*
00012  M00S00011.compcpe +++|*         R. M. DANISCH      81/02/05.
00013  M00S00012.compcpe +++| CPE      SPACE  4,10
00014  M00S00013.compcpe +++|***              *CPE* CONTAINS ROUTINES TO CALCULATE A PRIORITY FROM A
00015  M00S00014.compcpe +++|*         GIVEN ENTRY TIME AND CONVERT A PRIORITY TO AN ENTRY TIME.
00016  M00S00015.compcpe +++|*         ASSEMBLY OF ROUTINES WITHIN THIS COMMON DECK IS CONTROLLED BY
00017  M00S00016.compcpe +++|*         SELECTIVELY DEFINING THE FOLLOWING SYMBOLS -
00018  M00S00017.compcpe +++|*                CPR$        CAUSES ASSEMBLY OF SUBROUTINE *CPR*
00019  M00S00018.compcpe +++|*                CET$        CAUSES ASSEMBLY OF SUBROUTINE *CET*
00020  M00S00019.compcpe +++|*                IOQ$        CAUSES ASSEMBLY OF QUEUE PRIORITY CODE IN
00021  M00S00020.compcpe +++|*                            SUBROUTINE *CPR*
00022  M00S00021.compcpe +++|
00023  M00S00022.compcpe +++| .CPR     IF     DEF,CPR$
00024  M00S00023.compcpe +++| CPR      SPACE  4,25
00025  M00S00024.compcpe +++|**        CPR - CALCULATE PRIORITY.
00026  M00S00025.compcpe +++|*
00027  M00S00026.compcpe +++|*                *CPR* CALCULATES QUEUE AND SCHEDULING PRIORITIES VIA
00028  M00S00027.compcpe +++|*         THE FOLLOWING FORMULA -
00029  M00S00028.compcpe +++|*
00030  M00S00029.compcpe +++|*                PR = LB + (CT - ET) / WF
00031  M00S00030.compcpe +++|*
00032  M00S00031.compcpe +++|*                   WHERE    PR = CALCULATED PRIORITY
00033  M00S00032.compcpe +++|*                            LB = LOWER BOUND PRIORITY OF SERVICE CLASS
00034  M00S00033.compcpe +++|*                            WF = WEIGHTING FACTOR FROM JCB
00035  M00S00034.compcpe +++|*                            CT = CURRENT TIME (SECONDS PORTION OF WORD
00036  M00S00035.compcpe +++|*                                 *RTCL*)
00037  M00S00036.compcpe +++|*                            ET = ENTRY TIME FROM EJT OR IOQT ENTRY
00038  M00S00037.compcpe +++|*
00039  M00S00038.compcpe +++|*         ENTRY  (A) = 6/  SC,12/  QT.
00040  M00S00039.compcpe +++|*                      SC    SERVICE CLASS (MUST BE .LT. *MXJC*).
00041  M00S00040.compcpe +++|*                      QT    QUEUE TYPE (*INQT*, *EXQT* OR *OTQT*).
00042  M00S00041.compcpe +++|*                (T1 - T2) = ENTRY TIME.
00043  M00S00042.compcpe +++|*
00044  M00S00043.compcpe +++|*         EXIT   (A) = QUEUE PRIORITY OR SCHEDULING PRIORITY.
00045  M00S00044.compcpe +++|*                    = 0 IF *IOQ$* IS DEFINED AND ENTRY TIME = 0.
00046  M00S00045.compcpe +++|*                    .LT. 0 IF NO JCB IS DEFINED FOR SERVICE CLASS.
00047  M00S00046.compcpe +++|*
00048  M00S00047.compcpe +++|*         USES   CM - CM+4.
00049  M00S00048.compcpe +++|*
00050  M00S00049.compcpe +++|*         CALLS  RJC.
00051  M00S00050.compcpe +++|*
00052  M00S00051.compcpe +++|*         XREF   COMPRJC, COMSPIM.
00053  M00S00052.compcpe +++|*
00054  M00S00053.compcpe +++|*         NOTE   THE LARGEST RESOLVED CLOCK DIFFERENCE IS
00055  M00S00054.compcpe +++|*                377777.  ANYTHING OVER THAT IS ASSUMED TO BE
00056  M00S00055.compcpe +++|*                EQUAL TO UPPER BOUND PRIORITY.
00057  M00S00056.compcpe +++|
00058  M00S00057.compcpe +++|
00059  M00S00058.compcpe +++| CPR3     LCN    0           INDICATE NO JCB FOR SERVICE CLASS
00060  M00S00059.compcpe +++|
00061  M00S00060.compcpe +++| CPR      SUBR               ENTRY/EXIT
00062  M00S00061.compcpe +++|          STM    CPRA        SAVE QUEUE TYPE
00063  M00S00062.compcpe +++|          SHN    -14
Line S00001 Modification History
M01 (Added by) pcpe2
Seq #  *Modification Id* Act 
----------------------------+
00064  M01S00001.pcpe2   +++|          ZJN    CPR3        IF NO SERVICE CLASS
Line S00001 Modification History
M01 (Added by) pcpe1
Seq #  *Modification Id* Act 
----------------------------+
00065  M01S00001.pcpe1   +++|          LMN    DSSC
00066  M01S00002.pcpe1   +++|          NJN    CPR0        IF NOT DEADSTART SEQUENCING SERVICE CLASS
00067  M01S00003.pcpe1   +++|          LMN    SSSC&DSSC   USE JCB FOR SUBSYSTEM SERVICE CLASS
00068  M01S00004.pcpe1   +++| CPR0     LMN    DSSC
00069  M00S00063.compcpe +++|          RJM    RJC         CALCULATE JCB ADDRESS
00070  M00S00064.compcpe +++|          ZJN    CPR3        IF NO JCB FOR SERVICE CLASS
00071  M00S00065.compcpe +++|          ADC    **          READ QUEUE CONTROL WORD FROM JCB
00072  M00S00066.compcpe +++| CPRA     EQU    *-1         (QUEUE TYPE - USED AS JCB WORD INDEX)
00073  M00S00067.compcpe +++|          CRD    CM
00074  M00S00068.compcpe +++|
00075  M00S00069.compcpe +++| .IOQ     IF     DEF,IOQ$
00076  M00S00070.compcpe +++|
00077  M00S00071.compcpe +++|          LDD    T1
00078  M00S00072.compcpe +++|          ADD    T2
00079  M00S00073.compcpe +++|          ZJN    CPRX        IF ENTRY TIME = 0
00080  M00S00074.compcpe +++|
00081  M00S00075.compcpe +++| .IOQ     ENDIF
00082  M00S00076.compcpe +++|
00083  M00S00077.compcpe +++|          LDC    SHNI+77     USE WEIGHTING FACTOR AS SHIFT COUNT
00084  M00S00078.compcpe +++|          SBD    CM+3
00085  M00S00079.compcpe +++|          STM    CPRB
00086  M00S00080.compcpe +++|          LDD    CM+1        SAVE LOWER AND UPPER BOUNDS
00087  M00S00081.compcpe +++|          STM    CPRC
00088  M00S00082.compcpe +++|          LDD    CM+2
00089  M00S00083.compcpe +++|          STM    CPRD
00090  M00S00084.compcpe +++|          LDC    RTCL        READ REAL-TIME CLOCK
00091  M00S00085.compcpe +++|          CRD    CM
00092  M00S00086.compcpe +++|          SOD    CM
00093  M00S00087.compcpe +++|          LDD    CM+1
00094  M00S00088.compcpe +++|          ADC    10000
00095  M00S00089.compcpe +++|          SBD    T2
00096  M00S00090.compcpe +++|          STD    CM+4
00097  M00S00091.compcpe +++|          SHN    -14
00098  M00S00092.compcpe +++|          ADD    CM
00099  M00S00093.compcpe +++|          SBD    T1
00100  M00S00094.compcpe +++|          STD    CM+3
00101  M00S00095.compcpe +++|          SCN    37
00102  M00S00096.compcpe +++|          NJN    CPR1        IF .GT. MAXIMUM VALUE
00103  M00S00097.compcpe +++|          LDD    CM+3
00104  M00S00098.compcpe +++|          SHN    14
00105  M00S00099.compcpe +++|          LMD    CM+4
00106  M00S00100.compcpe +++| CPRB     SHN    **
00107  M00S00101.compcpe +++|          ADC    **
00108  M00S00102.compcpe +++| CPRC     EQU    *-1         (LOWER BOUND PRIORITY)
00109  M00S00103.compcpe +++|          SBM    CPRD
00110  M00S00104.compcpe +++|          MJN    CPR2        IF PRIORITY .LT. UPPER BOUND
00111  M00S00105.compcpe +++| CPR1     LDN    0
00112  M00S00106.compcpe +++| CPR2     ADC    **
00113  M00S00107.compcpe +++| CPRD     EQU    *-1         (UPPER BOUND PRIORITY)
00114  M00S00108.compcpe +++|          LJM    CPRX        RETURN
00115  M00S00109.compcpe +++|
00116  M00S00110.compcpe +++| .CPR     ENDIF
00117  M00S00111.compcpe +++|
00118  M00S00112.compcpe +++| .CET     IF     DEF,CET$
00119  M00S00113.compcpe +++| CET      SPACE  4,25
00120  M00S00114.compcpe +++|**        CET - CALCULATE ENTRY TIME.
00121  M00S00115.compcpe +++|*
00122  M00S00116.compcpe +++|*                *CET* CALCULATES ENTRY TIME VIA THE FOLLOWING
00123  M00S00117.compcpe +++|*         FORMULA -
00124  M00S00118.compcpe +++|*
00125  M00S00119.compcpe +++|*                ET = CT - (PR - LB) * WF
00126  M00S00120.compcpe +++|*
00127  M00S00121.compcpe +++|*                   WHERE    ET = ENTRY TIME
00128  M00S00122.compcpe +++|*                            CT = CURRENT TIME (SECONDS PORTION OF WORD
00129  M00S00123.compcpe +++|*                                 *RTCL*)
00130  M00S00124.compcpe +++|*                            PR = QUEUE OR SCHEDULING PRIORITY
00131  M00S00125.compcpe +++|*                            LB = LOWER BOUND PRIORITY OF SERVICE CLASS
00132  M00S00126.compcpe +++|*                            WF = WEIGHTING FACTOR FROM JCB
00133  M00S00127.compcpe +++|*
00134  M00S00128.compcpe +++|*                IF PR = 0 THEN ET = 0.
00135  M00S00129.compcpe +++|*                IF PR .LT. LB THEN ET = CT.
00136  M00S00130.compcpe +++|*
00137  M00S00131.compcpe +++|*         ENTRY  (A) = 6/  SC,12/  QT.
00138  M00S00132.compcpe +++|*                      SC    SERVICE CLASS (MUST BE .LT. *MXJC*).
00139  M00S00133.compcpe +++|*                      QT    QUEUE TYPE (*INQT*, *EXQT*, OR *OTQT*).
00140  M00S00134.compcpe +++|*                (T1) = QUEUE PRIORITY OR SCHEDULING PRIORITY.
00141  M00S00135.compcpe +++|*
00142  M00S00136.compcpe +++|*         EXIT   (T1 - T2) = ENTRY TIME.
00143  M00S00137.compcpe +++|*                          = 0 IF PRIORITY = 0.
00144  M00S00138.compcpe +++|*
00145  M00S00139.compcpe +++|*         USES   T1, T2, CM - CM+4.
00146  M00S00140.compcpe +++|*
00147  M00S00141.compcpe +++|*         CALLS  RJC.
00148  M00S00142.compcpe +++|*
00149  M00S00143.compcpe +++|*         XREF   COMPRJC, COMSPIM.
00150  M00S00144.compcpe +++|*
00151  M00S00145.compcpe +++|*         NOTE   *CET* DOES NOT CONSIDER THE CASE WHERE THE DESIRED
00152  M00S00146.compcpe +++|*                PRIORITY IS GREATER THAN THE UPPER BOUND FOR THE
00153  M00S00147.compcpe +++|*                SERVICE CLASS. *CPR* WILL ADJUST THE PRIORITY
00154  M00S00148.compcpe +++|*                APPROPRIATELY WHEN IT IS BEING CALCULATED.
00155  M00S00149.compcpe +++|*
00156  M00S00150.compcpe +++|*                THE MINIMUM *RTCL* VALUE MUST EXCEED 377740
00157  M00S00151.compcpe +++|*                AS PRESET BY *SET* AND MAINTAINED BY *MTR*.
00158  M00S00152.compcpe +++|
00159  M00S00153.compcpe +++|
00160  M00S00154.compcpe +++| CET2     STD    T2
00161  M00S00155.compcpe +++|
00162  M00S00156.compcpe +++| CET      SUBR               ENTRY/EXIT
00163  M00S00157.compcpe +++|          STD    T2          SAVE QUEUE TYPE
00164  M00S00158.compcpe +++|          SHN    -14
Line S00005 Modification History
M01 (Added by) pcpe1
Seq #  *Modification Id* Act 
----------------------------+
00165  M01S00005.pcpe1   +++|          LMN    DSSC
00166  M01S00006.pcpe1   +++|          NJN    CET0        IF NOT DEADSTART SEQUENCING SERVICE CLASS
00167  M01S00007.pcpe1   +++|          LMN    SSSC&DSSC   USE JCB FOR SUBSYSTEM SERVICE CLASS
00168  M01S00008.pcpe1   +++| CET0     LMN    DSSC
00169  M00S00159.compcpe +++|          RJM    RJC         CALCULATE JCB ADDRESS
00170  M00S00160.compcpe +++|          ADD    T2          READ QUEUE CONTROL WORD FROM JCB
00171  M00S00161.compcpe +++|          CRD    CM
00172  M00S00162.compcpe +++|          LDD    CM+3        USE WEIGHTING FACTOR AS SHIFT COUNT
00173  M00S00163.compcpe +++|          ADD    TH          *SHNI* INSTRUCTION
00174  M00S00164.compcpe +++|          ERRNZ  SHNI-1000
00175  M00S00165.compcpe +++|          STM    CETA
00176  M00S00166.compcpe +++|          LDD    T1
00177  M00S00167.compcpe +++|          ZJN    CET2        IF PRIORITY = 0
00178  M00S00168.compcpe +++|          SBD    CM+1
00179  M00S00169.compcpe +++|          PJN    CET1        IF PRIORITY .GE. LOWER BOUND
00180  M00S00170.compcpe +++|          LDN    0
00181  M00S00171.compcpe +++| CET1     SHN    **
00182  M00S00172.compcpe +++| CETA     EQU    *-1
00183  M00S00173.compcpe +++|          STD    T2
00184  M00S00174.compcpe +++|          SHN    -14
00185  M00S00175.compcpe +++|          STD    T1
00186  M00S00176.compcpe +++|          LDC    RTCL        READ REAL-TIME CLOCK
00187  M00S00177.compcpe +++|          CRD    CM
00188  M00S00178.compcpe +++|          SOD    CM
00189  M00S00179.compcpe +++|          LDD    CM+1
00190  M00S00180.compcpe +++|          ADC    10000
00191  M00S00181.compcpe +++|          SBD    T2
00192  M00S00182.compcpe +++|          STD    T2          SET ENTRY TIME
00193  M00S00183.compcpe +++|          SHN    -14
00194  M00S00184.compcpe +++|          ADD    CM
00195  M00S00185.compcpe +++|          SBD    T1
00196  M00S00186.compcpe +++|          STD    T1
00197  M00S00187.compcpe +++|          LJM    CETX        RETURN
00198  M00S00188.compcpe +++|
00199  M00S00189.compcpe +++| .CET     ENDIF
00200  M00S00190.compcpe +++| CET      SPACE  4,10
00201  M00S00191.compcpe +++|          BASE   *
00202  M00S00192.compcpe +++| QUAL$    IF     -DEF,QUAL$
00203  M00S00193.compcpe +++|          QUAL   *
00204  M00S00194.compcpe +++| CPR$     IF     DEF,CPR$
00205  M00S00195.compcpe +++| CPR      EQU    /COMPCPE/CPR
00206  M00S00196.compcpe +++| CPR$     ENDIF
00207  M00S00197.compcpe +++| CET$     IF     DEF,CET$
00208  M00S00198.compcpe +++| CET      EQU    /COMPCPE/CET
00209  M00S00199.compcpe +++| CET$     ENDIF
00210  M00S00200.compcpe +++| QUAL$    ENDIF
00211  M00S00201.compcpe +++|          ENDX
cdc/nos2.source/opl.opl871/common/compcpe.txt ยท Last modified: by 127.0.0.1