DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Hard and Floppy Disks

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Hard and Floppy Disks

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦948bd0802⟧ TextFile

    Length: 11240 (0x2be8)
    Types: TextFile
    Names: »MTCB_DATAINIT.P«

Derivation

└─⟦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« 

TextFile



======== MTCB_DATAINIT.S«nul»

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«nul»«nul»«nul»«nul»


======== MTCB_DATAINIT.S«nul»

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