|
|
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: 23140 (0x5a64)
Types: TextFile
Names: »INIT.P«
└─⟦8c095a7f3⟧ Bits:30005798 CR80 Disc Pack ( Vol ILS systemdisk XAMOS TOS 10:01 hard boot #43c 19-7-87/JFJ )
└─⟦this⟧ »SYSTEMS.D!XAMOS.D!GEN850501.D!FILE.D!FMS.D!MY_SYSTEM.D!INIT.P«
└─⟦this⟧ »SYSTEMS.D!XAMOS.D!GEN850501.D!FMS.D!MY_SYSTEM.D!INIT.P«
└─⟦c2e810e96⟧ Bits:30005799 CR80 Disc Pack ( XAMOS 841129 ILS TOS 10-01 System Disk Tilhører ILS/MSG hard boot boot entry #43c )
└─⟦this⟧ »SYSTEMS.D!XAMOS.D!GEN850501.D!FILE.D!FMS.D!MY_SYSTEM.D!INIT.P«
└─⟦this⟧ »SYSTEMS.D!XAMOS.D!GEN850501.D!FMS.D!MY_SYSTEM.D!INIT.P«
└─⟦e0c43619c⟧ Bits:30005797 CR80 Disc pack ( Vol:FNJ1 861029/EC CR80 S/W Package II+III+IV+V+VII )
└─⟦this⟧ »CSP005_V0501.D!CSS920.D!LINK.D!MY_SYSTEM.D!INIT.P«
Swell Compiler Version 0500 2.Apr.1985 10:00:38 Page: 1 Source: INIT.S
======== INIT.S
00.00001 "--------------------------------------------------------------------
00.00002 "
00.00003 " PROJECT: AMOS
00.00004 "
00.00005 " MODULE NAME: CR File System, adaption and initialize module
00.00006 " MODULE ID NMB: CSS/920
00.00007 " MODULE VERSION: 0601
00.00008 " MODULE TYPE: MAIN MODULE
00.00009 " MODULE FILES: S
00.00010 " IO.I
00.00011 " CONFIG.S
00.00012 " GENS.D*COMON_IF.I
00.00013 " MERGE FILES: @**GENS.D*SWELLPREFIX.D*GENERALPARAMS.S
00.00014 " @**GENS.D*SWELLPREFIX.D*X2GENPARAMS.S
00.00015 " @**GENS.D*SWELLPREFIX.D*MONITORNAMES.S
00.00016 "
00.00017 " SPECIFICATIONS: CR80 AMOS, File Management System, SPS,
00.00018 " CSS/920/SPS/0001.
00.00019 " AUTHOR/DATE: GMC/810410
00.00020 "
00.00021 " DELIVERABLE: YES
00.00022 " SOURCE LANGUAGE: SWELL
00.00023 " COMPILE COMPUTER: CR80
00.00024 " TARGET COMPUTER: CR80
00.00025 " OPERATING SYSTEM: AMOS
00.00026 "
00.00027 "--------------------------------------------------------------------
00.00028 "
00.00029 " CHANGE RECORD
00.00030 "
00.00031 " VERSION AUTHOR/DATE DESCRIPTION OF CHANGE
00.00032 " ------- ----------- ---------------------
00.00033 "
00.00034 " 0001 NMJ/800919 Pre-release
00.00035 " 0101 GMC/801231 First official release.
«ff»Swell Compiler Version 0500 2.Apr.1985 10:00:38 Page: 2 Source: INIT.S
00.00036 " 0103 GMC/810223 Check of sectors available introduced.
00.00037 " 0202 GMC/810401 Minor changes to source text layout.
00.00038 " 0301 GMC/810706 Minor change to init-dcm parameters.
00.00039 " 0402 GMC/820210 A new configuration parameter, OC_output,
00.00040 " is introduced, which defines whether or
00.00041 " not INIT should write on the OC.
00.00042 " 0403 EKH/820501 Process size is fetched from iodata-ref
00.00043 " rather than from bound, for XAMOS
00.00044 " 0501 GMC/820709 The FMS no longer prints its version number.
00.00045 " 0601 JAS/830927 The coroutine monitor is accessed via the
00.00046 " coroutine-monitor-interface.
00.00047 " Parameters are given in a record rather
00.00048 " than constant parameters.
00.00049 "
00.00050 "--------------------------------------------------------------------
00.00051 "
«ff»Swell Compiler Version 0500 2.Apr.1985 10:00:38 Page: 3 Source: INIT.S
00.00052
00.00052
00.00053
00.00054 MAINMODULE FMS_INIT_0601;
00.00055 "-------------------------"
00.00056
00.00057
00.00058
00.00059 %XREF %XREF %XREF
00.00060 %SOURCE @**GENS.D*SWELLPREFIX.D*GENERALPARAMS.S
======== GENERALPARAMS.S
======== INIT.S
00.00061 %SOURCE @**GENS.D*SWELLPREFIX.D*MONITORNAMES.S
======== MONITORNAMES.S
======== INIT.S
00.00062 %SOURCE @**GENS.D*SWELLPREFIX.D*X2GENPARAMS.S
======== X2GENPARAMS.S
======== INIT.S
00.00063 %SOURCE GENS.D*COMON_IF.I
======== COMON_IF.I
======== INIT.S
00.00064
00.00065 %PRINT
00.00066 %LIST
00.00067 %SOURCE GENS.D*INIT_DEFNS.S
======== INIT_DEFNS.S
«ff»Swell Compiler Version 0500 2.Apr.1985 10:00:38 Page: 4 Source: INIT_DEFNS.S
05.00001 "Init record definition, used by all configurable modules of the File System"
05.00002 "---------------------------------------------------------------------------"
05.00003
05.00004 "JAS / 84 04 11"
05.00005
05.00006
05.00007
05.00008 type
05.00009 port_priority = "used by ctrl
05.00010 (low_pri,
05.00011 normal_pri,
05.00012 high_pri);
05.00013
05.00014 type
05.00015 dma_port_spec = "used by ctrl
05.00016 record
05.00017 name : pname;
05.00018 ports : array [port_priority] of integer;
05.00019 end;
05.00020
05.00021 type
05.00022 init_fms =
05.00023 record
05.00024 nbr_fhs, "used by fm & dcm
05.00025 nbr_chs, "used by cram
05.00026 nbr_ths, "used by tqm & dcm
05.00027 nbr_local_ports, "used by ctrl
05.00028 nbr_dmas, "used by ctrl
05.00029 dma_port_spec_table_ptr, "used by ctrl
05.00030 nbr_fd_drvs, "used by fm
05.00031 fd_name_ptr, "used by fm
05.00032 nbr_cdc_drvs, "used by fm
05.00033 cdc_name_ptr, "used by fm
05.00034 nbr_ucbs, "used by fm
05.00035 nbr_dcbs, "used by fm
05.00036 nbr_fcbs, "used by fm
05.00037 nbr_caps, "used by fm
05.00038 time_update, "used by fm
05.00039 access_time_update, "used by fm
05.00040 nbr_dbcbs, "used by dcm
05.00041 cramteststacksize, "used by cram
05.00042 cram_init_table_ptr, "used by cram
«ff»Swell Compiler Version 0500 2.Apr.1985 10:00:38 Page: 5 Source: INIT_DEFNS.S
05.00043 cache_size, "used by fm, dcm & ctrl
05.00044 OC_output "used by init
05.00045 : integer;
05.00046 port_group_names "used by ctrl
05.00047 : array [port_priority] of group_name;
05.00048 end;
05.00049
======== INIT.S
00.00068
00.00069 import var
00.00070 sectors_available : integer;
00.00071
00.00072 var
00.00073 init_corout : coroutine_descriptor;
00.00074 init_sem : semaphore;
00.00075 init_fms_params : init_fms;
00.00076
00.00077
00.00078 procedure init_sys(r6); "registers destroyed"
00.00079
00.00080 " First the process size of the FMS is checked by calling a procedure in
00.00081 " all modules giving the accumulated size of the required workspace
00.00082 " and comparing this to the free workspace.
00.00083 " Conventions for size_procedure calls
00.00084 "
00.00085 " r5 ptr to a record of type init_fms (kept)
00.00086 " r3 updated with the size of the module
00.00087 " r6 link
00.00088 " other registers, except r4, may be destroyed
00.00089 "
00.00090 " Then all modules in the system are activated by calling their initialize procedures.
00.00091 " Each module should initialize its own data structures, including coroutines
00.00092 " and semaphores.
00.00093 " Workarea may be allocated from the common workarea pool.
00.00094 " Conventions for initialize procedure calls:
00.00095 "
00.00096 " r5 ptr to a record of type init_fms (kept)
00.00097 " r0 top of free workarea pool (kept)
00.00098 " r4 call:
00.00099 " first free of workarea when called
«ff»Swell Compiler Version 0500 2.Apr.1985 10:00:38 Page: 6 Source: INIT.S
00.00100 " return:
00.00101 " first free of workarea;
00.00102 " on return, >> r0 implies workarea is too small
00.00103 " r6 link
00.00104 " other registers may be destroyed
00.00105 "page
«ff»Swell Compiler Version 0500 2.Apr.1985 10:00:38 Page: 7 Source: INIT.S
00.00106
00.00106 %SOURCE CONFIG.S
======== CONFIG.S
06.00001 "Configuration parameters"
06.00002 "------------------------"
06.00003
06.00004
06.00005 const
06.00006
06.00007 nbr_fhs = 2; "number of file handlers
06.00008 nbr_chs = 0; "number of CRAM handlers
06.00009 nbr_ths = 0; "number of transaction handlers
06.00010
06.00011 nbr_local_ports = 2;
06.00012 nbr_dmas = 1; "the number of DMA drivers, that the ctrl can
06.00013 "communicate with;
06.00014 "the names are specified in the table below.
06.00015
06.00016 nbr_fd_drvs = 1; "number of floppy disk drivers that the FMS can use;
06.00017 "the names are specified in the table below.
06.00018 nbr_cdc_drvs= 2; "number of CDC disk drivers that the FMS can use;
06.00019 "the names are specified in the table below.
06.00020
06.00021 nbr_ucbs = 25; "number of user control blocks: represents the
06.00022 "maximum number of processes that can use the FMS
06.00023 "at a time
06.00024 nbr_dcbs = 4; "number of device control blocks: represents the
06.00025 "maximum number of devices that may be assigned
06.00026 "at a time
06.00027 nbr_fcbs = 70; "number of file control blocks: represents the
06.00028 "maximum number of files that may be open
06.00029 "at a time
06.00030 nbr_caps =100; "number of capabilities: represents the max nbr of
06.00031 "connections between files and users that may exist
06.00032 "at a time (and hence must be >= nbr_fcbs)
06.00033
06.00034 time_update =true; "should the file manager update the disk_time_stamps?
06.00035 access_time_update =true; "should the acces_time stamp be updated?
06.00036
06.00037 nbr_dbcbs = 4; "number of database control blocks: represents the
«ff»Swell Compiler Version 0500 2.Apr.1985 10:00:38 Page: 8 Source: CONFIG.S
06.00038 "maximum number of databases that may be used
06.00039 "at a time
06.00040
06.00041 cramteststacksize = 100;
06.00042
06.00043 cache_size = 27; "number of sectors in the cache: increasing this
06.00044 "value should increase efficiency, but it also
06.00045 "increases the workarea required by the FMS process;
06.00046 "normally it should be set to a low value to begin
06.00047 "with (25 for example), then the system should be
06.00048 "configured to give the FMS as large a process space
06.00049 "as possible, while still keeping it and the disk
06.00050 "drivers in the same memory section, then the cache
06.00051 "size can be increased so that the excessive process
06.00052 "space is minimal.
06.00053
06.00054 OC_output = true;
06.00055 OC_init = OC_output ior true;
06.00056
06.00057 var
06.00058 dma_port_spec_table: array [0..size(dma_port_spec)*nbr_dmas] of integer;
06.00059 "Each entry consisting of the dma process name, and the nbr of
06.00060 "ports for low, medium and high priority, respectively.
06.00061
06.00062 init
06.00063 dma_port_spec_table=
06.00064 'DMA000', 0, 4, 0,
06.00065 -1; "table terminator
06.00066
06.00067 init
06.00068 init_fms_params.port_group_names=
06.00069 'SLOW',
06.00070 'FILE',
06.00071 'FAST';
06.00072
06.00073 var
06.00074 fd_names : array [0..nbr_fd_drvs*size(pname)] of integer;
06.00075 "Each entry specifies the name of a floppy disk driver process to be used.
06.00076
06.00077 init
06.00078 fd_names=
06.00079 'FDD000',
«ff»Swell Compiler Version 0500 2.Apr.1985 10:00:38 Page: 9 Source: CONFIG.S
06.00080 0; "table terminator
06.00081
06.00082 var
06.00083 cdc_names : array [0..nbr_cdc_drvs*size(pname)] of integer;
06.00084 "Each entry specifies the name of a cdc disk driver process to be used.
06.00085
06.00086 init
06.00087 cdc_names=
06.00088 'CDC000',
06.00089 'CDC001',
06.00090 0; "table terminator
06.00091
06.00092 var
06.00093 cram_init_table: array [0..nbr_chs+nbr_dbcbs] of integer;
06.00094 "One entry per CRAM handler. An entry consists of the blocksize (in
06.00095 "bytes, 512*n) + no of extra (allocate) buffers, followed by the
06.00096 "identification number of each dbcb that is to be handled by handler.
06.00097
06.00098 %WHEN nbr_chs = 0 SKIP
06.00105
06.00106
======== INIT.S
00.00107
00.00108 %SOURCE IO.I
======== IO.I
07.00001 "Process termination procedures"
07.00002 "------------------------------"
07.00003
07.00004 "JAS / 83 11 29"
07.00005
07.00006
07.00007
07.00008 import procedure terminate_me
07.00009 (r0; " C - completion code
07.00010 r1; " C - secondary completion code
07.00011 r6);" C - pseudo link
07.00012
07.00013
«ff»Swell Compiler Version 0500 2.Apr.1985 10:00:38 Page: 10 Source: IO.I
07.00014
07.00015 "Procedures to handle Input and Output to the Operators Console"
07.00016 "--------------------------------------------------------------"
07.00017
07.00018 "JAS / 83 12 15"
07.00019
07.00020
07.00021
07.00022 import procedure init_oc(r1; "destroyed
07.00023 r6); "link
07.00024
07.00025 import procedure out_text(r2; "address of text to be output
07.00026 r6 "link");
07.00027
07.00028 import procedure out_line(r1; "address of text to be output
07.00029 r2; "number of bytes to be output
07.00030 r6 "link");
07.00031
07.00032 import procedure out_hexa(r2; "integer to be output
07.00033 r6 "link");
07.00034
07.00035 import procedure out_integer(r2; "integer to be output
07.00036 r6 "link");
07.00037
07.00038 import procedure out_long(r12; "long integer to be output
07.00039 r6 "link");
07.00040
======== INIT.S
00.00109
00.00110 init
00.00111 init_fms_params.nbr_fhs = nbr_fhs;
00.00112 init_fms_params.nbr_chs = nbr_chs;
00.00113 init_fms_params.nbr_ths = nbr_ths;
00.00114 init_fms_params.nbr_local_ports = nbr_local_ports;
00.00115 init_fms_params.dma_port_spec_table_ptr = address (dma_port_spec_table);
00.00116 init_fms_params.nbr_dmas = nbr_dmas;
00.00117 init_fms_params.nbr_fd_drvs = nbr_fd_drvs;
00.00118 init_fms_params.fd_name_ptr = address(fd_names);
00.00119 init_fms_params.nbr_cdc_drvs = nbr_cdc_drvs;
00.00120 init_fms_params.cdc_name_ptr = address(cdc_names);
«ff»Swell Compiler Version 0500 2.Apr.1985 10:00:38 Page: 11 Source: INIT.S
00.00121 init_fms_params.nbr_ucbs = nbr_ucbs;
00.00122 init_fms_params.nbr_dcbs = nbr_dcbs;
00.00123 init_fms_params.nbr_fcbs = nbr_fcbs;
00.00124 init_fms_params.nbr_caps = nbr_caps;
00.00125 init_fms_params.time_update = time_update;
00.00126 init_fms_params.access_time_update = access_time_update and time_update;
00.00127 init_fms_params.nbr_dbcbs = nbr_dbcbs;
00.00128 init_fms_params.cramteststacksize = cramteststacksize;
00.00129 init_fms_params.cram_init_table_ptr = address(cram_init_table);
00.00130 init_fms_params.cache_size = cache_size;
00.00131
00.00132
00.00133 "Submodule initialisation procedures
00.00134 "-----------------------------------
00.00135
00.00136 import procedure size_ctrl(r5; r3; r6);
00.00137 import procedure init_ctrl(r5; r0; r4; r6);
00.00138
00.00139 import procedure size_dcm (r5; r3; r6);
00.00140 import procedure init_dcm (r5; r0; r4; r6);
00.00141
00.00142 import procedure size_fm (r5; r3; r6);
00.00143 import procedure init_fm (r5; r0; r4; r6);
00.00144
00.00145 %WHEN nbr_ths = 0 SKIP
00.00146" import procedure init_tqm(nbr_ths : integer;
00.00147" r0; r4; r6);
00.00148"%COMPILE
00.00149
00.00150 %WHEN nbr_chs = 0 SKIP
00.00151" import procedure init_cram(cramteststacksize : integer;
00.00152" cram_init_table_ptr : pointer;
00.00153" r0; r4; r6);
00.00154"%COMPILE
00.00155
00.00156
00.00157
00.00158 label
00.00159 term_small,
00.00160 ctrl_small,
00.00161 dcm_small,
00.00162 fm_small,
«ff»Swell Compiler Version 0500 2.Apr.1985 10:00:38 Page: 12 Source: INIT.S
00.00163 tqm_small,
00.00164 cram_small;
00.00165
00.00166 %WHEN OC_init = false SKIP
00.00167 const
00.00168 ws_txt = ' workarea size (:0:)';
00.00169 es_txt = 'Excessive process space (:0:)';
00.00170 ms_txt = ' Missing : (:0:)';
00.00171 nl_txt = '(:10:)(:0:)(:0:)';
00.00172 is_txt = 'Insufficient space for (:0:)';
00.00173 %COMPILE
00.00174
00.00175 var
00.00176 link:integer;
00.00177
00.00178 begin "init sys
00.00179 r6=> link;
00.00180
00.00181 %WHEN OC_init = false SKIP
00.00182 init_oc(r1, r6);
00.00183 out_text(address('FMS active(:10:)(:0:)')=>r2, r6);
00.00184 %COMPILE
00.00185
00.00186 address (init_fms_params) => r5;
00.00187 0 => r3;
00.00188 size_dcm (r5, r3, r6);
00.00189 %WHEN oc_init = false SKIP
00.00190 out_text(address('DCM (:0:)')=>r2, r6);
00.00191 out_text(address(ws_txt)=>r2, r6);
00.00192 out_hexa(r3=>r2, r6);
00.00193 r3 => r4;
00.00194 %COMPILE
00.00195 size_ctrl(r5, r3, r6);
00.00196 %WHEN oc_init = false SKIP
00.00197 r3 => r1 - r4;
00.00198 out_text(address('(:10:)CTRL(:0:)')=>r2, r6);
00.00199 out_text(address(ws_txt)=>r2, r6);
00.00200 out_hexa(r1=>r2, r6);
00.00201 r3 => r4;
00.00202 %COMPILE
00.00203 size_fm (r5, r3, r6);
00.00204 %WHEN oc_init = false SKIP
«ff»Swell Compiler Version 0500 2.Apr.1985 10:00:38 Page: 13 Source: INIT.S
00.00205 r3 => r1 - r4;
00.00206 out_text(address('(:10:)FM (:0:)')=>r2, r6);
00.00207 out_text(address(ws_txt)=>r2, r6);
00.00208 out_hexa(r1=>r2, r6);
00.00209 out_text(address(nl_txt)=>r2, r6);
00.00210 %COMPILE
00.00211
00.00212 -size(process_head)=> r6;
00.00213 r6@process_head.iodata_ref=> r0; "XAMOS, uses iodata_ref rather than bound"
00.00214 r6@process_head.gen_head.word_size=> r4 + r6;
00.00215
00.00216 r0 => r6 - r4;
00.00217 if r6 << r3 then
00.00218 begin
00.00219 r3 - r6;
00.00220 %WHEN OC_init = false SKIP
00.00221 out_text (address('FMS workarea too small.(:0:)')=>r2, r6);
00.00222 out_text (address(ms_txt)=>r2, r6);
00.00223 out_hexa (r3=>r2, r6);
00.00224 out_text (address(nl_txt)=>r2, r6);
00.00225 %COMPILE
00.00226 terminate_me (#333=>r0, r3=>r1, r6);
00.00227 %WHEN OC_init = false SKIP
00.00228 end
00.00229 else
00.00230 begin
00.00231 r3 - r6; -r3;
00.00232 out_text (address(es_txt)=>r2, r6);
00.00233 out_text (address('(before CRAM) (:0:)')=>r2, r6);
00.00234 out_hexa (r3=>r2, r6);
00.00235 out_text (address('(:10:)(:0:)')=>r2, r6);
00.00236 %COMPILE
00.00237 end;
00.00238
00.00239 r0=> r6;
00.00240 while r6-1 >>= r4 do clr(r6@integer); "clear workarea"
00.00241
00.00242 init_dcm (r5, r0, r4, r6);
00.00243 if r0 << r4 then goto dcm_small;
00.00244
00.00245 init_ctrl(r5, r0, r4, r6);
00.00246 if r0 << r4 then goto ctrl_small;
«ff»Swell Compiler Version 0500 2.Apr.1985 10:00:38 Page: 14 Source: INIT.S
00.00247
00.00248 init_fm (r5, r0, r4, r6);
00.00249 if r0 << r4 then goto fm_small;
00.00250
00.00251 %WHEN nbr_ths = 0 SKIP
00.00252" init_tqm(nbr_ths, r0, r4, r6);
00.00253" if r0 << r4 then goto tqm_small;
00.00254"%COMPILE
00.00255
00.00256 %WHEN nbr_chs = 0 SKIP
00.00257" init_cram(cramteststacksize, address(cram_init_table), r0, r4, r6);
00.00258" if r0 << r4 then goto cram_small;
00.00259"%COMPILE
00.00260
00.00261 if sectors_available => r1 < 0 then
00.00262 begin
00.00263 -r1;
00.00264 %WHEN OC_init = false SKIP
00.00265 out_text(address('Insufficient cache size.(:0:)')=> r2, r6);
00.00266 out_text(address(ms_txt)=>r2, r6);
00.00267 out_hexa (r1=>r2, r6);
00.00268 out_text (address(nl_txt)=>r2, r6);
00.00269 %COMPILE
00.00270 terminate_me (#332 => r0, r1, r6)
00.00271 end;
00.00272
00.00273 %WHEN OC_output = false SKIP
00.00274 if r4 << r0 then
00.00275 begin
00.00276 out_text (address(es_txt)=>r2, r6);
00.00277 out_text (address('(final) (:0:)')=>r2, r6);
00.00278 out_hexa(r0-r4=>r2, r6);
00.00279 out_text(address(nl_txt)=>r2, r6);
00.00280 end;
00.00281 %COMPILE
00.00282
00.00283 exit(link);
00.00284
00.00285 dcm_small:
00.00286 %WHEN OC_init = false SKIP
00.00287 address('DCM(:10:)(:0:)') => r3;
00.00288 %COMPILE
«ff»Swell Compiler Version 0500 2.Apr.1985 10:00:38 Page: 15 Source: INIT.S
00.00289 1 => r1;
00.00290 goto term_small;
00.00291 ctrl_small:
00.00292 %WHEN OC_init = false SKIP
00.00293 address('CTRL(:10:)(:0:)') => r3;
00.00294 %COMPILE
00.00295 2 => r1;
00.00296 goto term_small;
00.00297 fm_small:
00.00298 %WHEN OC_init = false SKIP
00.00299 address('FM(:10:)(:0:)') => r3;
00.00300 %COMPILE
00.00301 3 => r1;
00.00302 goto term_small;
00.00303 tqm_small:
00.00304 %WHEN OC_init = false SKIP
00.00305 address('TQM(:10:)(:0:)') => r3;
00.00306 %COMPILE
00.00307 4 => r1;
00.00308 goto term_small;
00.00309 cram_small:
00.00310 %WHEN OC_init = false SKIP
00.00311 address('CRAM(:10:)(:0:)') => r3;
00.00312 %COMPILE
00.00313 5 => r1;
00.00314 term_small:
00.00315 %WHEN OC_init = false SKIP
00.00316 out_text(address(is_txt)=>r2, r6);
00.00317 out_text(r3=>r2, r6);
00.00318 %COMPILE
00.00319 terminate_me (#331=>r0, r1, r6);
00.00320
00.00321 end "init_sys";
00.00322
00.00323
00.00324
00.00325 begin "main program"
00.00326 cm_init (address(init_corout)=>r0, r7, r6);
00.00327 init_sys(r6);
00.00328 sem_init (address(init_sem)=>r5, r7, r6);
00.00329 cm_wait (r5, r7, r6); "wait forever"
00.00330 end;
«ff»Swell Compiler Version 0500 2.Apr.1985 10:00:38 Page: 16 Source: INIT.S
00.00331
00.00332
00.00333 ENDMODULE«ff»Swell Compiler Version 0500 2.Apr.1985 10:00:38 Page: 17 Messages
LINES: 1222
CODESIZE VARSIZE CONSTSIZE TEMPSIZE
-------- ------- --------- --------
#00CC #003F #0070 #0000
SWELL VARIABLES:
===========BLOCK: 00.00078 INIT_SYS
0055 0000 CDC_NAMES
005C 0000 CRAM_INIT_TABLE
004A 0000 DMA_PORT_SPEC_TABLE
0051 0000 FD_NAMES
0061 0000 LINK
===========BLOCK: 00.00054 FMS_INIT_0601
0023 0000 INIT_COROUT
002F 0000 INIT_FMS_PARAMS
002C 0000 INIT_SEM
0000 0004 SECTORS_AVAILABLE