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

⟦362aa6a95⟧ TextFile

    Length: 4832 (0x12e0)
    Types: TextFile
    Names: »INPARAMS.P«

Derivation

└─⟦b8af24a88⟧ Bits:30005796 CR80 Disc Pack ( MINICAMPS )
    └─ ⟦this⟧ »GENS.D!SWELLLIB.D!INPARAMS.P« 

TextFile



======== INPARAMS.S

00.00001 
00.00002 submodule inparams;
00.00003 
00.00004 
00.00005 %SOURCE

======== GENERALPARAMS.S


======== INPARAMS.S

00.00005 
00.00006 %SOURCE

======== MONITORNAMES.S


======== INPARAMS.S

00.00006 
00.00007 %SOURCE

======== IOSPARAMS.S


======== INPARAMS.S

00.00007 
00.00008 %SOURCE

======== UTH.I


======== INPARAMS.S

00.00008 
00.00009 
00.00010 
00.00011 export var
00.00012   ifiletype: filetype;           "input file descr
00.00013   ofiletype: filetype;           "output file descr
00.00014 
00.00015 
00.00016 export procedure readparams(r6); "all registers destroyed
00.00017 "============================"
00.00018 " read the second line of the parameter file
00.00019 var
00.00020   link: integer;
00.00021   i_open, o_open: boolean;
00.00022 init
00.00023   i_open= false;
00.00024   o_open= false;
00.00025 
00.00026 const
00.00027   namelistmax= 10;
00.00028 const
00.00029   kwsize= 1; "in words"
00.00030 type
00.00031   keywords= (k_error,
00.00032              k_i,
00.00033              k_o,
00.00034              k_top);
00.00035 
00.00036 var
00.00037   keyword: array [0..k_top*kwsize-1] of integer;
00.00038   keywordindex: keywords;
00.00039   nameno: integer;
00.00040   fromadam: integer;
00.00041   fsn: file_system_name;
00.00042   vol: volume_name;
00.00043   namelist: array [0..size(file_name)*namelistmax-1] of integer;
00.00044   workarea: array [0..15] of integer;
00.00045 
00.00046 init
00.00047   keyword[k_i     *kwsize..(k_i     +1)*kwsize-1]= 'I';
00.00048   keyword[k_o     *kwsize..(k_o     +1)*kwsize-1]= 'O';
00.00049 
00.00050 begin
00.00051   r6=> link;
00.00052 
00.00053   address(pfiletype)=> r4;
00.00054 
00.00055   repeat
00.00056     readkeyword(kwsize,1,k_top,r0,address(keyword)=>r4,r6);
00.00057     r0=> keywordindex;
00.00058 
00.00059     pfiletype.s=> r4;
00.00060     case r0:keywords of
00.00061     k_error:
00.00062       fileerror(address(pfiletype)=>r4, address('illegal keyword(:0:)')=>r5, 0=>r7, r6);
00.00063     k_i, k_o:
00.00064       begin " read file id "
00.00065         address(default_fsn)=> r6;
00.00066         address(fsn)=> r7;
00.00067         movm(size(file_system_name), r6@file_system_name, r7@file_system_name);
00.00068         address(default_vol)=> r6;
00.00069         address(vol)=> r7;
00.00070         movm(size(volume_name), r6@volume_name, r7@volume_name);
00.00071         switch mon(infileid, address(fsn)=>r0, address(vol)=>r1, r2, r3, r4, address(namelist)=>r5,
00.00072                    address(workarea)=>r6, r7): infileid_exits to
00.00073         if_error:
00.00074           fileerror(address(pfiletype)=>r4, address('infileid(:0:)')=>r5, r7, r6);
00.00075         if_syntax:
00.00076           fileerror(address(pfiletype)=>r4, address('fileid syntax(:0:)')=>r5, r7, r6);
00.00077         end;
00.00078         r2=> nameno;
00.00079         r3=> fromadam;
00.00080       end;
00.00081     end;
00.00082 
00.00083     keywordindex=> r6;
00.00084     case r6:keywords of
00.00085     k_i:
00.00086       if i_open =>r6 = false then
00.00087       begin
00.00088         openfile(address(ifiletype)=>r4, address(fsn)=>r0, address(vol)=>r1, nameno=>r2,
00.00089           fromadam=>r3, address(namelist)=>r5, dfiletype.f=>r7, r6);
00.00090         openstream(r4, input_mode=>r3, r6);
00.00091         true =>r6 =>i_open;
00.00092       end;
00.00093     k_o:
00.00094       if o_open =>r6 = false then
00.00095       begin
00.00096         openfile(address(ofiletype)=>r4, address(fsn)=>r0, address(vol)=>r1, nameno=>r2,
00.00097           fromadam=>r3, address(namelist)=>r5, dfiletype.f=>r7, r6);
00.00098         switch mon(io,reset,ofiletype.f=>r4,r7): error_done to
00.00099           err:
00.00100             fileerror(address(ofiletype)=>r4,
00.00101               address('reset output(:0:)')=>r5,r7,r6);
00.00102         end;
00.00103         openstream(address(ofiletype)=>r4, output_mode=>r3, r6);
00.00104         true =>r6 =>o_open;
00.00105       end;
00.00106     end;
00.00107   until keywordindex=>r0 = k_top;
00.00108 
00.00109   if i_open =>r6 = false then
00.00110   begin
00.00111     movm(size(filetype),
00.00112       (address(cinfiletype)=>r0)@filetype,
00.00113       (address(ifiletype)=>r1)@filetype);
00.00114     openstream(address(ifiletype) =>r4, input_mode =>r3, r6);
00.00115   end;
00.00116   if o_open =>r6 = false then
00.00117     movm(size(filetype),
00.00118       (address(coutfiletype)=>r0)@filetype,
00.00119       (address(ofiletype)=>r1)@filetype);
00.00120 
00.00121   exit(link);
00.00122 end "readparams";
00.00123 
00.00124 endmodule

LINES:     917


      CODESIZE  VARSIZE  CONSTSIZE  TEMPSIZE
      --------  -------  ---------  --------
       #00B4     #008B     #001B     #0000 «a5»