cdc:nos2.source:opl.opl871:deck:6dc
Deck 6DC
Library Member Format: MODIFY
Source
Seq # *Modification Id* Act ----------------------------+ 00001 M00S00001.6dc +++| IDENT 6DC,MSFW 00002 M00S00002.6dc +++| PERIPH 00003 M00S00003.6dc +++| BASE MIXED 00004 M00S00004.6dc +++| SST 00005 M00S00005.6dc +++| TITLE 6DC - CONCURRENT PP OVERLAY LOADER. 00006 M00S00006.6dc +++|*COMMENT 6DC - CONCURRENT PP OVERLAY LOADER.
Line S00007 Modification History | |
---|---|
M01 (Removed by) | 281l803 |
Seq # *Modification Id* Act ----------------------------+ 00007 M01S00007.281l803 ---| COMMENT COPYRIGHT CONTROL DATA CORPORATION, 1985.
Line S00001 Modification History | |
---|---|
M01 (Added by) | 281l803 |
Seq # *Modification Id* Act ----------------------------+ 00008 M01S00001.281l803 +++| COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. 00009 M00S00008.6dc +++| 6DC SPACE 4,10 00010 M00S00009.6dc +++|*** 6DC - CONCURRENT PP OVERLAY LOADER. 00011 M00S00010.6dc +++|* 00012 M00S00011.6dc +++|* J. M. MAREK. 85/11/01. 00013 M00S00012.6dc +++| SPACE 4,20 00014 M00S00013.6dc +++|*** *6DC* LOADS 16-BIT OVERLAYS INTO CONCURRENT PPS (CPP). IT IS 00015 M00S00014.6dc +++|* EXPECTED THAT THE ONLY CPP SUBROUTINE TO CALL *6DC* WILL BE 00016 M00S00015.6dc +++|* THE PERIPHERAL LIBRARY LOADER (PLL) IN PP RESIDENT. *6DC* IS 00017 M00S00016.6dc +++|* LOADED INTO THE DRIVER OVERLAY AREA WHEN A CPP PROGRAM ISSUES 00018 M00S00017.6dc +++|* A *SETMS* REQUEST. *6DC* PROVIDES THE STANDARD DRIVER ENTRY 00019 M00S00018.6dc +++|* POINTS, *RDS*, *WDS*, AND *EMS*. 00020 M00S00019.6dc +++|* 00021 M00S00020.6dc +++|* WHEN IT IS CALLED AT *RDS*, IT EXAMINES THE PARAMETERS IN 00022 M00S00021.6dc +++|* *T5* - *T7*. IF THE PARAMETERS SPECIFY LOADING A CM RESIDENT 00023 M00S00022.6dc +++|* 16-BIT PP PROGRAM, *6DC* COMPLETES THE LOAD, PERFORMING THE 00024 M00S00023.6dc +++|* NECESSARY PACKING, AND RETURNS TO THE CALLER. IF A MASS 00025 M00S00024.6dc +++|* RESIDENT PROGRAM IS REQUESTED, *RDS* ISSUES AN ERROR LOG 00026 M00S00025.6dc +++|* MESSAGE AND RETURNS AN ERROR STATUS (-1) TO THE CALLER. IF 00027 M00S00026.6dc +++|* *T5* - *T7* DO NOT SPECIFY A 16-BIT LOAD, *6DC* HANGS THE 00028 M00S00027.6dc +++|* CPP. 00029 M00S00028.6dc +++|* 00030 M00S00029.6dc +++|* WHEN *6DC* IS CALLED AT *WDS*, IT ALSO HANGS THE *CPP*. 00031 M00S00030.6dc +++|* 00032 M00S00031.6dc +++|* WHEN IT IS CALLED AT *EMS*, IT SIMPLY RETURNS TO THE CALLER. 00033 M00S00032.6dc +++|* 00034 M00S00033.6dc +++|* NOTE. DURING EXECUTION *6DC* DESTROYS ITS PRESET CODE. 00035 M00S00034.6dc +++|* DRIVER PRESET SHOULD NEVER BE SPECIFIED WITHOUT DRIVER LOAD. 00036 M00S00035.6dc +++| SPACE 4,10 00037 M00S00036.6dc +++|*** ENTRY CONDITIONS. 00038 M00S00037.6dc +++|* 00039 M00S00038.6dc +++|* CM RESIDENT 16-BIT OVERLAY. 00040 M00S00039.6dc +++|* (T5 - T7) = 2/ ,4/ 10,18/ *RPL* ADDRESS,12/ LENGTH 00041 M00S00040.6dc +++|* 00042 M00S00041.6dc +++|* MS RESIDENT OVERLAY. (NOT SUPPORTED) 00043 M00S00042.6dc +++|* (T5 - T7) = 2/ ,4/ 14,6/ ESTO,12/ TRACK,12/ SECTOR 00044 M00S00043.6dc +++|* 00045 M00S00044.6dc +++|* MS READ. (NOT SUPPORTED) 00046 M00S00045.6dc +++|* (T5 - T7) = 3/0, 9/ ESTO,12/ TRACK,12/ SECTOR 00047 M00S00046.6dc +++| COMMON SPACE 4,10 00048 M00S00047.6dc +++|* COMMON DECKS. 00049 M00S00048.6dc +++| 00050 M00S00049.6dc +++| 00051 M00S00050.6dc +++|*CALL COMPMAC 00052 M00S00051.6dc +++|*CALL COMPIOU 00053 M00S00052.6dc +++|*CALL COMSMSC 00054 M00S00053.6dc +++|*CALL COMSMSP 00055 M00S00054.6dc +++| EJECT 00056 M00S00055.6dc +++|** ENTRY POINT TRANSFERS. 00057 M00S00056.6dc +++| 00058 M00S00057.6dc +++| 00059 M00S00058.6dc +++| ORG MSFW 00060 M00S00059.6dc +++| 00061 M00S00060.6dc +++| CON PRS PRESET ADDRESS 00062 M00S00061.6dc +++| 00063 M00S00062.6dc +++| 00064 M00S00063.6dc +++| RDS CON 0 ENTRY 00065 M00S00064.6dc +++| UJN RDS. ENTER DRIVER 00066 M00S00065.6dc +++| 00067 M00S00066.6dc +++| 00068 M00S00067.6dc +++| WDS CON 0 ENTRY 00069 M00S00068.6dc +++| UJN WDS. ENTER DRIVER 00070 M00S00069.6dc +++| EMS SPACE 4,10 00071 M00S00070.6dc +++|** EMS - END MASS STORAGE OPERATION. 00072 M00S00071.6dc +++|* 00073 M00S00072.6dc +++|* EXIT (A) = 0. 00074 M00S00073.6dc +++| 00075 M00S00074.6dc +++| 00076 M00S00075.6dc +++| .EMS SUBR ENTRY/EXIT 00077 M00S00076.6dc +++| LDN 0 00078 M00S00077.6dc +++| STM CHRV 00079 M00S00078.6dc +++| UJN .EMSX RETURN 00080 M00S00079.6dc +++| WDS SPACE 4,10 00081 M00S00080.6dc +++|** WDS - WRITE SECTOR. 00082 M00S00081.6dc +++|* 00083 M00S00082.6dc +++|* *WDS* HANGS THE PP WHEN IT IS CALLED. 00084 M00S00083.6dc +++|* 00085 M00S00084.6dc +++|* ENTRY (A) = BUFFER ADDRESS FOR SECTOR. 00086 M00S00085.6dc +++| 00087 M00S00086.6dc +++| 00088 M00S00087.6dc +++| WDS. MONITOR HNGM HANG THE PP 00089 M00S00088.6dc +++| WDS1 UJN WDS. CONTINUE HANGING 00090 M00S00089.6dc +++| RDS SPACE 4,10 00091 M00S00090.6dc +++|** RDS - READ SECTOR. 00092 M00S00091.6dc +++|* 00093 M00S00092.6dc +++|* ENTRY (A) = BUFFER ADDRESS FOR SECTOR. 00094 M00S00093.6dc +++|* 00095 M00S00094.6dc +++|* EXIT (A) = 0 IF TRANSFER COMPLETE. 00096 M00S00095.6dc +++|* = ERROR CODE IF ERROR OCCURRED. 00097 M00S00096.6dc +++| 00098 M00S00097.6dc +++| 00099 M00S00098.6dc +++| RDS6 EQU WDS1 00100 M00S00099.6dc +++| 00101 M00S00100.6dc +++| RDS7 LDM PLLA GET OVERLAY NAME 00102 M00S00101.6dc +++| STM RDSB 00103 M00S00102.6dc +++| LDM PLLB 00104 M00S00103.6dc +++| STM RDSB+1 00105 M00S00104.6dc +++| LDC RDSA+ERLN ISSUE ERROR LOG MESSAGE 00106 M00S00105.6dc +++| RJM DFM 00107 M00S00106.6dc +++| LDML RDS GET RETURN ADDRESS 00108 M00S00107.6dc +++| STDL CM 00109 M00S00108.6dc +++| LCN 1 SET ERROR FLAG 00110 M00S00109.6dc +++| LJM 0,CM RETURN 00111 M00S00110.6dc +++| 00112 M00S00111.6dc +++| RDS. LDD T5 CHECK 16-BIT LOAD BIT 00113 M00S00112.6dc +++| SHN 21-11 00114 M00S00113.6dc +++| RDS1 PJN RDS6 IF NOT 16-BIT LOAD 00115 M00S00114.6dc +++| SHN 21-10-21+11 00116 M00S00115.6dc +++| MJN RDS7 IF MS RESIDENT OVERLAY 00117 M00S00116.6dc +++| SHN 21-5-21+10 GET RPL HEADER 00118 M00S00117.6dc +++| SCN 77 00119 M00S00118.6dc +++| LMD T6 00120 M00S00119.6dc +++| CRD CM 00121 M00S00120.6dc +++| ADN 1 SET FWA OF OVERLAY 00122 M00S00121.6dc +++| STD T6 00123 M00S00122.6dc +++| SHN -14 00124 M00S00123.6dc +++| STD T5 00125 M00S00124.6dc +++| LDD CM+1 GET LOAD ADDRESS 00126 M00S00125.6dc +++| LPN 17 00127 M00S00126.6dc +++| SHN 14 00128 M00S00127.6dc +++| LMD CM+2 00129 M00S00128.6dc +++| ZJN RDS2 IF ZERO LEVEL OVERLAY 00130 M00S00129.6dc +++| STDL LA 00131 M00S00130.6dc +++| RDS2 STML 2,LA 00132 M00S00131.6dc +++| LDDL LA 00133 M00S00132.6dc +++| ADN 5 SET FWA OF OVERLAY CODE 00134 M00S00133.6dc +++| STDL CM+2 00135 M00S00134.6dc +++| SOD T7 COMPUTE THE NUMBER OF BYTES 00136 M00S00135.6dc +++| SHN 4 BYTES = WORDS(15)/4 AND TRUNCATED 00137 M00S00136.6dc +++| SBD T7 00138 M00S00137.6dc +++| SHN -2 00139 M00S00138.6dc +++| ADDL CM+2 COMPUTE THE LAST BYTE ADDRESS 00140 M00S00139.6dc +++| STDL T7 00141 M00S00140.6dc +++| SHN -15 00142 M00S00141.6dc +++| NJN RDS1 IF OVERLAY WRAPS MEMORY 00143 M00S00142.6dc +++| LDD CM BUILD NORMAL OVERLAY HEADER 00144 M00S00143.6dc +++| STI LA 00145 M00S00144.6dc +++| LDD CM+1 00146 M00S00145.6dc +++| SCN 77 00147 M00S00146.6dc +++| STM 1,LA 00148 M00S00147.6dc +++| LDN 1 00149 M00S00148.6dc +++| STM 3,LA 00150 M00S00149.6dc +++| LDD CM+4 00151 M00S00150.6dc +++| STM 4,LA 00152 M00S00151.6dc +++| LDN 4 00153 M00S00152.6dc +++| STD T4 00154 M00S00153.6dc +++| 00155 M00S00154.6dc +++|* START THE MAIN LOOP WITH THESE INITIAL CONDITIONS - 00156 M00S00155.6dc +++|* 00157 M00S00156.6dc +++|* (T4) = 4. 00158 M00S00157.6dc +++|* (T5 - T6) = FWA OF THE OVERLAY IN CM. 00159 M00S00158.6dc +++|* (T7) = LAST BYTE ADDRESS+1 OF THE OVERLAY IN PP MEMORY. 00160 M00S00159.6dc +++|* (CM+2) = FWA OF THE OVERLAY CODE. 00161 M00S00160.6dc +++|* (LA) = LOAD ADDRESS OF THE OVERLAY. 00162 M00S00161.6dc +++| 00163 M00S00162.6dc +++|* GET 15 16-BIT BYTES. 00164 M00S00163.6dc +++| 00165 M00S00164.6dc +++| RDS3 LDD T5 READ THE NEXT 4 WORDS 00166 M00S00165.6dc +++| SHN 14 00167 M00S00166.6dc +++| LMD T6 00168 M00S00167.6dc +++| CRM BUF,T4 00169 M00S00168.6dc +++| STD T6 00170 M00S00169.6dc +++| SHN -14 00171 M00S00170.6dc +++| STD T5 00172 M00S00171.6dc +++| LDC BUF 00173 M00S00172.6dc +++| STD CM 00174 M00S00173.6dc +++| 00175 M00S00174.6dc +++|* LOAD 12 BITS FROM THE FIRST BYTE AND 4 FROM THE NEXT. 00176 M00S00175.6dc +++| 00177 M00S00176.6dc +++| RDS4 LDI CM 00178 M00S00177.6dc +++| SHN 4 00179 M00S00178.6dc +++| STIL CM+2 00180 M00S00179.6dc +++| AOD CM 00181 M00S00180.6dc +++| LDI CM 00182 M00S00181.6dc +++| SHN -8D 00183 M00S00182.6dc +++| RAIL CM+2 00184 M00S00183.6dc +++| AODL CM+2 00185 M00S00184.6dc +++| SBDL T7 00186 M00S00185.6dc +++| PJN RDS5 IF LAST BYTE 00187 M00S00186.6dc +++| 00188 M00S00187.6dc +++|* LOAD 8 BITS FROM THE CURRENT BYTE AND 8 FROM THE NEXT. 00189 M00S00188.6dc +++| 00190 M00S00189.6dc +++| LDI CM 00191 M00S00190.6dc +++| SHN 8D 00192 M00S00191.6dc +++| SCN 77 00193 M00S00192.6dc +++| STIL CM+2 00194 M00S00193.6dc +++| AOD CM 00195 M00S00194.6dc +++| LDI CM 00196 M00S00195.6dc +++| SHN -4 00197 M00S00196.6dc +++| RAIL CM+2 00198 M00S00197.6dc +++| AODL CM+2 00199 M00S00198.6dc +++| SBDL T7 00200 M00S00199.6dc +++| PJN RDS5 IF LAST BYTE 00201 M00S00200.6dc +++| 00202 M00S00201.6dc +++|* LOAD 4 BITS FROM THE CURRENT BYTE AND 12 BITS FROM THE NEXT. 00203 M00S00202.6dc +++| 00204 M00S00203.6dc +++| LDI CM 00205 M00S00204.6dc +++| LPN 17 00206 M00S00205.6dc +++| SHN 12D 00207 M00S00206.6dc +++| STIL CM+2 00208 M00S00207.6dc +++| AOD CM 00209 M00S00208.6dc +++| LDI CM 00210 M00S00209.6dc +++| RAIL CM+2 00211 M00S00210.6dc +++| AODL CM+2 00212 M00S00211.6dc +++| SBDL T7 00213 M00S00212.6dc +++| PJN RDS5 IF LAST BYTE 00214 M00S00213.6dc +++| 00215 M00S00214.6dc +++|* CHECK FOR MORE DATA. 00216 M00S00215.6dc +++| 00217 M00S00216.6dc +++| AOD CM 00218 M00S00217.6dc +++| SBK BUF+4*5 00219 M00S00218.6dc +++| MJP RDS4 IF 4 WORDS HAVE NOT BEEN PROCESSED 00220 M00S00219.6dc +++| UJP RDS3 GET 4 MORE WORDS 00221 M00S00220.6dc +++| 00222 M00S00221.6dc +++| RDS5 LDML RDS GET RETURN ADDRESS 00223 M00S00222.6dc +++| STDL CM 00224 M00S00223.6dc +++| LDN 0 00225 M00S00224.6dc +++| LJM 0,CM RETURN 00226 M00S00225.6dc +++| 00227 M00S00226.6dc +++| 00228 M00S00227.6dc +++| RDSA DATA H* 6DC -* 00229 M00S00228.6dc +++| RDSB DATA C* XXX IS MASS RESIDENT.* 00230 M00S00229.6dc +++| 00231 M00S00230.6dc +++| BUF BSS 0 00232 M00S00231.6dc +++|* BSS 4*5 00233 M00S00232.6dc +++| PRS SPACE 4,10 00234 M00S00233.6dc +++|** PRS - PRESET. 00235 M00S00234.6dc +++|* 00236 M00S00235.6dc +++|* CALLS SLI. 00237 M00S00236.6dc +++| 00238 M00S00237.6dc +++| 00239 M00S00238.6dc +++| PRS LDC PRSA GET TABLE OF LONG INSTRUCTIONS 00240 M00S00239.6dc +++| STD CM+4 00241 M00S00240.6dc +++| LDD T3 PRESERVE *T3* 00242 M00S00241.6dc +++| STD CM+3 00243 M00S00242.6dc +++| PRS1 LDI CM+4 GET NEXT INSTRUCTION ADDRESS 00244 M00S00243.6dc +++| ZJN PRS2 IF END OF LIST 00245 M00S00244.6dc +++| STD T3 00246 M00S00245.6dc +++| BLI T3 BUILD LONG INSTRUCTION 00247 M00S00246.6dc +++| AOD CM+4 00248 M00S00247.6dc +++| UJN PRS1 PROCESS NEXT INSTRUCTION 00249 M00S00248.6dc +++| 00250 M00S00249.6dc +++| PRS2 LDD CM+3 RESTORE *T3* 00251 M00S00250.6dc +++| STD T3 00252 M00S00251.6dc +++| LDC SMSX ENSURE PRESET IS NOT RE-EXECUTED 00253 M00S00252.6dc +++| STM MSFW 00254 M00S00253.6dc +++| LJM SMSX RETURN 00255 M00S00254.6dc +++| 00256 M00S00255.6dc +++| 00257 M00S00256.6dc +++| PRSA BSS 0 00258 M00S00257.6dc +++| LIST16 00259 M00S00258.6dc +++| 00260 M00S00259.6dc +++| .1 MAX *,BUF+4*5 00261 M00S00260.6dc +++| .1 SET .1+4-MSFW CHECK FOR OVERFLOW 00262 M00S00261.6dc +++| .1 SET .1/5 00263 M00S00262.6dc +++| .1 SET MSFW+.1*5 00264 M00S00263.6dc +++| .2 SET PPFW-5-*-5 BYTES AVAILABLE BEFORE OVERFLOW 00265 M00S00264.6dc +++| ERRNG PPFW-5-.1 DRIVER OVERFLOWS INTO *PPFW*-5 00266 M00S00265.6dc +++| END
cdc/nos2.source/opl.opl871/deck/6dc.txt ยท Last modified: (external edit)