Seq # *Modification Id* Act
----------------------------+
00001 M01S00001.comcecs +++| CTEXT COMCECS - ECS INTERPRETIVE MODE MACRO PROCESSORS.
00002 M01S00002.comcecs +++| SPACE 4,10
00003 M01S00003.comcecs +++| IF -DEF,QUAL$,1
00004 M01S00004.comcecs +++| QUAL COMCECS
00005 M01S00005.comcecs +++| BASE D
Line S00006 Modification History |
M01 (Added by) | comcecs |
M02 (Updated by) | 281l803 |
Seq # *Modification Id* Act
----------------------------+
00006 M02S00006.281l803 ---|* COMMENT COPYRIGHT CONTROL DATA CORP. 1977.
00007 M01S00001.281l803 +++|* COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
00008 M01S00007.comcecs +++| ECS SPACE 4,10
00009 M01S00008.comcecs +++|*** COMCECS - ECS INTERPRETIVE MODE MACRO PROCESSORS.
00010 M01S00009.comcecs +++|* A. J. BEEKMAN. 77/04/11.
00011 M01S00010.comcecs +++| ECS SPACE 4,10
00012 M01S00011.comcecs +++|*** *COMCECS* CONTAINS PROCESSORS *REC=* AND *WEC=* WHICH
00013 M01S00012.comcecs +++|* PROCESS THE INTERPRETIVE MODE ECS READ AND WRITE
00014 M01S00013.comcecs +++|* INSTRUCTIONS. THE PROCESSORS BREAK LARGE TRANSFERS INTO
00015 M01S00014.comcecs +++|* SMALLER BLOCKS AND ALSO ATTEMPT TO RECOVER ECS ERRORS IN A
00016 M01S00015.comcecs +++|* MANNER TRANSPARENT TO THE USER.
00017 M01S00016.comcecs +++|*
00018 M01S00017.comcecs +++|* THIS COMMON DECK REQUIRES ONE OF THE FOLLOWING -
00019 M01S00018.comcecs +++|* 1) COMMON DECK *COMCECM*.
00020 M01S00019.comcecs +++|* 2) ASSEMBLY USING *ECSTEXT*.
00021 M01S00020.comcecs +++| ECS SPACE 4,10
00022 M01S00021.comcecs +++|** ROUTINES CALLED.
00023 M01S00022.comcecs +++|*
00024 M01S00023.comcecs +++|* ELM.
00025 M01S00024.comcecs +++| REC= SPACE 4,20
00026 M01S00025.comcecs +++|*** REC= - READ ECS INTERPRETIVE MODE PROCESSOR.
00027 M01S00026.comcecs +++|*
00028 M01S00027.comcecs +++|* ENTRY (A0) = CM ADDRESS TO READ TO.
00029 M01S00028.comcecs +++|* (X0) = ECS ADDRESS TO READ FROM.
00030 M01S00029.comcecs +++|* (REC=)-1 = 30/,9/,3/B REGISTER,18/WORD COUNT.
00031 M01S00030.comcecs +++|*
00032 M01S00031.comcecs +++|* EXIT ALL REGISTERS RESTORED.
00033 M01S00032.comcecs +++|*
00034 M01S00033.comcecs +++|* USES A - 1, 7.
00035 M01S00034.comcecs +++|* X - 1, 4, 6, 7.
00036 M01S00035.comcecs +++|*
00037 M01S00036.comcecs +++|* CALLS RSR, RWE, SVR.
00038 M01S00037.comcecs +++|
00039 M01S00038.comcecs +++|
00040 M01S00039.comcecs +++| REC1 RJ RSR RESTORE REGISTERS
00041 M01S00040.comcecs +++|
00042 M01S00041.comcecs +++| REC= PS ENTRY/EXIT
00043 M01S00042.comcecs +++| RJ SVR SAVE ALL REGISTERS
00044 M01S00043.comcecs +++| SA1 REC= SET WORD COUNT
00045 M01S00044.comcecs +++| SX4 B0+ SET READ ECS INSTRUCTION
00046 M01S00045.comcecs +++| RJ RWE READ/WRITE ECS
00047 M01S00046.comcecs +++| NG X1,REC1 IF UNRECOVERED ECS ERROR
00048 M01S00047.comcecs +++| SA1 REC= SET RETURN JUMP FOR NO ERROR
00049 M01S00048.comcecs +++| SX6 B1
00050 M01S00049.comcecs +++| LX6 30
00051 M01S00050.comcecs +++| IX7 X1+X6
00052 M01S00051.comcecs +++| SA7 A1
00053 M01S00052.comcecs +++| EQ REC1 RESTORE REGISTERS
00054 M01S00053.comcecs +++| WEC= SPACE 4,20
00055 M01S00054.comcecs +++|*** WEC= - WRITE ECS INTERPRETIVE MODE PROCESSOR.
00056 M01S00055.comcecs +++|*
00057 M01S00056.comcecs +++|* ENTRY (A0) = CM ADDRESS TO WRITE FROM.
00058 M01S00057.comcecs +++|* (X0) = ECS ADDRESS TO WRITE TO.
00059 M01S00058.comcecs +++|* (WEC=)-1 = 30/,9/,3/B REGISTER,18/WORD COUNT.
00060 M01S00059.comcecs +++|*
00061 M01S00060.comcecs +++|* EXIT ALL REGISTERS RESTORED.
00062 M01S00061.comcecs +++|*
00063 M01S00062.comcecs +++|* USES A - 1, 7.
00064 M01S00063.comcecs +++|* X - 1, 4, 6, 7.
00065 M01S00064.comcecs +++|*
00066 M01S00065.comcecs +++|* CALLS RSR, RWE, SVR.
00067 M01S00066.comcecs +++|
00068 M01S00067.comcecs +++|
00069 M01S00068.comcecs +++| WEC1 RJ RSR RESTORE REGISTERS
00070 M01S00069.comcecs +++|
00071 M01S00070.comcecs +++| WEC= PS ENTRY/EXIT
00072 M01S00071.comcecs +++| RJ SVR SAVE ALL REGISTERS
00073 M01S00072.comcecs +++| SA1 WEC= SET WORD COUNT
00074 M01S00073.comcecs +++| SX4 B1+ SET WRITE ECS INSTRUCTION
00075 M01S00074.comcecs +++| RJ RWE READ/WRITE ECS
00076 M01S00075.comcecs +++| NG X1,WEC1 IF UNRECOVERED ECS ERROR
00077 M01S00076.comcecs +++| SA1 WEC= SET RETURN JUMP FOR NO ERROR
00078 M01S00077.comcecs +++| SX6 B1
00079 M01S00078.comcecs +++| LX6 30
00080 M01S00079.comcecs +++| IX7 X1+X6
00081 M01S00080.comcecs +++| SA7 A1
00082 M01S00081.comcecs +++| EQ WEC1 RESTORE REGISTERS
00083 M01S00082.comcecs +++| RSR SPACE 4,10
00084 M01S00083.comcecs +++|** RSR - RESTORE ALL REGISTERS.
00085 M01S00084.comcecs +++|*
00086 M01S00085.comcecs +++|* ENTRY (REGA - REGA+7) = PREVIOUS *A* REGISTER CONTENTS.
00087 M01S00086.comcecs +++|* (REGB - REGB+7) = PREVIOUS *B* REGISTER CONTENTS.
00088 M01S00087.comcecs +++|* (REGX - REGX+7) = PREVIOUS *X* REGISTER CONTENTS.
00089 M01S00088.comcecs +++|*
00090 M01S00089.comcecs +++|* EXIT PREVIOUS REGISTER CONTENTS RESTORED.
00091 M01S00090.comcecs +++|*
00092 M01S00091.comcecs +++|* USES ALL REGISTERS.
00093 M01S00092.comcecs +++|
00094 M01S00093.comcecs +++|
00095 M01S00094.comcecs +++| RSR PS ENTRY/EXIT
00096 M01S00095.comcecs +++| MX0 18
00097 M01S00096.comcecs +++| SA5 REGX+5 *X5* VALUE
00098 M01S00097.comcecs +++| SB2 B0
Line S00098 Modification History |
M01 (Added by) | comcecs |
M02 (Updated by) | ns2336 |
Seq # *Modification Id* Act
----------------------------+
00099 M02S00098.ns2336 ---| SA2 RSR3 PRESET TO CORRECT SHIFT COUNT
00100 M01S00001.ns2336 +++| SA2 RSRA PRESET TO RESTORE X5
00101 M01S00099.comcecs +++| SX1 74B
00102 M01S00100.comcecs +++| BX7 -X1*X2
00103 M01S00101.comcecs +++| PL X5,RSR1 IF VALUE IS .GE. ZERO
00104 M01S00102.comcecs +++| BX7 X7+X1
00105 M01S00103.comcecs +++|
00106 M01S00104.comcecs +++|* MODIFY INSTRUCTIONS TO SAVE *B* REGISTERS.
00107 M01S00105.comcecs +++|
00108 M01S00106.comcecs +++| RSR1 SB1 1
00109 M01S00107.comcecs +++| LX0 33 SET MASK FOR INSTRUCTION MODIFICATION
00110 M01S00108.comcecs +++| MX4 0
00111 M01S00109.comcecs +++| SB3 7 SET HIGHEST REGISTER NUMBER
00112 M01S00110.comcecs +++| SB4 15 SET SHIFT COUNT
00113 M01S00111.comcecs +++| RSR2 SA2 A2+B1 GET NEXT WORD OF INSTRUCTIONS
00114 M01S00112.comcecs +++| SA1 REGB+1+B2 GET *B* REGISTER VALUE
00115 M01S00113.comcecs +++| IX6 X7+X4 SAVE PREVIOUS WORD OF INSTRUCTIONS
00116 M01S00114.comcecs +++| BX4 -X0*X2
00117 M01S00115.comcecs +++| LX3 X1,B4
00118 M01S00116.comcecs +++| SB2 B2+B1 INCREMENT *B* REGISTER NUMBER
00119 M01S00117.comcecs +++| SA6 A2-B1
00120 M01S00118.comcecs +++| BX7 X0*X3
00121 M01S00119.comcecs +++| NE B2,B3,RSR2 IF NOT END OF *B* REGISTERS
00122 M01S00120.comcecs +++| LX0 15 SAVE LAST INSTRUCTION WORD
00123 M01S00121.comcecs +++| BX4 -X0*X2
00124 M01S00122.comcecs +++| LX7 15
00125 M01S00123.comcecs +++| IX6 X7+X4
00126 M01S00124.comcecs +++| SA6 A2
00127 M01S00125.comcecs +++|
00128 M01S00126.comcecs +++|* RESTORE *A0*, *A1*, *A6*, *A7*, *X0*, *X1*, *X6* AND *X7*.
00129 M01S00127.comcecs +++|
00130 M01S00128.comcecs +++| SA3 REGX *X0* VALUE
00131 M01S00129.comcecs +++| SA1 REGA *A0* VALUE
00132 M01S00130.comcecs +++| UX5 X5,B6
00133 M01S00131.comcecs +++| BX0 X3
00134 M01S00132.comcecs +++| MX4 60
00135 M01S00133.comcecs +++| LX5 11
00136 M01S00134.comcecs +++| SB7 X4+777777B *B7* = -0
00137 M01S00135.comcecs +++| SA0 X1+B7
00138 M01S00136.comcecs +++| UX5 X5,B5
00139 M01S00137.comcecs +++| SA1 REGA+6 *A6* VALUE
00140 M01S00138.comcecs +++| SA2 A1+B1 *A7* VALUE
00141 M01S00139.comcecs +++| LX5 11
00142 M01S00140.comcecs +++| SA3 X1+B7 GET CONTENTS OF *A6* AND *A7* VALUES
00143 M01S00141.comcecs +++| SA4 X2+B7
00144 M01S00142.comcecs +++| BX6 X3
00145 M01S00143.comcecs +++| BX7 X4
00146 M01S00144.comcecs +++| SA3 REGA+1 *A1* VALUE
00147 M01S00145.comcecs +++| SA6 X1+B7
00148 M01S00146.comcecs +++| UX5 X5,B4
00149 M01S00147.comcecs +++| SA7 X2+B7
00150 M01S00148.comcecs +++| LX5 11
00151 M01S00149.comcecs +++| SA2 REGX+6 *X6* VALUE
00152 M01S00150.comcecs +++| SA1 X3+B7
00153 M01S00151.comcecs +++| BX6 X2
00154 M01S00152.comcecs +++| UX5 X5,B3
00155 M01S00153.comcecs +++| SA3 A2+B1 *X7* VALUE
00156 M01S00154.comcecs +++| SA4 REGX+1 *X1* VALUE
00157 M01S00155.comcecs +++| LX5 11
00158 M01S00156.comcecs +++| BX7 X3
00159 M01S00157.comcecs +++| BX1 X4
00160 M01S00158.comcecs +++|
00161 M01S00159.comcecs +++|* RESTORE *A2* - *A4* AND *X2* - *X4*.
00162 M01S00160.comcecs +++|
00163 M01S00161.comcecs +++| SA2 REGA+2 *A2* VALUE
00164 M01S00162.comcecs +++| UX5 X5,B2
00165 M01S00163.comcecs +++| SA3 REGX+2 *X2* VALUE
00166 M01S00164.comcecs +++| LX5 11
00167 M01S00165.comcecs +++| SA2 X2+B7
00168 M01S00166.comcecs +++| SA4 REGA+3 *A3* VALUE
00169 M01S00167.comcecs +++| UX5 X5,B1
00170 M01S00168.comcecs +++| BX2 X3
00171 M01S00169.comcecs +++| SA3 X4+B7
00172 M01S00170.comcecs +++| SA5 REGX+3 *X3* VALUE
00173 M01S00171.comcecs +++| BX3 X5
00174 M01S00172.comcecs +++| SA4 REGA+4 *A4* VALUE
00175 M01S00173.comcecs +++| SA5 REGX+4 *X4* VALUE
00176 M01S00174.comcecs +++| SA4 X4+B7
00177 M01S00175.comcecs +++| BX4 X5
00178 M01S00176.comcecs +++|
00179 M01S00177.comcecs +++|* RESTORE *A5*, *X5* AND *B1* - *B7*.
00180 M01S00178.comcecs +++|
00181 M01S00179.comcecs +++| SA5 REGA+5 *A5* VALUE
00182 M01S00002.ns2336 +++| JP RSR3 PURGE STACK BEFORE CONTINUING
00183 M01S00180.comcecs +++| RSR3 SA5 X5+B7
00184 M01S00003.ns2336 +++| RSRA EQU * CODE MODIFIED FROM HERE TO EXIT
00185 M01S00181.comcecs +++| NO
00186 M01S00182.comcecs +++| NO
00187 M01S00004.ns2336 +++| ERRNZ $-14 ASSUMES MASK IN LOWER 15 BITS
00188 M01S00183.comcecs +++| MX5 0 SET *X5* VALUE
00189 M01S00184.comcecs +++|* MX5 60 (IF X5 .LT. 0)
00190 M01S00185.comcecs +++| PX5 X5,B1
00191 M01S00186.comcecs +++| SB1 B7+0 SET *B1* VALUE
00192 M01S00187.comcecs +++|* SB1 (REGB+1)
00193 M01S00188.comcecs +++| LX5 49
00194 M01S00189.comcecs +++| PX5 X5,B2
00195 M01S00190.comcecs +++| SB2 B7+0 SET *B2* VALUE
00196 M01S00191.comcecs +++|* SB2 (REGB+2)
00197 M01S00192.comcecs +++| LX5 49
00198 M01S00193.comcecs +++| PX5 X5,B3
00199 M01S00194.comcecs +++| SB3 B7+0 SET *B3* VALUE
00200 M01S00195.comcecs +++|* SB3 (REGB+3)
00201 M01S00196.comcecs +++| LX5 49
00202 M01S00197.comcecs +++| PX5 X5,B4
00203 M01S00198.comcecs +++| SB4 B7+0 SET *B4* VALUE
00204 M01S00199.comcecs +++|* SB4 (REGB+4)
00205 M01S00200.comcecs +++| LX5 49
00206 M01S00201.comcecs +++| PX5 X5,B5
00207 M01S00202.comcecs +++| SB5 B7+0 SET *B5* VALUE
00208 M01S00203.comcecs +++|* SB5 (REGB+5)
00209 M01S00204.comcecs +++| LX5 49
00210 M01S00205.comcecs +++| PX5 X5,B6
00211 M01S00206.comcecs +++| SB6 B7+0 SET *B6* VALUE
00212 M01S00207.comcecs +++|* SB6 (REGB+6)
00213 M01S00208.comcecs +++| SB7 B7+0 SET *B7* VALUE
00214 M01S00209.comcecs +++|* SB7 (REGB+7)
00215 M01S00210.comcecs +++| EQ RSR RETURN
00216 M01S00211.comcecs +++| RWE SPACE 4,20
00217 M01S00212.comcecs +++|** RWE - READ/WRITE ECS.
00218 M01S00213.comcecs +++|*
00219 M01S00214.comcecs +++|* ENTRY (X1) = 30/RETURN JUMP ADDRESS,30/
00220 M01S00215.comcecs +++|* (X4) = 0 IF READ ECS.
00221 M01S00216.comcecs +++|* = 1 IF WRITE ECS.
00222 M01S00217.comcecs +++|* (REGA) = CM ADDRESS.
00223 M01S00218.comcecs +++|* (REGX) = ECS ADDRESS.
00224 M01S00219.comcecs +++|* (REGB) = *B* REGISTER CONTENTS BLOCK.
00225 M01S00220.comcecs +++|*
00226 M01S00221.comcecs +++|* EXIT (X1) .LT. 0 IF UNRECOVERED ERROR ENCOUNTERED.
00227 M01S00222.comcecs +++|*
00228 M01S00223.comcecs +++|* USES A - 0, 1, 2, 3, 5, 6, 7.
00229 M01S00224.comcecs +++|* B - 4.
00230 M01S00225.comcecs +++|* X - 0, 1, 2, 3, 5, 6, 7.
00231 M01S00226.comcecs +++|
00232 M01S00227.comcecs +++|
00233 M01S00228.comcecs +++| RWE13 SA1 RWEC FETCH ERROR FLAG
00234 M01S00229.comcecs +++|
00235 M01S00230.comcecs +++| RWE PS ENTRY/EXIT
00236 M01S00231.comcecs +++| SX7 B0+ CLEAR ERROR FLAG
00237 M01S00232.comcecs +++| SA7 RWEC
00238 M01S00233.comcecs +++|
00239 M01S00234.comcecs +++|* GET WORD COUNT TO TRANSFER.
00240 M01S00235.comcecs +++|
00241 M01S00236.comcecs +++| AX1 30 GET ADDRESS OF WORD COUNT
00242 M01S00237.comcecs +++| SX6 X1
00243 M01S00238.comcecs +++| SA3 X6-1 FORM WORD COUNT
00244 M01S00239.comcecs +++| MX0 -18
00245 M01S00240.comcecs +++| BX7 -X0*X3
00246 M01S00241.comcecs +++| SA2 REGA RESTORE *A0*
00247 M01S00242.comcecs +++| SA1 REGX RESTORE *X0*
00248 M01S00243.comcecs +++| SA0 X2+
00249 M01S00244.comcecs +++| BX0 X1
00250 M01S00245.comcecs +++| AX3 18
00251 M01S00246.comcecs +++| MX1 -3
00252 M01S00247.comcecs +++| BX3 -X1*X3
00253 M01S00248.comcecs +++| ZR X3,RWE1 IF NO *B* REGISTER SPECIFIED
00254 M01S00249.comcecs +++| SA1 REGB+X3 GET *B* REGISTER WORD COUNT
00255 M01S00250.comcecs +++| IX7 X1+X7
00256 M01S00251.comcecs +++| RWE1 SA7 RWEA
00257 M01S00252.comcecs +++|
00258 M01S00253.comcecs +++|* BREAK TRANSFER INTO SMALL BLOCKS.
00259 M01S00254.comcecs +++|
00260 M01S00255.comcecs +++| RWE2 SX5 400B CHECK BLOCK SIZE
00261 M01S00256.comcecs +++| SA1 RWEA
00262 M01S00257.comcecs +++| ZR X1,RWE13 IF ALL WORDS TRANSFERED
00263 M01S00258.comcecs +++| IX6 X1-X5
00264 M01S00259.comcecs +++| PL X6,RWE3 IF FULL 400B WORD BLOCK AVAILABLE
00265 M01S00260.comcecs +++| SX5 X1 SET WORDS REMAINING
00266 M01S00261.comcecs +++| SX6 B0
00267 M01S00262.comcecs +++| RWE3 SA6 A1
00268 M01S00263.comcecs +++| SB4 X5 SET BLOCK WORD COUNT
00269 M01S00264.comcecs +++| NZ X4,RWE5 IF WRITE
00270 M01S00265.comcecs +++| RD B4 READ ECS BLOCK
00271 M01S00266.comcecs +++| EQ RWE6 PROCESS ECS ERROR
00272 M01S00267.comcecs +++|
00273 M01S00268.comcecs +++| RWE4 SA0 A0+B4 INCREMENT ADDRESSES
00274 M01S00269.comcecs +++| SX5 B4+
00275 M01S00270.comcecs +++| IX0 X0+X5
00276 M01S00271.comcecs +++| EQ RWE2 SET SIZE OF NEXT BLOCK
00277 M01S00272.comcecs +++|
00278 M01S00273.comcecs +++| RWE5 WT B4 WRITE ECS BLOCK
00279 M01S00274.comcecs +++| EQ RWE6 PROCESS ECS ERROR
00280 M01S00275.comcecs +++|
00281 M01S00276.comcecs +++| EQ RWE4 INCREMENT ADDRESSES
00282 M01S00277.comcecs +++|
00283 M01S00278.comcecs +++|* PROCESS ECS ERROR.
00284 M01S00279.comcecs +++|
00285 M01S00280.comcecs +++| RWE6 SX6 X4+1 SET READ/WRITE FLAG
00286 M01S00281.comcecs +++| LX6 18
00287 M01S00282.comcecs +++| BX7 X6+X5 ADD WORD COUNT FOR TRANSFER
00288 M01S00283.comcecs +++| SA7 ELMB+1
00289 M01S00284.comcecs +++| EQ RWE10 TRY SINGLE WORD TRANSFERS
00290 M01S00285.comcecs +++|
00291 M01S00286.comcecs +++| RWE7 LX3 -18 POSITION RETRY COUNT/RECOVERY STATUS
00292 M01S00287.comcecs +++| SX5 A0 ADD IN CM ADDRESS
00293 M01S00288.comcecs +++| LX5 24
00294 M01S00289.comcecs +++| BX6 X3+X5
00295 M01S00290.comcecs +++| BX7 X6+X0 ADD ECS ADDRESS
00296 M01S00291.comcecs +++| SA2 RWEB
00297 M01S00292.comcecs +++| MX1 48
00298 M01S00293.comcecs +++| SA7 ELMB+2
00299 M01S00294.comcecs +++| ZR X2,RWE8 IF DAYFILE MESSAGE LIMIT REACHED
00300 M01S00295.comcecs +++| SA5 ELMB CLEAR DAYFILE LIMIT AND COMPLETION BIT
00301 M01S00296.comcecs +++| BX6 X1*X5
00302 M01S00297.comcecs +++| SA6 A5
00303 M01S00298.comcecs +++| SYSTEM ELM,R,ELMB CALL *ELM* TO PROCESS ERROR MESSAGE
00304 M01S00299.comcecs +++| SA2 A5 CHECK DAYFILE MESSAGE LIMIT
00305 M01S00300.comcecs +++| MX1 -11
00306 M01S00301.comcecs +++| AX2 1
00307 M01S00302.comcecs +++| BX6 -X1*X2
00308 M01S00303.comcecs +++| SX6 X6-1
00309 M01S00304.comcecs +++| SA6 RWEB
00310 M01S00305.comcecs +++| RWE8 BX1 X3
00311 M01S00306.comcecs +++| LX1 59-48
00312 M01S00307.comcecs +++| PL X1,RWE12 IF SINGLE WORD READ RECOVERED
00313 M01S00308.comcecs +++| MX7 1 SET UNRECOVERED ERROR FLAG
00314 M01S00309.comcecs +++| SA7 RWEC
00315 M01S00310.comcecs +++| EQ RWE12 CONTINUE SINGLE WORD RECOVERY
00316 M01S00311.comcecs +++|
00317 M01S00312.comcecs +++|* RETRY WITH SINGLE WORD TRANSFERS.
00318 M01S00313.comcecs +++|
00319 M01S00314.comcecs +++| RWE10 SA2 A0 READ WORD OF DATA
00320 M01S00315.comcecs +++| SX3 101B SET UNRECOVERED ERROR WITH RETRY
00321 M01S00316.comcecs +++| BX6 X2
00322 M01S00317.comcecs +++| SA6 ELMB+3 SET BAD DATA
00323 M01S00318.comcecs +++| NZ X4,RWE11 IF WRITE
00324 M01S00319.comcecs +++| RD 1 READ ONE ECS WORD
00325 M01S00320.comcecs +++| EQ RWE7 PROCESS UNRECOVERED ERROR
00326 M01S00321.comcecs +++|
00327 M01S00322.comcecs +++| SA2 A0 VERIFY DATA
00328 M01S00323.comcecs +++| SX3 1 SET RECOVERED STATUS
00329 M01S00324.comcecs +++| BX7 X2-X6
00330 M01S00325.comcecs +++| ZR X7,RWE12 IF DATA VERIFIES
00331 M01S00326.comcecs +++| BX7 X2 SET GOOD DATA
00332 M01S00327.comcecs +++| SA7 A6+B1
00333 M01S00328.comcecs +++| EQ RWE7 ISSUE MESSAGE
00334 M01S00329.comcecs +++|
00335 M01S00330.comcecs +++| RWE11 WT 1 WRITE ONE ECS WORD
00336 M01S00331.comcecs +++| EQ RWE7 PROCESS UNRECOVERED ERROR
00337 M01S00332.comcecs +++|
00338 M01S00333.comcecs +++| RWE12 SA0 A0+B1 INCREMENT ADDRESSES
00339 M01S00334.comcecs +++| SX3 B1
00340 M01S00335.comcecs +++| IX0 X0+X3
00341 M01S00336.comcecs +++| SB4 B4-B1 DECREMENT WORD COUNT
00342 M01S00337.comcecs +++| NZ B4,RWE10 IF MORE WORDS TO CHECK
00343 M01S00338.comcecs +++| EQ RWE2 READ/WRITE NEXT BLOCK
00344 M01S00339.comcecs +++|
00345 M01S00340.comcecs +++| RWEA CON 0 WORD COUNT TO TRANSFER
00346 M01S00341.comcecs +++| RWEB CON 1 DAYFILE MESSAGE LIMIT FLAG
00347 M01S00342.comcecs +++| RWEC CON 0 UNRECOVERED ERROR FLAG
00348 M01S00343.comcecs +++| SVR SPACE 4,10
00349 M01S00344.comcecs +++|** SVR - SAVE ALL REGISTERS.
00350 M01S00345.comcecs +++|*
00351 M01S00346.comcecs +++|* EXIT (B1) = 1.
00352 M01S00347.comcecs +++|* (REGA - REGA+7) = *A* REGISTER VALUES.
00353 M01S00348.comcecs +++|* (REGB - REGB+7) = *B* REGISTER VALUES.
00354 M01S00349.comcecs +++|* (REGX - REGX+7) = *X* REGISTER VALUES.
00355 M01S00350.comcecs +++|*
00356 M01S00351.comcecs +++|* USES A - 3, 6, 7.
00357 M01S00352.comcecs +++|* B - 1, 2, 3, 7.
00358 M01S00353.comcecs +++|* X - 3, 4, 6, 7.
00359 M01S00354.comcecs +++|
00360 M01S00355.comcecs +++|
00361 M01S00356.comcecs +++| SVR PS ENTRY/EXIT
00362 M01S00357.comcecs +++|
00363 M01S00358.comcecs +++|* HOLD *B7* VALUE.
00364 M01S00359.comcecs +++|
00365 M01S00360.comcecs +++| .1 IF DEF,B1=1
00366 M01S00361.comcecs +++| SB1 B7+777777B SAVE *B7*
00367 M01S00362.comcecs +++| .1 ELSE
00368 M01S00363.comcecs +++| PL B7,*+2 CONSTRUCT TRAIL DESCRIBING *B7*
00369 M01S00364.comcecs +++| RJ *+1
00370 M01S00365.comcecs +++| SVR1 CON 0
00371 M01S00366.comcecs +++| DUP 17
00372 M01S00367.comcecs +++| SB7 B7+B7
00373 M01S00368.comcecs +++| PL B7,*+3
00374 M01S00369.comcecs +++| RJ *+1
00375 M01S00370.comcecs +++| CON 0
00376 M01S00371.comcecs +++| ENDD
00377 M01S00372.comcecs +++| .1 ENDIF
00378 M01S00373.comcecs +++|
00379 M01S00374.comcecs +++|* SAVE *X* REGISTERS.
00380 M01S00375.comcecs +++|
00381 M01S00376.comcecs +++| SB7 A7+777777B HOLD *A7*
00382 M01S00377.comcecs +++| SA7 REGX+7 SAVE *X7*
00383 M01S00378.comcecs +++| SX7 B7+777777B SAVE *A7*
00384 M01S00379.comcecs +++| SA7 REGA+7
00385 M01S00380.comcecs +++| MX7 60
00386 M01S00381.comcecs +++| SB7 X7+777777B FORCE -0 IN B REGISTER
00387 M01S00382.comcecs +++| SX7 A6+B7 SAVE *X6* AND *A6*
00388 M01S00383.comcecs +++| SA6 REGX+6
00389 M01S00384.comcecs +++| SA7 REGA+6
00390 M01S00385.comcecs +++| BX6 X0 SAVE *X0* AND *X1*
00391 M01S00386.comcecs +++| LX7 X1
00392 M01S00387.comcecs +++| SA6 REGX
00393 M01S00388.comcecs +++| SA7 REGX+1
00394 M01S00389.comcecs +++| BX6 X2 SAVE *X2* AND *X3*
00395 M01S00390.comcecs +++| LX7 X3
00396 M01S00391.comcecs +++| SA6 REGX+2
00397 M01S00392.comcecs +++| SA7 REGX+3
00398 M01S00393.comcecs +++| BX6 X4 SAVE *X4* AND *X5*
00399 M01S00394.comcecs +++| LX7 X5
00400 M01S00395.comcecs +++| SA6 REGX+4
00401 M01S00396.comcecs +++| SA7 REGX+5
00402 M01S00397.comcecs +++|
00403 M01S00398.comcecs +++|* SAVE *A* REGISTERS.
00404 M01S00399.comcecs +++|
00405 M01S00400.comcecs +++| SX6 A0+B7 SAVE *A0* AND *A1*
00406 M01S00401.comcecs +++| SX7 A1+B7
00407 M01S00402.comcecs +++| SA6 REGA
00408 M01S00403.comcecs +++| SA7 REGA+1
00409 M01S00404.comcecs +++| SX6 A2+B7 SAVE *A2* AND *A3*
00410 M01S00405.comcecs +++| SX7 A3+B7
00411 M01S00406.comcecs +++| SA6 REGA+2
00412 M01S00407.comcecs +++| SA7 REGA+3
00413 M01S00408.comcecs +++| SX6 A4+B7 SAVE *A4* AND *A5*
00414 M01S00409.comcecs +++| SX7 A5+B7
00415 M01S00410.comcecs +++| SA6 REGA+4
00416 M01S00411.comcecs +++| SA7 REGA+5
00417 M01S00412.comcecs +++|
00418 M01S00413.comcecs +++|* SAVE *B* REGISTERS.
00419 M01S00414.comcecs +++|
00420 M01S00415.comcecs +++| .2 IF DEF,B1=1
00421 M01S00416.comcecs +++| SX7 1
00422 M01S00417.comcecs +++| .2 ELSE
00423 M01S00418.comcecs +++| SX7 B1+777777B
00424 M01S00419.comcecs +++| .2 ENDIF
00425 M01S00420.comcecs +++| SA7 REGB+1 SAVE *B1*
00426 M01S00421.comcecs +++| SX6 B2+B7 SAVE *B2* AND *B3*
00427 M01S00422.comcecs +++| SX7 B3+B7
00428 M01S00423.comcecs +++| SA6 REGB+2
00429 M01S00424.comcecs +++| SA7 REGB+3
00430 M01S00425.comcecs +++| SX6 B4+B7 SAVE *B4* AND *B5*
00431 M01S00426.comcecs +++| SX7 B5+B7
00432 M01S00427.comcecs +++| SA6 REGB+4
00433 M01S00428.comcecs +++| SA7 REGB+5
00434 M01S00429.comcecs +++| SX6 B6+B7 SAVE *B6* AND *B0*
00435 M01S00430.comcecs +++| SX7 B0+B7
00436 M01S00431.comcecs +++| SA6 REGB+6
00437 M01S00432.comcecs +++| SA7 REGB
00438 M01S00433.comcecs +++|
00439 M01S00434.comcecs +++|* RESTORE *B7* VALUE.
00440 M01S00435.comcecs +++|
00441 M01S00436.comcecs +++| .3 IF DEF,B1=1
00442 M01S00437.comcecs +++| SX6 B1+B7 SET *B7*
00443 M01S00438.comcecs +++| .3 ELSE
00444 M01S00439.comcecs +++| SA3 SVR1 RECONSTRUCT *B7*
00445 M01S00440.comcecs +++| SB2 17
00446 M01S00441.comcecs +++| SB3 3
00447 M01S00442.comcecs +++| MX4 1
00448 M01S00443.comcecs +++| BX6 X6-X6
00449 M01S00444.comcecs +++| SVR2 LX3 59-56 FOLLOW *B7* TRAIL TO RECONSTRUCT
00450 M01S00445.comcecs +++| BX3 X3*X4
00451 M01S00446.comcecs +++| SA7 A3 CLEAR TRAIL
00452 M01S00447.comcecs +++| IX6 X3+X6
00453 M01S00448.comcecs +++| SB2 B2-1
00454 M01S00449.comcecs +++| SA3 A3+B3
00455 M01S00450.comcecs +++| LX6 1
00456 M01S00451.comcecs +++| PL B2,SVR2 IF NOT END OF TRAIL
00457 M01S00452.comcecs +++| .3 ENDIF
00458 M01S00453.comcecs +++| SA6 REGB+7 SAVE *B7*
00459 M01S00454.comcecs +++| SB1 1 SET *B1* VALUE
00460 M01S00455.comcecs +++| EQ SVR RETURN
00461 M01S00456.comcecs +++| SPACE 4,10
00462 M01S00457.comcecs +++| ELMB VFD 24/0,12/5,12/2REC,11/0,1/0 *ELM* CALL BLOCK
00463 M01S00458.comcecs +++| BSSZ 4
00464 M01S00459.comcecs +++| REGA BSS 8 *A* REGISTERS
00465 M01S00460.comcecs +++| REGB BSS 8 *B* REGISTERS
00466 M01S00461.comcecs +++| REGX BSS 8 *X* REGISTERS
00467 M01S00462.comcecs +++| ECS SPACE 4,10
00468 M01S00463.comcecs +++| BASE *
00469 M01S00464.comcecs +++| QUAL$ IF -DEF,QUAL$
00470 M01S00465.comcecs +++| QUAL *
00471 M01S00466.comcecs +++| REC= EQU /COMCECS/REC=
00472 M01S00467.comcecs +++| WEC= EQU /COMCECS/WEC=
00473 M01S00468.comcecs +++| QUAL$ ENDIF
00474 M01S00469.comcecs +++| ENDX