|
DataMuseum.dkPresents historical artifacts from the history of: CR80 Hard and Floppy Disks |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CR80 Hard and Floppy Disks Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 11240 (0x2be8) Types: TextFile Names: »MTCB_DATAINIT.P«
└─⟦ffe699cee⟧ Bits:30005101 8" CR80 Floppy CR80FD_0060 ( VOL: SCC.V NSC Directories: EVR.D OCP.D SCCINIT.D ) └─⟦9c1658a4c⟧ └─⟦this⟧ »SCCINIT.D!MTCB_DATAINIT.P«
======== MTCB_DATAINIT.S 00.00001 "====================================================================" 00.00002 "--------------------------------------------------------------------" 00.00003 " " 00.00004 " PROCEDURE NAME: MTCB_DATAINIT " 00.00005 " NUMBER: 08.00.00 " 00.00006 " " 00.00007 " SUBSYSTEM NAME: - " 00.00008 " " 00.00009 " COPYRIGHT: CHRISTIAN ROVSING A/S " 00.00010 " " 00.00011 " CF/800804 RELEASE: 01 VERSION: 00 " 00.00012 " " 00.00013 "--------------------------------------------------------------------" 00.00014 " " 00.00015 " FUNCTION: " 00.00016 " INITIALIZES THE DATA AREA USED BY THE MTCB MONITOR " 00.00017 " " 00.00018 " INPUT: " 00.00019 " TAKEN FROM CONFIGURATION TABLE ON PAGE 1, " 00.00020 " WORD 0 CONTAINS POINTER TO MTCB RECORD TYPE MTCB1 " 00.00021 " " 00.00022 " OUTPUT: " 00.00023 " INITIALIZED MTCB DATA AREA " 00.00024 " " 00.00025 "--------------------------------------------------------------------" 00.00026 " " 00.00027 " USE OF REGISTERS: " 00.00028 " " 00.00029 " CALL: RETURN: " 00.00030 " R0: - KEPT " 00.00031 " R1: - KEPT " 00.00032 " R2: - KEPT " 00.00033 " R3: - KEPT " 00.00034 " R4: - KEPT " 00.00035 " R5: - KEPT " 00.00036 " R6: LINK KEPT " 00.00037 " R7: - KEPT " 00.00038 " " 00.00039 " USE OF RETURN POINTS: " 00.00040 " LINK: DONE " 00.00041 " " 00.00042 "--------------------------------------------------------------------" 00.00043 " " 00.00044 " LIST OF PROCEDURES CALLED: NONE " 00.00045 " " 00.00046 "--------------------------------------------------------------------" 00.00047 " " 00.00048 " MODIFICATIONS: - " 00.00049 " " 00.00050 "--------------------------------------------------------------------" 00.00051 "====================================================================" 00.00052 00.00053 00.00054 00.00055 SUBMODULE MTCB_DATAINIT; 00.00056 00.00057 00.00058 %SOURCE ======== MTCB_TYPES.S ======== MTCB_DATAINIT.S 00.00058 00.00059 00.00060 00.00061 EXPORT PROCEDURE MTCB_DATAINIT "CALLED BY ESP PROCESS 00.00062 (R6); "LINK 00.00063 00.00064 00.00065 00.00066 VAR 00.00067 SAVE: ARRAY[0..7] OF INTEGER; 00.00068 00.00069 " SUBSYSTEM UPDATE MASKS 00.00070 "--------------------------- 00.00071 00.00072 CONST 00.00073 US1= #0000; " READ ONLY ACCESS 00.00074 US2= #0780; " WRITE USERWORDS(4-7) 00.00075 US3= #0180; " NSS ACCESS 00.00076 US4= #07B1; " WRITE CONTROL MSG. PAR. 00.00077 US5= #07BF; " WRITE NARRATIVE MSG. PAR 00.00078 US6= #07FF; " WRITE ALL 00.00079 00.00080 «ff»00.00081 "PAGE 00.00081 BEGIN 00.00082 00.00083 "********************************************" 00.00084 " " 00.00085 " INITIALIZATION OF BASIC POINTERS " 00.00086 " " 00.00087 "********************************************" 00.00088 00.00089 R7=>SAVE[7]; 00.00090 STC(6,ADDRESS(SAVE[7])=>R7); 00.00091 SVS(R1); "GET PSW 00.00092 R1=>R3; 00.00093 SETS (R3,2=>R7); "SET BIT 2 00.00094 CLRS (R3,3=>R7); "CLEAR BIT 3, PAGE 1 DEFINED 00.00095 R3 IOR (#E000=>R7); "SET DISABLE INTERRUPTS 00.00096 8@INTEGER=>R2; 00.00097 LDS(R3); "CHANGE TO PAGE 1 00.00098 (-R2)@INTEGER=>R6+R2; "POINTER MTCB1 DATA TO R6 00.00099 R6@MTCB1.PAGE=>R7; 00.00100 R6@MTCB1.OFFS=>R5+R2; 00.00101 R3=>R4; 00.00102 CLRS (R3,2=>R0); R3 IOR (R7 SHIFTLL 2); "MTCB PSW IN R3 00.00103 R6@MTCB1.MPCB=>R0; 00.00104 R6@MTCB1.MPROC=>R7; 00.00105 LDS(R3); "CHANGE TO MTCB DATA PAGE 00.00106 R0=>R5@MTCB2.MPCB; 00.00107 R7=>R5@MTCB2.MPROC; 00.00108 ADDRESS(R5@MTCB2.SEM)=>R0+1-R2; "R0 = ABS PPCBI0 00.00109 R0=>R5@MTCB2.PPCBI0; 00.00110 R0+1+R5@MTCB2.MPCB=>R5@MTCB2.PSAAR1; 00.00111 0=>R7=>R5@MTCB2.SAARWUS; 00.00112 LDS(R4); "BACK TO PAGE 1 00.00113 R6@MTCB1.NMTCB=>R4; 00.00114 R6@MTCB1.NPDB=>R7; 00.00115 R6@MTCB1.NIMF=>R6; 00.00116 LDS(R3); "TO MTCB DATA PAGE AGAIN 00.00117 R4=>R5@MTCB2.NMTCB; 00.00118 R6=>R5@MTCB2.NIMF; 00.00119 R7=>R5@MTCB2.NPDB; 00.00120 R5@MTCB2.MPROC=>R7 SHIFTLL 4; "16*MPROC IN R7 00.00121 R0+R7=>R5@MTCB2.PUPMASK; 00.00122 R0+6=>R5@MTCB2.PMTCB; 00.00123 R4=>R7 SHIFTLL 3 +R4; "9*NMTCB IN R7 00.00124 R0+R7=>R5@MTCB2.PIMF; 00.00125 R0+R6=>R5@MTCB2.PPDB; 00.00126 6=>R7=>R5@MTCB2.NSUBSYS; 00.00127 1=>R7=>R5@MTCB2.IFFMTCB; 00.00128 R7=>R5@MTCB2.IFFIMF; 00.00129 R7=>R5@MTCB2.IFFPDB; 00.00130 00.00131 R0+R5@MTCB2.NPDB+R2; 00.00132 ADDRESS(R5@MTCB2.SEM)=>R7; R0-1; 00.00133 WHILE R7<R0 DO 00.00134 0=>(R7+1)@INTEGER; "FILL MTCB AREA WITH ZEROES 00.00135 00.00136 00.00137 «ff»00.00138 "PAGE 00.00138 "********************************************" 00.00139 " " 00.00140 " INITIALIZATION OF PCB INDEXED TABLE " 00.00141 " " 00.00142 "********************************************" 00.00143 00.00144 R5@MTCB2.PPCBI0=>R3+R2; 00.00145 R3-1=>R6+R5@MTCB2.MPCB; 00.00146 WHILE R6>=R3 DO 00.00147 0=>(R3+1)@INTEGER; "FILL PCB INDEXED TABLE_ 00.00148 "WITH ZEROES 00.00149 00.00150 00.00151 "********************************************" 00.00152 " " 00.00153 " INITIALIZATION OF SUBSYSTEMS UPDATE MASK " 00.00154 " " 00.00155 "********************************************" 00.00156 00.00157 R5@MTCB2.PUPMASK=>R3+R2; 00.00158 US1=>R3@INTEGER; "FILLING 00.00159 US2=>(R3+1)@INTEGER; "UP 00.00160 US3=>(R3+1)@INTEGER; "SUB- 00.00161 US4=>(R3+1)@INTEGER; "SYSTEMS 00.00162 US5=>(R3+1)@INTEGER; "UPDATE 00.00163 US6=>(R3+1)@INTEGER; "MASK 00.00164 00.00165 «ff»00.00166 "PAGE 00.00166 "********************************************" 00.00167 " " 00.00168 " INITIALIZATION OF MTCB AREA " 00.00169 " AS A LINKED LIST " 00.00170 " " 00.00171 "********************************************" 00.00172 00.00173 R5@MTCB2.NMTCB=>R4; 00.00174 R3-8; 00.00175 1=>R6; 00.00176 WHILE R6<R4 DO "FILL-IN 00.00177 R6+1=>(R3+9)@INTEGER; "INDEX LINKS IN MTCB WORD 0 00.00178 0=>(R3+9)@INTEGER; "LAST LINK=0 00.00179 00.00180 00.00181 "********************************************" 00.00182 " " 00.00183 " INITIALIZATION OF LINKED IMF LIST " 00.00184 " " 00.00185 "********************************************" 00.00186 00.00187 R5@MTCB2.NIMF=>R4; 00.00188 R3+8; 00.00189 1=>R6; 00.00190 WHILE R6<R4 DO "FILL-IN 00.00191 R6+1=>(R3+1)@INTEGER; "LINK INDICES 00.00192 0=>(R3+1)@INTEGER; "LAST LINK=0 00.00193 00.00194 "********************************************" 00.00195 " " 00.00196 " INITIALIZATION OF LINKED PDB LIST " 00.00197 " " 00.00198 "********************************************" 00.00199 00.00200 R5@MTCB2.NPDB=>R4; 00.00201 1=>R6; 00.00202 WHILE R6<R4 DO "FILL-IN 00.00203 R6+1=>(R3+1)@INTEGER; "LINK INDICES 00.00204 0=>(R3+1)@INTEGER; "LAST LINK=0 00.00205 00.00206 «ff»00.00207 "PAGE 00.00207 "********************************************" 00.00208 " " 00.00209 " INITIALIZATION OF GLOBAL SEMAPHORE " 00.00210 " " 00.00211 "********************************************" 00.00212 00.00213 0=>R7=>R5@MTCB2.SEM; 00.00214 00.00215 LDS(R1); "CHANGE TO OWN PAGE 00.00216 00.00217 00.00218 UNS(6,ADDRESS(SAVE[0])=>R7); 00.00219 SAVE[7]=>R7; 00.00220 00.00221 EXIT(R6); 00.00222 00.00223 END "MTCB_DATAINIT"; 00.00224 00.00225 ENDMODULE LINES: 329 CODESIZE VARSIZE CONSTSIZE TEMPSIZE -------- ------- --------- -------- #0094 #0008 #0000 #0000 2