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