|
|
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: 4832 (0x12e0)
Types: TextFile
Names: »INPARAMS.P«
└─⟦b8af24a88⟧ Bits:30005796 CR80 Disc Pack ( MINICAMPS )
└─⟦this⟧ »GENS.D!SWELLLIB.D!INPARAMS.P«
======== 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»