User Tools

Site Tools


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

Common COMPCPE

3 Modifications

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M01S00001.compcpe +++|          CTEXT  COMPCPE - CALCULATE PRIORITY OR ENTRY TIME.
00002  M01S00002.compcpe +++|          SPACE  4,10
00003  M01S00003.compcpe +++|          IF     -DEF,QUAL$,1
00004  M01S00004.compcpe +++|          QUAL   COMPCPE
00005  M01S00005.compcpe +++|          BASE   M
00006  M01S00006.compcpe +++|*COMMENT  COMPCPE - CALCULATE PRIORITY OR ENTRY TIME.
Line S00007 Modification History
M01 (Added by) compcpe
M02 (Updated by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00007  M02S00007.281l803 ---|*         COMMENT COPYRIGHT CONTROL DATA CORPORATION. 1981.
00008  M01S00001.281l803 +++|*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00009  M01S00008.compcpe +++| CPE      SPACE  4,10
00010  M01S00009.compcpe +++|***       CPE - CALCULATE PRIORITY OR ENTRY TIME.
00011  M01S00010.compcpe +++|*
00012  M01S00011.compcpe +++|*         R. M. DANISCH      81/02/05.
00013  M01S00012.compcpe +++| CPE      SPACE  4,10
00014  M01S00013.compcpe +++|***              *CPE* CONTAINS ROUTINES TO CALCULATE A PRIORITY FROM A
00015  M01S00014.compcpe +++|*         GIVEN ENTRY TIME AND CONVERT A PRIORITY TO AN ENTRY TIME.
00016  M01S00015.compcpe +++|*         ASSEMBLY OF ROUTINES WITHIN THIS COMMON DECK IS CONTROLLED BY
00017  M01S00016.compcpe +++|*         SELECTIVELY DEFINING THE FOLLOWING SYMBOLS -
00018  M01S00017.compcpe +++|*                CPR$        CAUSES ASSEMBLY OF SUBROUTINE *CPR*
00019  M01S00018.compcpe +++|*                CET$        CAUSES ASSEMBLY OF SUBROUTINE *CET*
00020  M01S00019.compcpe +++|*                IOQ$        CAUSES ASSEMBLY OF QUEUE PRIORITY CODE IN
00021  M01S00020.compcpe +++|*                            SUBROUTINE *CPR*
00022  M01S00021.compcpe +++|
00023  M01S00022.compcpe +++| .CPR     IF     DEF,CPR$
00024  M01S00023.compcpe +++| CPR      SPACE  4,25
00025  M01S00024.compcpe +++|**        CPR - CALCULATE PRIORITY.
00026  M01S00025.compcpe +++|*
00027  M01S00026.compcpe +++|*                *CPR* CALCULATES QUEUE AND SCHEDULING PRIORITIES VIA
00028  M01S00027.compcpe +++|*         THE FOLLOWING FORMULA -
00029  M01S00028.compcpe +++|*
00030  M01S00029.compcpe +++|*                PR = LB + (CT - ET) / WF
00031  M01S00030.compcpe +++|*
00032  M01S00031.compcpe +++|*                   WHERE    PR = CALCULATED PRIORITY
00033  M01S00032.compcpe +++|*                            LB = LOWER BOUND PRIORITY OF SERVICE CLASS
00034  M01S00033.compcpe +++|*                            WF = WEIGHTING FACTOR FROM JCB
00035  M01S00034.compcpe +++|*                            CT = CURRENT TIME (SECONDS PORTION OF WORD
00036  M01S00035.compcpe +++|*                                 *RTCL*)
00037  M01S00036.compcpe +++|*                            ET = ENTRY TIME FROM EJT OR IOQT ENTRY
00038  M01S00037.compcpe +++|*
00039  M01S00038.compcpe +++|*         ENTRY  (A) = 6/  SC,12/  QT.
00040  M01S00039.compcpe +++|*                      SC    SERVICE CLASS (MUST BE .LT. *MXJC*).
00041  M01S00040.compcpe +++|*                      QT    QUEUE TYPE (*INQT*, *EXQT* OR *OTQT*).
00042  M01S00041.compcpe +++|*                (T1 - T2) = ENTRY TIME.
00043  M01S00042.compcpe +++|*
00044  M01S00043.compcpe +++|*         EXIT   (A) = QUEUE PRIORITY OR SCHEDULING PRIORITY.
00045  M01S00044.compcpe +++|*                    = 0 IF *IOQ$* IS DEFINED AND ENTRY TIME = 0.
00046  M01S00045.compcpe +++|*                    .LT. 0 IF NO JCB IS DEFINED FOR SERVICE CLASS.
00047  M01S00046.compcpe +++|*
00048  M01S00047.compcpe +++|*         USES   CM - CM+4.
00049  M01S00048.compcpe +++|*
00050  M01S00049.compcpe +++|*         CALLS  RJC.
00051  M01S00050.compcpe +++|*
00052  M01S00051.compcpe +++|*         XREF   COMPRJC, COMSPIM.
00053  M01S00052.compcpe +++|*
00054  M01S00053.compcpe +++|*         NOTE   THE LARGEST RESOLVED CLOCK DIFFERENCE IS
00055  M01S00054.compcpe +++|*                377777.  ANYTHING OVER THAT IS ASSUMED TO BE
00056  M01S00055.compcpe +++|*                EQUAL TO UPPER BOUND PRIORITY.
00057  M01S00056.compcpe +++|
00058  M01S00057.compcpe +++|
00059  M01S00058.compcpe +++| CPR3     LCN    0           INDICATE NO JCB FOR SERVICE CLASS
00060  M01S00059.compcpe +++|
00061  M01S00060.compcpe +++| CPR      SUBR               ENTRY/EXIT
00062  M01S00061.compcpe +++|          STM    CPRA        SAVE QUEUE TYPE
00063  M01S00062.compcpe +++|          SHN    -14
00064  M01S00001.pcpe2   +++|          ZJN    CPR3        IF NO SERVICE CLASS
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  M01S00063.compcpe +++|          RJM    RJC         CALCULATE JCB ADDRESS
00070  M01S00064.compcpe +++|          ZJN    CPR3        IF NO JCB FOR SERVICE CLASS
00071  M01S00065.compcpe +++|          ADC    **          READ QUEUE CONTROL WORD FROM JCB
00072  M01S00066.compcpe +++| CPRA     EQU    *-1         (QUEUE TYPE - USED AS JCB WORD INDEX)
00073  M01S00067.compcpe +++|          CRD    CM
00074  M01S00068.compcpe +++|
00075  M01S00069.compcpe +++| .IOQ     IF     DEF,IOQ$
00076  M01S00070.compcpe +++|
00077  M01S00071.compcpe +++|          LDD    T1
00078  M01S00072.compcpe +++|          ADD    T2
00079  M01S00073.compcpe +++|          ZJN    CPRX        IF ENTRY TIME = 0
00080  M01S00074.compcpe +++|
00081  M01S00075.compcpe +++| .IOQ     ENDIF
00082  M01S00076.compcpe +++|
00083  M01S00077.compcpe +++|          LDC    SHNI+77     USE WEIGHTING FACTOR AS SHIFT COUNT
00084  M01S00078.compcpe +++|          SBD    CM+3
00085  M01S00079.compcpe +++|          STM    CPRB
00086  M01S00080.compcpe +++|          LDD    CM+1        SAVE LOWER AND UPPER BOUNDS
00087  M01S00081.compcpe +++|          STM    CPRC
00088  M01S00082.compcpe +++|          LDD    CM+2
00089  M01S00083.compcpe +++|          STM    CPRD
00090  M01S00084.compcpe +++|          LDC    RTCL        READ REAL-TIME CLOCK
00091  M01S00085.compcpe +++|          CRD    CM
00092  M01S00086.compcpe +++|          SOD    CM
00093  M01S00087.compcpe +++|          LDD    CM+1
00094  M01S00088.compcpe +++|          ADC    10000
00095  M01S00089.compcpe +++|          SBD    T2
00096  M01S00090.compcpe +++|          STD    CM+4
00097  M01S00091.compcpe +++|          SHN    -14
00098  M01S00092.compcpe +++|          ADD    CM
00099  M01S00093.compcpe +++|          SBD    T1
00100  M01S00094.compcpe +++|          STD    CM+3
00101  M01S00095.compcpe +++|          SCN    37
00102  M01S00096.compcpe +++|          NJN    CPR1        IF .GT. MAXIMUM VALUE
00103  M01S00097.compcpe +++|          LDD    CM+3
00104  M01S00098.compcpe +++|          SHN    14
00105  M01S00099.compcpe +++|          LMD    CM+4
00106  M01S00100.compcpe +++| CPRB     SHN    **
00107  M01S00101.compcpe +++|          ADC    **
00108  M01S00102.compcpe +++| CPRC     EQU    *-1         (LOWER BOUND PRIORITY)
00109  M01S00103.compcpe +++|          SBM    CPRD
00110  M01S00104.compcpe +++|          MJN    CPR2        IF PRIORITY .LT. UPPER BOUND
00111  M01S00105.compcpe +++| CPR1     LDN    0
00112  M01S00106.compcpe +++| CPR2     ADC    **
00113  M01S00107.compcpe +++| CPRD     EQU    *-1         (UPPER BOUND PRIORITY)
00114  M01S00108.compcpe +++|          LJM    CPRX        RETURN
00115  M01S00109.compcpe +++|
00116  M01S00110.compcpe +++| .CPR     ENDIF
00117  M01S00111.compcpe +++|
00118  M01S00112.compcpe +++| .CET     IF     DEF,CET$
00119  M01S00113.compcpe +++| CET      SPACE  4,25
00120  M01S00114.compcpe +++|**        CET - CALCULATE ENTRY TIME.
00121  M01S00115.compcpe +++|*
00122  M01S00116.compcpe +++|*                *CET* CALCULATES ENTRY TIME VIA THE FOLLOWING
00123  M01S00117.compcpe +++|*         FORMULA -
00124  M01S00118.compcpe +++|*
00125  M01S00119.compcpe +++|*                ET = CT - (PR - LB) * WF
00126  M01S00120.compcpe +++|*
00127  M01S00121.compcpe +++|*                   WHERE    ET = ENTRY TIME
00128  M01S00122.compcpe +++|*                            CT = CURRENT TIME (SECONDS PORTION OF WORD
00129  M01S00123.compcpe +++|*                                 *RTCL*)
00130  M01S00124.compcpe +++|*                            PR = QUEUE OR SCHEDULING PRIORITY
00131  M01S00125.compcpe +++|*                            LB = LOWER BOUND PRIORITY OF SERVICE CLASS
00132  M01S00126.compcpe +++|*                            WF = WEIGHTING FACTOR FROM JCB
00133  M01S00127.compcpe +++|*
00134  M01S00128.compcpe +++|*                IF PR = 0 THEN ET = 0.
00135  M01S00129.compcpe +++|*                IF PR .LT. LB THEN ET = CT.
00136  M01S00130.compcpe +++|*
00137  M01S00131.compcpe +++|*         ENTRY  (A) = 6/  SC,12/  QT.
00138  M01S00132.compcpe +++|*                      SC    SERVICE CLASS (MUST BE .LT. *MXJC*).
00139  M01S00133.compcpe +++|*                      QT    QUEUE TYPE (*INQT*, *EXQT*, OR *OTQT*).
00140  M01S00134.compcpe +++|*                (T1) = QUEUE PRIORITY OR SCHEDULING PRIORITY.
00141  M01S00135.compcpe +++|*
00142  M01S00136.compcpe +++|*         EXIT   (T1 - T2) = ENTRY TIME.
00143  M01S00137.compcpe +++|*                          = 0 IF PRIORITY = 0.
00144  M01S00138.compcpe +++|*
00145  M01S00139.compcpe +++|*         USES   T1, T2, CM - CM+4.
00146  M01S00140.compcpe +++|*
00147  M01S00141.compcpe +++|*         CALLS  RJC.
00148  M01S00142.compcpe +++|*
00149  M01S00143.compcpe +++|*         XREF   COMPRJC, COMSPIM.
00150  M01S00144.compcpe +++|*
00151  M01S00145.compcpe +++|*         NOTE   *CET* DOES NOT CONSIDER THE CASE WHERE THE DESIRED
00152  M01S00146.compcpe +++|*                PRIORITY IS GREATER THAN THE UPPER BOUND FOR THE
00153  M01S00147.compcpe +++|*                SERVICE CLASS. *CPR* WILL ADJUST THE PRIORITY
00154  M01S00148.compcpe +++|*                APPROPRIATELY WHEN IT IS BEING CALCULATED.
00155  M01S00149.compcpe +++|*
00156  M01S00150.compcpe +++|*                THE MINIMUM *RTCL* VALUE MUST EXCEED 377740
00157  M01S00151.compcpe +++|*                AS PRESET BY *SET* AND MAINTAINED BY *MTR*.
00158  M01S00152.compcpe +++|
00159  M01S00153.compcpe +++|
00160  M01S00154.compcpe +++| CET2     STD    T2
00161  M01S00155.compcpe +++|
00162  M01S00156.compcpe +++| CET      SUBR               ENTRY/EXIT
00163  M01S00157.compcpe +++|          STD    T2          SAVE QUEUE TYPE
00164  M01S00158.compcpe +++|          SHN    -14
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  M01S00159.compcpe +++|          RJM    RJC         CALCULATE JCB ADDRESS
00170  M01S00160.compcpe +++|          ADD    T2          READ QUEUE CONTROL WORD FROM JCB
00171  M01S00161.compcpe +++|          CRD    CM
00172  M01S00162.compcpe +++|          LDD    CM+3        USE WEIGHTING FACTOR AS SHIFT COUNT
00173  M01S00163.compcpe +++|          ADD    TH          *SHNI* INSTRUCTION
00174  M01S00164.compcpe +++|          ERRNZ  SHNI-1000
00175  M01S00165.compcpe +++|          STM    CETA
00176  M01S00166.compcpe +++|          LDD    T1
00177  M01S00167.compcpe +++|          ZJN    CET2        IF PRIORITY = 0
00178  M01S00168.compcpe +++|          SBD    CM+1
00179  M01S00169.compcpe +++|          PJN    CET1        IF PRIORITY .GE. LOWER BOUND
00180  M01S00170.compcpe +++|          LDN    0
00181  M01S00171.compcpe +++| CET1     SHN    **
00182  M01S00172.compcpe +++| CETA     EQU    *-1
00183  M01S00173.compcpe +++|          STD    T2
00184  M01S00174.compcpe +++|          SHN    -14
00185  M01S00175.compcpe +++|          STD    T1
00186  M01S00176.compcpe +++|          LDC    RTCL        READ REAL-TIME CLOCK
00187  M01S00177.compcpe +++|          CRD    CM
00188  M01S00178.compcpe +++|          SOD    CM
00189  M01S00179.compcpe +++|          LDD    CM+1
00190  M01S00180.compcpe +++|          ADC    10000
00191  M01S00181.compcpe +++|          SBD    T2
00192  M01S00182.compcpe +++|          STD    T2          SET ENTRY TIME
00193  M01S00183.compcpe +++|          SHN    -14
00194  M01S00184.compcpe +++|          ADD    CM
00195  M01S00185.compcpe +++|          SBD    T1
00196  M01S00186.compcpe +++|          STD    T1
00197  M01S00187.compcpe +++|          LJM    CETX        RETURN
00198  M01S00188.compcpe +++|
00199  M01S00189.compcpe +++| .CET     ENDIF
00200  M01S00190.compcpe +++| CET      SPACE  4,10
00201  M01S00191.compcpe +++|          BASE   *
00202  M01S00192.compcpe +++| QUAL$    IF     -DEF,QUAL$
00203  M01S00193.compcpe +++|          QUAL   *
00204  M01S00194.compcpe +++| CPR$     IF     DEF,CPR$
00205  M01S00195.compcpe +++| CPR      EQU    /COMPCPE/CPR
00206  M01S00196.compcpe +++| CPR$     ENDIF
00207  M01S00197.compcpe +++| CET$     IF     DEF,CET$
00208  M01S00198.compcpe +++| CET      EQU    /COMPCPE/CET
00209  M01S00199.compcpe +++| CET$     ENDIF
00210  M01S00200.compcpe +++| QUAL$    ENDIF
00211  M01S00201.compcpe +++|          ENDX
cdc/nos2.source/opl.opl871/common/compcpe.txt ยท Last modified: by 127.0.0.1