cdc:nos2.source:opl.opl871:common:comcmtp
Common COMCMTP
Library Member Format: MODIFY
Source
Seq # *Modification Id* Act ----------------------------+ 00001 M00S00001.comcmtp +++| CTEXT COMCMTP - MANAGED TABLE PROCESSORS. 00002 M00S00002.comcmtp +++| SPACE 4 00003 M00S00003.comcmtp +++| IF -DEF,FTAB,1 00004 M00S00004.comcmtp +++| TABLES HERE 00005 M00S00005.comcmtp +++| SPACE 4 00006 M00S00006.comcmtp +++| IF -DEF,QUAL$,1 00007 M00S00007.comcmtp +++| QUAL COMCMTP 00008 M00S00008.comcmtp +++| BASE D
Line S00009 Modification History | |
---|---|
M01 (Removed by) | 281l803 |
Seq # *Modification Id* Act ----------------------------+ 00009 M01S00009.281l803 ---|* COMMENT COPYRIGHT CONTROL DATA CORP. 1970.
Line S00001 Modification History | |
---|---|
M01 (Added by) | 281l803 |
Seq # *Modification Id* Act ----------------------------+ 00010 M01S00001.281l803 +++|* COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. 00011 M00S00010.comcmtp +++| SPACE 4 00012 M00S00011.comcmtp +++|*** COMCMTP - MANAGED TABLE PROCESSORS. 00013 M00S00012.comcmtp +++|* G. R. MANSFIELD. 70/12/20. 00014 M00S00013.comcmtp +++| SPACE 4 00015 M00S00014.comcmtp +++|*** COMCMTP CONTAINS ROUTINES FOR PROCESSING MANAGED 00016 M00S00015.comcmtp +++|* TABLES. MACROS FOR CALLS AND GENERATION ARE CONTAINED 00017 M00S00016.comcmtp +++|* IN COMCMTM. 00018 M00S00017.comcmtp +++|* 00019 M00S00018.comcmtp +++|* 00020 M00S00019.comcmtp +++|* THE MANAGED TABLE PROCESSORS ALLOW THE PARTIONING OF 00021 M00S00020.comcmtp +++|* CENTRAL MEMORY INTO VARIABLE REGIONS (CALLED TABLES). 00022 M00S00021.comcmtp +++|* THESE TABLES ARE REFERENCED BY POINTERS WHICH INDICATE 00023 M00S00022.comcmtp +++|* THE FIRST ADDRESS OF THE TABLE AND THE TABLE LENGTH. 00024 M00S00023.comcmtp +++|* MEMORY IS ALLOCATED TO EACH TABLE AS IT IS REQUIRED AND 00025 M00S00024.comcmtp +++|* THE USER MAY DELETE SPACE FROM THE TABLES. THE USER IS 00026 M00S00025.comcmtp +++|* EXPECTED TO PROVIDE CERTAIN CONSTANTS FOR USE BY THE 00027 M00S00026.comcmtp +++|* TABLE PROCESSORS. EACH TABLE IS ALLOWED AT LEAST 1 WORD 00028 M00S00027.comcmtp +++|* OF EXPANSION SPACE TO ALLOW A DUMMY WORD BETWEEN EACH 00029 M00S00028.comcmtp +++|* TABLE. THIS ALLOWS EFFICIENT SEARCH METHODS TO BE USED. 00030 M00S00029.comcmtp +++|* 00031 M00S00030.comcmtp +++|* 00032 M00S00031.comcmtp +++|* 00033 M00S00032.comcmtp +++|* 00034 M00S00033.comcmtp +++|* *MEML* = LOWEST ADDRESS OF MANAGED MEMORY. 00035 M00S00034.comcmtp +++|* *TOV* = ADDRESS OF TABLE OVERFLOW PROCESSOR. 00036 M00S00035.comcmtp +++|* 00037 M00S00036.comcmtp +++|* DATA PROVIDED BY *COMCMTM*. 00038 M00S00037.comcmtp +++|* 00039 M00S00038.comcmtp +++|* *NTAB* = NUMBER OF MANAGED TABLES. 00040 M00S00039.comcmtp +++|* *FTAB* = START OF TABLE ADDRESSES. 00041 M00S00040.comcmtp +++|* *LTAB* = START OF TABLE LENGTHS. 00042 M00S00041.comcmtp +++|* *F.TNAM* = ADDRESS POINTER FOR TABLE *TNAM*. 00043 M00S00042.comcmtp +++|* *L.TNAM* = LENGTH POINTER FOR TABLE *TNAM*. 00044 M00S00043.comcmtp +++|* *C.TNAM* = WORDS/ENTRY FOR SEARCH ROUTINES. 00045 M00S00044.comcmtp +++|* 00046 M00S00045.comcmtp +++|* DATA DYNAMICALLY CHANGABLE. 00047 M00S00046.comcmtp +++|* 00048 M00S00047.comcmtp +++|* (TN) = NUMBER OF MANAGED TABLES. SET TO *NTAB* BY
Line S00048 Modification History | |
---|---|
M01 (Removed by) | cmtp1 |
Seq # *Modification Id* Act ----------------------------+ 00049 M01S00048.cmtp1 ---|* *COMCMTM*. VALUE MUST BE ;*NTAB* DURING USE.
Line S00001 Modification History | |
---|---|
M01 (Added by) | cmtp1 |
Seq # *Modification Id* Act ----------------------------+ 00050 M01S00001.cmtp1 +++|* *COMCMTM*. VALUE MUST BE .LE. *NTAB* DURING USE. 00051 M00S00049.comcmtp +++|* (TO) = TABLE OVERFLOW PROCESSOR. SET TO *TOV* BY 00052 M00S00050.comcmtp +++|* *COMCMTM*. 00053 M00S00051.comcmtp +++|* (LM) = LOW MEMORY LIMIT. VALUE SET TO *MEML* BY *COMCMTM*. 00054 M00S00052.comcmtp +++|* IF THIS VALUE IS RAISED, *MTU* SHOULD BE CALLED 00055 M00S00053.comcmtp +++|* TO ALLOW ROOM FOR CHANGE. 00056 M00S00054.comcmtp +++|* (F.TEND) = HIGH MEMORY LIMIT. VALUE MUST BE INITIALIZED 00057 M00S00055.comcmtp +++|* BY USER. IF THIS VALUE IS LOWERED, *MTD* SHOULD 00058 M00S00056.comcmtp +++|* BE CALLED TO ALLOW ROOM FOR CHANGE. 00059 M00S00057.comcmtp +++| ADW SPACE 4 00060 M00S00058.comcmtp +++|*** ADW - ADD WORD TO TABLE. 00061 M00S00059.comcmtp +++|* 00062 M00S00060.comcmtp +++|* ENTRY (A0) = TABLE NUMBER. 00063 M00S00061.comcmtp +++|* (X1) = WORD. 00064 M00S00062.comcmtp +++|* 00065 M00S00063.comcmtp +++|* EXIT (X1) = WORD. 00066 M00S00064.comcmtp +++|* (X6) = WORD. 00067 M00S00065.comcmtp +++|* (A6) = ADDRESS OF WORD. 00068 M00S00066.comcmtp +++|* (X2) = FWA TABLE. 00069 M00S00067.comcmtp +++|* (X3) = LENGTH OF TABLE. 00070 M00S00068.comcmtp +++|* 00071 M00S00069.comcmtp +++|* USES X - 1, 2, 3, 4, 6, 7. 00072 M00S00070.comcmtp +++|* B - NONE. 00073 M00S00071.comcmtp +++|* A - 1,2,3,4,6,7. 00074 M00S00072.comcmtp +++|* 00075 M00S00073.comcmtp +++|* CALLS ATS. 00076 M00S00074.comcmtp +++| 00077 M00S00075.comcmtp +++| 00078 M00S00076.comcmtp +++| ADW1 BX6 X1 PLACE ENTRY IN TABLE 00079 M00S00077.comcmtp +++| IX7 X2+X3 00080 M00S00078.comcmtp +++| SA6 X7 00081 M00S00079.comcmtp +++| SX3 X3+B1 00082 M00S00080.comcmtp +++| 00083 M00S00081.comcmtp +++| ADW PS ENTRY/EXIT 00084 M00S00082.comcmtp +++| SA2 FTAB+A0 SET TABLE DIFFERENTIAL 00085 M00S00083.comcmtp +++| SA4 A2+B1 00086 M00S00084.comcmtp +++| IX7 X4-X2 00087 M00S00085.comcmtp +++| SA3 LTAB+A0 CURRENT LENGTH 00088 M00S00086.comcmtp +++| SX6 X3+B1 ADD NEW ENTRY 00089 M00S00087.comcmtp +++| IX7 X6-X7 00090 M00S00088.comcmtp +++| SA6 A3 UPDATE LENGTH 00091 M00S00089.comcmtp +++| NG X7,ADW1 IF ROOM FOR ENTRY + 1 WORD 00092 M00S00090.comcmtp +++| BX6 X1 SAVE ENTRY 00093 M00S00091.comcmtp +++| LX7 X3 RESTORE LENGTH 00094 M00S00092.comcmtp +++| SA6 ADWA 00095 M00S00093.comcmtp +++| SA7 A3 00096 M00S00094.comcmtp +++| ALLOC A0,1 ALLOCATE 1 WORD 00097 M00S00095.comcmtp +++| SA1 ADWA RESTORE ENTRY 00098 M00S00096.comcmtp +++| SX3 X3-1 SET ORIGINAL LENGTH 00099 M00S00097.comcmtp +++| EQ ADW1 PROCESS ENTRY 00100 M00S00098.comcmtp +++| 00101 M00S00099.comcmtp +++| ADWA CON 0 00102 M00S00100.comcmtp +++| AMU SPACE 4 00103 M00S00101.comcmtp +++|*** AMU - ACCUMULATE MEMORY USED. 00104 M00S00102.comcmtp +++|* 00105 M00S00103.comcmtp +++|* ENTRY NONE. 00106 M00S00104.comcmtp +++|* 00107 M00S00105.comcmtp +++|* EXIT MU = MAX(MU,CURRENT ASSIGNED LENGTH) 00108 M00S00106.comcmtp +++|* 00109 M00S00107.comcmtp +++|* USES X - 1, 2, 3, 6. 00110 M00S00108.comcmtp +++|* B - 2. 00111 M00S00109.comcmtp +++|* A - 1, 2, 6. 00112 M00S00110.comcmtp +++|* 00113 M00S00111.comcmtp +++|* CALLS NONE. 00114 M00S00112.comcmtp +++| 00115 M00S00113.comcmtp +++| 00116 M00S00114.comcmtp +++| AMU1 IX6 X6+X2 ACCUMULATE LENGTH 00117 M00S00115.comcmtp +++| SB2 B2-B1 00118 M00S00116.comcmtp +++| SA2 A2+B1 NEXT TABLE 00119 M00S00117.comcmtp +++| NE B2,B1,AMU1 LOOP FOR ALL TABLES 00120 M00S00118.comcmtp +++| SA1 MU SET MAX LENGTH 00121 M00S00119.comcmtp +++| IX3 X6-X1 00122 M00S00120.comcmtp +++| NG X3,AMU 00123 M00S00121.comcmtp +++| SA6 A1 00124 M00S00122.comcmtp +++| 00125 M00S00123.comcmtp +++| AMU PS ENTRY/EXIT 00126 M00S00124.comcmtp +++| SA1 TN (B2) = NUMBER OF TABLES 00127 M00S00125.comcmtp +++| MX6 0 CLEAR ACCUMULATION 00128 M00S00126.comcmtp +++| SB2 X1 00129 M00S00127.comcmtp +++| SA2 LTAB FIRST TABLE 00130 M00S00128.comcmtp +++| EQ AMU1 00131 M00S00129.comcmtp +++| ATS SPACE 4 00132 M00S00130.comcmtp +++|*** ATS - ALLOCATE TABLE SPACE. 00133 M00S00131.comcmtp +++|* 00134 M00S00132.comcmtp +++|* ENTRY (A0) = TABLE INDEX. 00135 M00S00133.comcmtp +++|* (X1) = CHANGE (+ OR -) TO TABLE SIZE. 00136 M00S00134.comcmtp +++|* 00137 M00S00135.comcmtp +++|* EXIT (X1) = CHANGE. 00138 M00S00136.comcmtp +++|* (X2) = FWA OF TABLE. 00139 M00S00137.comcmtp +++|* (X3) = NEW LENGTH OF TABLE.
Line S00138 Modification History | |
---|---|
M01 (Removed by) | cmtp1 |
Seq # *Modification Id* Act ----------------------------+ 00140 M01S00138.cmtp1 ---|* (X7) < 0 IF TABLES MOVED.
Line S00002 Modification History | |
---|---|
M01 (Added by) | cmtp1 |
Seq # *Modification Id* Act ----------------------------+ 00141 M01S00002.cmtp1 +++|* (X7) .LT. 0 IF TABLES MOVED. 00142 M00S00139.comcmtp +++|* 00143 M00S00140.comcmtp +++|* IF TABLES NOT MOVED - 00144 M00S00141.comcmtp +++|* USES X - 2, 3, 4, 6, 7. 00145 M00S00142.comcmtp +++|* B - NONE. 00146 M00S00143.comcmtp +++|* A - 2, 3, 4, 6. 00147 M00S00144.comcmtp +++|* 00148 M00S00145.comcmtp +++|* IF TABLES MOVED - 00149 M00S00146.comcmtp +++|* USES X - 0, 1, 2, 3, 4, 5, 6, 7. 00150 M00S00147.comcmtp +++|* B - 2, 3, 4, 5, 6, 7. 00151 M00S00148.comcmtp +++|* A - 1, 2, 3, 4, 6, 7. 00152 M00S00149.comcmtp +++|* 00153 M00S00150.comcmtp +++|* RESTORES X - 0, 1, 5. 00154 M00S00151.comcmtp +++|* B - 2, 3, 4, 5, 6, 7. (EXCEPT -0) 00155 M00S00152.comcmtp +++|* 00156 M00S00153.comcmtp +++|* CALLS AMU, MVE, TOV. 00157 M00S00154.comcmtp +++|* 00158 M00S00155.comcmtp +++|* ENTRY CONDITIONS FOR USER ROUTINE *TOV*. 00159 M00S00156.comcmtp +++|* 00160 M00S00157.comcmtp +++|* (B1) = 1. 00161 M00S00158.comcmtp +++|* (B5) = COMPLEMENT OF NUMBER OF WORDS REQUIRED. 00162 M00S00159.comcmtp +++|* (B6) = RETURN ADDRESS TO CONTINUE PROCESSING, I.E., 00163 M00S00160.comcmtp +++|* EXIT FROM *TOV* VIA * JP B6 * INSTRUCTION. 00164 M00S00161.comcmtp +++|*
Line S00162 Modification History | |
---|---|
M01 (Removed by) | cmtp1 |
Seq # *Modification Id* Act ----------------------------+ 00165 M01S00162.cmtp1 ---|* THE LOCATION *TOV* MUST CONTAIN EXECUTABLE CODE. *TOV* 00166 M01S00163.cmtp1 ---|* IS ENTERED VIA A *JP*, NOT VIA *RJ*.
Line S00003 Modification History | |
---|---|
M01 (Added by) | cmtp1 |
Seq # *Modification Id* Act ----------------------------+ 00167 M01S00003.cmtp1 +++|* THE LOCATION *TOV* MUST CONTAIN EXECUTABLE CODE. 00168 M01S00004.cmtp1 +++|* *TOV* IS ENTERED VIA A *JP*, NOT VIA *RJ*. 00169 M00S00164.comcmtp +++|* 00170 M00S00165.comcmtp +++|* EXIT CONDITIONS FOR *TOV*. 00171 M00S00166.comcmtp +++|* 00172 M00S00167.comcmtp +++|* ONLY B1 MUST BE PRESERVED. 00173 M00S00168.comcmtp +++|* 00174 M00S00169.comcmtp +++|* A POINTER WORD MUST BE INCREMENTED BY THE NUMBER OF
Line S00170 Modification History | |
---|---|
M01 (Removed by) | cmtp1 |
Seq # *Modification Id* Act ----------------------------+ 00175 M01S00170.cmtp1 ---|* WORDS NEWLY AVAILABLE. IF *NT* HAS NOT BEEN ALTERED
Line S00005 Modification History | |
---|---|
M01 (Added by) | cmtp1 |
Seq # *Modification Id* Act ----------------------------+ 00176 M01S00005.cmtp1 +++|* WORDS NEWLY AVAILABLE. IF *TN* HAS NOT BEEN ALTERED 00177 M00S00171.comcmtp +++|* DURING EXECUTION, THE ADDRESS OF THE POINTER WORD IS 00178 M00S00172.comcmtp +++|* *F.TEND*.
Line S00173 Modification History | |
---|---|
M01 (Removed by) | cmtp1 |
Seq # *Modification Id* Act ----------------------------+ 00179 M01S00173.cmtp1 ---|* IF *NT* HAS CHANGED, THE ADDRESS OF THE POINTER WORD 00180 M01S00174.cmtp1 ---|* = FTAB-1 PLUS THE CONTENTS OF *NT*.
Line S00006 Modification History | |
---|---|
M01 (Added by) | cmtp1 |
Seq # *Modification Id* Act ----------------------------+ 00181 M01S00006.cmtp1 +++|* IF *TN* HAS CHANGED, THE ADDRESS OF THE POINTER WORD 00182 M01S00007.cmtp1 +++|* IS FTAB-1 PLUS THE CONTENTS OF *TN*. 00183 M00S00175.comcmtp +++| 00184 M00S00176.comcmtp +++| 00185 M00S00177.comcmtp +++| ATS PS ENTRY/EXIT 00186 M00S00178.comcmtp +++| ATS1 SA2 FTAB+A0 CURRENT FWA 00187 M00S00179.comcmtp +++| SA3 LTAB+A0 CURRENT LENGTH 00188 M00S00180.comcmtp +++| SA4 A2+B1 NEXT TABLE FWA 00189 M00S00181.comcmtp +++| IX6 X1+X3 NEW LENGTH 00190 M00S00182.comcmtp +++| IX7 X4-X2 ROOM BETWEEN TABLES 00191 M00S00183.comcmtp +++| SA6 A3 SET NEW LENGTH 00192 M00S00184.comcmtp +++| IX7 X6-X7 00193 M00S00185.comcmtp +++| BX3 X6 00194 M00S00186.comcmtp +++| NG X7,ATS RETURN IF ROOM FOR CHANGE + 1 WORD 00195 M00S00187.comcmtp +++| IX7 X6-X1 SET PREVIOUS LENGTH 00196 M00S00188.comcmtp +++| 00197 M00S00189.comcmtp +++|* INITIALIZE FOR TABLE MOVE. 00198 M00S00190.comcmtp +++| 00199 M00S00191.comcmtp +++| BX6 X0 SAVE (X0) 00200 M00S00192.comcmtp +++| SA7 A3 00201 M00S00193.comcmtp +++| SA6 ATSB 00202 M00S00194.comcmtp +++| BX7 X1 SAVE (X1) 00203 M00S00195.comcmtp +++| LX6 X5 SAVE (X5) 00204 M00S00196.comcmtp +++| SA7 A6+B1 00205 M00S00197.comcmtp +++| SA6 A7+B1 00206 M00S00198.comcmtp +++| SX7 B2 SAVE B REGISTERS 00207 M00S00199.comcmtp +++| SX6 B3 00208 M00S00200.comcmtp +++| SA7 A6+B1 00209 M00S00201.comcmtp +++| SA6 A7+B1 00210 M00S00202.comcmtp +++| SX7 B4 00211 M00S00203.comcmtp +++| SX6 B5 00212 M00S00204.comcmtp +++| SA7 A6+B1 00213 M00S00205.comcmtp +++| SA6 A7+B1 00214 M00S00206.comcmtp +++| SX7 B6 00215 M00S00207.comcmtp +++| SX6 B7 00216 M00S00208.comcmtp +++| SA7 A6+1 00217 M00S00209.comcmtp +++| SA6 A7+1 00218 M00S00210.comcmtp +++| 00219 M00S00211.comcmtp +++|* COMPUTE REMAINING TABLE SPACE. 00220 M00S00212.comcmtp +++| 00221 M00S00213.comcmtp +++| ATS1.1 SA2 TN (B2) = NUMBER OF TABLES 00222 M00S00214.comcmtp +++| SB2 X2 00223 M00S00215.comcmtp +++| IX4 X1+X2 LENGTH = NUMBER OF TABLES + INCREASE 00224 M00S00216.comcmtp +++| SB3 B2-1 00225 M00S00217.comcmtp +++| ATS2 SB3 B3-B1 LENGTH = LENGTH + TABLE LENGTH 00226 M00S00218.comcmtp +++| SA3 LTAB+B3 00227 M00S00219.comcmtp +++| IX4 X4+X3 00228 M00S00220.comcmtp +++| NZ B3,ATS2 LOOP FOR ALL TABLES 00229 M00S00221.comcmtp +++| SA2 LM SET AVAILABLE LENGTH 00230 M00S00222.comcmtp +++| SA3 FTAB-1+B2 00231 M00S00223.comcmtp +++| IX6 X3-X2 00232 M00S00224.comcmtp +++| SB4 X4 (B4) = TOTAL ASSIGNED LENGTH 00233 M00S00225.comcmtp +++| IX7 X6-X4 00234 M00S00226.comcmtp +++| SB5 X7 (B5) = REMAINING SPACE 00235 M00S00227.comcmtp +++| NG X7,ATS6 IF NO REMAINING SPACE 00236 M00S00228.comcmtp +++| RJ MTD MOVE TABLES DOWN 00237 M00S00229.comcmtp +++| SA1 ATSB+1 INCREMENT SIZE OF REQUESTED TABLE 00238 M00S00230.comcmtp +++| SA2 LTAB+A0 00239 M00S00231.comcmtp +++| IX6 X2+X1 00240 M00S00232.comcmtp +++| SA6 A2 00241 M00S00233.comcmtp +++| 00242 M00S00234.comcmtp +++|* REALLOCATE TABLES. 00243 M00S00235.comcmtp +++|* ALLOCATE INTERSPACE. (LA/2N) + ((TL*LA)/2) + 1 00244 M00S00236.comcmtp +++| 00245 M00S00237.comcmtp +++| SA1 FTAB-1+B2 (X0) = LWA+1 LAST TABLE 00246 M00S00238.comcmtp +++| SB6 B2-B1 00247 M00S00239.comcmtp +++| BX0 X1 00248 M00S00240.comcmtp +++| ATS3 LE B6,B1,ATS5 IF TABLE RELOCATION COMPLETE 00249 M00S00241.comcmtp +++| SB6 B6-B1 I = I-1 00250 M00S00242.comcmtp +++| SX4 B5 LA (LENGTH AVAILABLE) 00251 M00S00243.comcmtp +++| SA2 FTAB+B6 FWA(I) 00252 M00S00244.comcmtp +++| SA1 LTAB+B6 TL (LENGTH OF TABLE) 00253 M00S00245.comcmtp +++| SX3 B2-B1 N (NUMBER OF TABLES) 00254 M00S00246.comcmtp +++| AX5 X4,B1 LA/2 00255 M00S00247.comcmtp +++| IX6 X4/X3 L1 = LA/N 00256 M00S00248.comcmtp +++| ZR B4,ATS4 IF NO TABLES ASSIGNED, L = L1 00257 M00S00249.comcmtp +++| SX3 B4 AL (TOTAL ASSIGNED LENGTH) 00258 M00S00250.comcmtp +++| IX7 X5*X1 (LA/2)*TL 00259 M00S00251.comcmtp +++| AX6 1 L1 = LA/2N 00260 M00S00252.comcmtp +++| IX7 X7/X3 L2 = (TL*LA)/2 00261 M00S00253.comcmtp +++| IX6 X6+X7 L = L1+L2 00262 M00S00254.comcmtp +++| ATS4 SX6 X6+B1 L = L+1 00263 M00S00255.comcmtp +++| IX4 X0-X6 FWA(I+1)-L 00264 M00S00256.comcmtp +++| UX1 X1 RESET LENGTH 00265 M00S00257.comcmtp +++| IX7 X4-X1 FWA(I) = FWA(I+1)-L-TL 00266 M00S00258.comcmtp +++| BX3 X7 DESTINATION = FWA(I) 00267 M00S00259.comcmtp +++| SA7 A2 00268 M00S00260.comcmtp +++| LX0 X7 FWA(I+1) = FWA(I) 00269 M00S00261.comcmtp +++| BX4 X2-X3 CHECK MOVE DIFFERENTIAL 00270 M00S00262.comcmtp +++| ZR X4,ATS3 IF NO MOVE REQUIRED 00271 M00S00263.comcmtp +++| RJ MVE= MOVE TABLE 00272 M00S00264.comcmtp +++| EQ ATS3 CONTINUE RELOCATING TABLES 00273 M00S00265.comcmtp +++| 00274 M00S00266.comcmtp +++| ATS5 RJ AMU ACCUMULATE MEMORY USED 00275 M00S00267.comcmtp +++| 00276 M00S00268.comcmtp +++|* RESTORE REGISTERS. 00277 M00S00269.comcmtp +++| 00278 M00S00270.comcmtp +++| SA1 ATSA COUNT MOVES 00279 M00S00271.comcmtp +++| SX6 X1+B1 00280 M00S00272.comcmtp +++| SA6 A1 00281 M00S00273.comcmtp +++| SA2 ATSB RESTORE (X0) 00282 M00S00274.comcmtp +++| SA1 A2+B1 RESTORE (X1) 00283 M00S00275.comcmtp +++| BX0 X2 00284 M00S00276.comcmtp +++| SA3 A1+B1 RESTORE (X5) 00285 M00S00277.comcmtp +++| SA2 A3+B1 RESTORE B REGISTERS 00286 M00S00278.comcmtp +++| BX5 X3 00287 M00S00279.comcmtp +++| SB2 X2 00288 M00S00280.comcmtp +++| SA3 A2+B1 00289 M00S00281.comcmtp +++| SB3 X3 00290 M00S00282.comcmtp +++| SA4 A3+B1 00291 M00S00283.comcmtp +++| SB4 X4 00292 M00S00284.comcmtp +++| SA2 A4+B1 00293 M00S00285.comcmtp +++| SB5 X2 00294 M00S00286.comcmtp +++| SA3 A2+B1 00295 M00S00287.comcmtp +++| SB6 X3 00296 M00S00288.comcmtp +++| SA4 A3+B1 00297 M00S00289.comcmtp +++| SB7 X4 00298 M00S00290.comcmtp +++| SA2 FTAB+A0 SET TABLE FWA 00299 M00S00291.comcmtp +++| SA3 LTAB+A0 SET TABLE LENGTH 00300 M00S00292.comcmtp +++| SX7 -B1 FLAG TABLES MOVED 00301 M00S00293.comcmtp +++| EQ ATS RETURN 00302 M00S00294.comcmtp +++| 00303 M00S00295.comcmtp +++| ATS6 SA3 TO PROCESS TABLE OVERFLOW 00304 M00S00296.comcmtp +++| SB2 X3 00305 M00S00297.comcmtp +++| SX6 A0 PRESERVE (A0) FROM USER DEPREDATIONS 00306 M00S00298.comcmtp +++| SB6 ATS7 PASS RETURN ADDRESS TO USER 00307 M00S00299.comcmtp +++| SA6 ATSC 00308 M00S00300.comcmtp +++| JP B2 00309 M00S00301.comcmtp +++| 00310 M00S00302.comcmtp +++|* RETURN FROM USER ROUTINE *TOV*. 00311 M00S00303.comcmtp +++| 00312 M00S00304.comcmtp +++| ATS7 SA1 ATSC RESTORE (A0), (X1) 00313 M00S00305.comcmtp +++| SA0 X1+ 00314 M00S00306.comcmtp +++| SA1 ATSB+1 00315 M00S00307.comcmtp +++| JP ATS1.1 RE-COMPUTE WITH NEW MEMORY 00316 M00S00308.comcmtp +++| 00317 M00S00309.comcmtp +++| ATSA CON 0 COUNT OF TABLE MOVES 00318 M00S00310.comcmtp +++| 00319 M00S00311.comcmtp +++| ATSB CON 0,0,0 (X0, X1, X5) SAVE 00320 M00S00312.comcmtp +++| CON 0,0,0,0,0,0 (B2 - B7) SAVE 00321 M00S00313.comcmtp +++| ATSC CON 0 (A0) SAVE IF TABLE OVERFLOW 00322 M00S00314.comcmtp +++| EQS SPACE 4 00323 M00S00315.comcmtp +++|*** EQS - EQUALITY SEARCH TABLE. 00324 M00S00316.comcmtp +++|* 00325 M00S00317.comcmtp +++|* ENTRY (X6) = ENTRY FOR SEARCH. 00326 M00S00318.comcmtp +++|* (B7) = WORD COUNT/ENTRY. 00327 M00S00319.comcmtp +++|* (A0) = TABLE NUMBER. 00328 M00S00320.comcmtp +++|* 00329 M00S00321.comcmtp +++|* EXIT (X2) = ENTRY FOUND. 00330 M00S00322.comcmtp +++|* 00331 M00S00323.comcmtp +++|* USES X - 1,2,3,7. 00332 M00S00324.comcmtp +++|* B - NONE. 00333 M00S00325.comcmtp +++|* A - 1,2,6. 00334 M00S00326.comcmtp +++|* 00335 M00S00327.comcmtp +++|* CALLS NONE. 00336 M00S00328.comcmtp +++| 00337 M00S00329.comcmtp +++| 00338 M00S00330.comcmtp +++| EQS PS ENTRY/EXIT 00339 M00S00331.comcmtp +++| SA1 FTAB+A0 SET TABLE PARAMETERS 00340 M00S00332.comcmtp +++| SA2 LTAB+A0 00341 M00S00333.comcmtp +++| IX3 X1+X2 SET SEARCH KEY IN LWA+1 00342 M00S00334.comcmtp +++| SA6 X3 00343 M00S00335.comcmtp +++| NO 00344 M00S00336.comcmtp +++| SA1 X1 FIRST ENTRY 00345 M00S00337.comcmtp +++| + BX2 X1-X6 COMPARE ENTRIES 00346 M00S00338.comcmtp +++| SA1 A1+B7 NEXT ENTRY 00347 M00S00339.comcmtp +++| NZ X2,* LOOP TO MATCH 00348 M00S00340.comcmtp +++| SX7 A1-B7 CHECK SEARCH 00349 M00S00341.comcmtp +++| BX2 X7-X3 00350 M00S00342.comcmtp +++| ZR X2,EQS RETURN IF NOT FOUND 00351 M00S00343.comcmtp +++| SA2 A1-B7 RETURN ENTRY 00352 M00S00344.comcmtp +++| EQ EQS 00353 M00S00345.comcmtp +++| MES SPACE 4 00354 M00S00346.comcmtp +++|*** MES - MASKED EQUALITY SEARCH TABLE. 00355 M00S00347.comcmtp +++|* 00356 M00S00348.comcmtp +++|* ENTRY (X6) = ENTRY FOR SEARCH. 00357 M00S00349.comcmtp +++|* (X0) = MASK. 00358 M00S00350.comcmtp +++|* (B7) = WORD COUNT/ENTRY. 00359 M00S00351.comcmtp +++|* (A0) = TABLE NUMBER. 00360 M00S00352.comcmtp +++|* 00361 M00S00353.comcmtp +++|* EXIT (X2) = ENTRY FOUND. 00362 M00S00354.comcmtp +++|* 00363 M00S00355.comcmtp +++|* USES X - 1,2,3,4,7. 00364 M00S00356.comcmtp +++|* B - NONE. 00365 M00S00357.comcmtp +++|* A - 1,2,6. 00366 M00S00358.comcmtp +++|* 00367 M00S00359.comcmtp +++|* CALLS NONE. 00368 M00S00360.comcmtp +++| 00369 M00S00361.comcmtp +++| 00370 M00S00362.comcmtp +++| MES1 BX4 X0*X2 00371 M00S00363.comcmtp +++| SA1 A1+B7 NEXT ENTRY 00372 M00S00364.comcmtp +++| BX2 X6-X1 COMPARE ENTRIES 00373 M00S00365.comcmtp +++| NZ X4,MES1 LOOP TO MATCH 00374 M00S00366.comcmtp +++| SX7 A1-B7 CHECK SEARCH 00375 M00S00367.comcmtp +++| BX2 X7-X3 00376 M00S00368.comcmtp +++| ZR X2,MES RETURN IF NOT FOUND 00377 M00S00369.comcmtp +++| SA2 X7+ RETURN ENTRY 00378 M00S00370.comcmtp +++| 00379 M00S00371.comcmtp +++| MES PS ENTRY/EXIT 00380 M00S00372.comcmtp +++| SA1 FTAB+A0 SET TABLE PARAMETERS 00381 M00S00373.comcmtp +++| SA2 LTAB+A0 00382 M00S00374.comcmtp +++| IX3 X1+X2 SET SEARCH KEY IN LWA+1 00383 M00S00375.comcmtp +++| SA6 X3 00384 M00S00376.comcmtp +++| SA1 X1 FIRST ENTRY 00385 M00S00377.comcmtp +++| BX2 X6-X1 00386 M00S00378.comcmtp +++| EQ MES1 00387 M00S00379.comcmtp +++| MTD SPACE 4 00388 M00S00380.comcmtp +++|*** MTD - MOVE TABLES DOWN. 00389 M00S00381.comcmtp +++|* 00390 M00S00382.comcmtp +++|* ENTRY NONE. 00391 M00S00383.comcmtp +++|* 00392 M00S00384.comcmtp +++|* EXIT (B2) = NUMBER OF TABLES. 00393 M00S00385.comcmtp +++|* 00394 M00S00386.comcmtp +++|* USES X - 0, 1, 2, 3, 4, 7. 00395 M00S00387.comcmtp +++|* B - 2, 3. 00396 M00S00388.comcmtp +++|* A - 1,2,3,7. 00397 M00S00389.comcmtp +++|* 00398 M00S00390.comcmtp +++|* CALLS MVE=. 00399 M00S00391.comcmtp +++| 00400 M00S00392.comcmtp +++| 00401 M00S00393.comcmtp +++| MTD PS ENTRY/EXIT 00402 M00S00394.comcmtp +++| SA1 LM LOW MEMORY LIMIT 00403 M00S00395.comcmtp +++| SA2 TN (B2) = NUMBER OF TABLES 00404 M00S00396.comcmtp +++| BX0 X1 00405 M00S00397.comcmtp +++| SB2 X2 00406 M00S00398.comcmtp +++| SB3 1 00407 M00S00399.comcmtp +++| MTD1 SA2 FTAB-1+B3 ORIGIN = PREVIOUS FWA 00408 M00S00400.comcmtp +++| SA3 LTAB-1+B3 WORD COUNT = LENGTH + 1 00409 M00S00401.comcmtp +++| BX4 X2-X0 MOVE DIFFERENTIAL 00410 M00S00402.comcmtp +++| SX1 X3+B1 00411 M00S00403.comcmtp +++| SX7 X0 SET NEW FWA 00412 M00S00404.comcmtp +++| IX0 X0+X1 NEXT FWA 00413 M00S00405.comcmtp +++| SB3 B3+B1 ADVANCE TABLE NUMBER 00414 M00S00406.comcmtp +++| ZR X4,MTD2 IF NO MOVE REQUIRED 00415 M00S00407.comcmtp +++| SA7 A2 00416 M00S00408.comcmtp +++| MOVE X1,X2,X7 MOVE MEMORY BLOCK 00417 M00S00409.comcmtp +++| MTD2 LT B3,B2,MTD1 LOOP TO LAST TABLE 00418 M00S00410.comcmtp +++| EQ MTD RETURN 00419 M00S00411.comcmtp +++| MTU SPACE 4 00420 M00S00412.comcmtp +++|*** MTU - MOVE TABLES UP. 00421 M00S00413.comcmtp +++|* 00422 M00S00414.comcmtp +++|* ENTRY NONE. 00423 M00S00415.comcmtp +++|* 00424 M00S00416.comcmtp +++|* EXIT NONE. 00425 M00S00417.comcmtp +++|* 00426 M00S00418.comcmtp +++|* USES X - 0, 1, 2, 3, 7. 00427 M00S00419.comcmtp +++|* B - 3. 00428 M00S00420.comcmtp +++|* A - 1, 2, 7. 00429 M00S00421.comcmtp +++|* 00430 M00S00422.comcmtp +++|* CALLS MVE. 00431 M00S00423.comcmtp +++| 00432 M00S00424.comcmtp +++| 00433 M00S00425.comcmtp +++| MTU1 SB3 B3-B1 DECREMENT TABLE COUNT 00434 M00S00426.comcmtp +++| SA2 FTAB+B3 00435 M00S00427.comcmtp +++| SA1 LTAB+B3 00436 M00S00428.comcmtp +++| IX7 X0-X1 NEW FWA = L - LENGTH 00437 M00S00429.comcmtp +++| LX0 X7 L = NEW FWA 00438 M00S00430.comcmtp +++| SA7 A2 00439 M00S00431.comcmtp +++| BX3 X0 MOVE TABLE 00440 M00S00432.comcmtp +++| RJ MVE= 00441 M00S00433.comcmtp +++| NZ B3,MTU1 00442 M00S00434.comcmtp +++| 00443 M00S00435.comcmtp +++| MTU PS ENTRY/EXIT 00444 M00S00436.comcmtp +++| SA1 F.TEND (X0) = LWA+1 ALL TABLES (L) 00445 M00S00437.comcmtp +++| SB3 NTAB-1 (B3) = NUMBER OF TABLES - 1 00446 M00S00438.comcmtp +++| BX0 X1 00447 M00S00439.comcmtp +++| EQ MTU1 00448 M00S00440.comcmtp +++| SPACE 4 00449 M00S00441.comcmtp +++| BASE * 00450 M00S00442.comcmtp +++| QUAL$ IF -DEF,QUAL$ 00451 M00S00443.comcmtp +++| QUAL * 00452 M00S00444.comcmtp +++| ADW EQU /COMCMTP/ADW 00453 M00S00445.comcmtp +++| AMU EQU /COMCMTP/AMU 00454 M00S00446.comcmtp +++| ATS EQU /COMCMTP/ATS 00455 M00S00447.comcmtp +++| EQS EQU /COMCMTP/EQS 00456 M00S00448.comcmtp +++| MES EQU /COMCMTP/MES 00457 M00S00449.comcmtp +++| MTD EQU /COMCMTP/MTD 00458 M00S00450.comcmtp +++| MTU EQU /COMCMTP/MTU 00459 M00S00451.comcmtp +++| QUAL$ ENDIF 00460 M00S00452.comcmtp +++| ENDX
cdc/nos2.source/opl.opl871/common/comcmtp.txt ยท Last modified: (external edit)