|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 76800 (0x12c00) Types: TextFile Names: »dlist«
└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ. └─⟦4334b4c0b⟧ └─⟦this⟧ »dlist«
*muxrun=algol blocks.yes c 0 1 begin 1 2 <*mux 1 3 Multiplexer program for Motorola M6800 microcomputers connected 1 4 to an HC8000. 1 5 1982-04-19*> 1 6 integer i,j; 1 7 integer no_of_cpu,max_ch_index,z_buf_size; 1 8 integer field cpu_nr,cpu_size,cpu_state, 1 9 cpu_free_channels,cpu_f_ch_ref, 1 10 cpu_auto_ch_ref,cpu_rec_size; 1 11 long array field cpu_ps,cpu_trm,cpu_rec,cpu_data, 1 12 cpu_reserver; 1 13 1 13 i:=0; 1 14 i:=cpu_nr:=i+2; 1 15 i:=cpu_size:=i+2; 1 16 i:=cpu_state:=i+2; 1 17 i:=cpu_free_channels:=i+2; 1 18 i:=cpu_f_ch_ref:=i+2; 1 19 i:=cpu_auto_ch_ref:=i+2; 1 20 i:=cpu_ps:=i; 1 21 i:=cpu_trm:=i+10; 1 22 i:=cpu_rec:=i+10; 1 23 i:=cpu_data:=i+10; 1 24 i:=cpu_reserver:=i+10; 1 25 i:=cpu_rec_size:=i+12; <*name,starttime*> 1 26 algol copy.muxdef; muxdef d.820419.1600 1 26 <*mux definition 1 27 1982-04-19 1 28 *> 1 29 no_of_cpu:=3; 1 30 max_ch_index:=7; 1 31 z_buf_size:=512; <*halfwords*> 1 32 <*define configuration 1982-04-19 1 33 cpu k trm rec data 1 34 1 cpu1 64 acia1 acia2 acia3 1 35 2 cpu2 64 acia4 acia5 acia6 1 36 3 cpu3 64 acia7 acia8 acia9 1 37 end define*> 1 38 c 1 38 1 38 begin 2 39 integer array cpu(1:no_of_cpu*cpu_rec_size//2); 2 40 2 40 procedure list_cpu_table(z); 2 41 zone z; 2 42 begin 3 43 integer i; 3 44 integer array field cpu_f; 3 45 cpu_f:=-cpu_rec_size; 3 46 write(out,"nl",1, 3 47 <:cpu name size trm rec data state reserver free:>); 3 48 for i:=1 step 1 until no_of_cpu do 3 49 begin 4 50 cpu_f:=cpu_f+cpu_rec_size; 4 51 write(z,"nl",1,<<dd >,cpu.cpu_f.cpu_nr, 4 52 true,8,cpu.cpu_f.cpu_ps, 4 53 cpu.cpu_f.cpu_size,"sp",3, 4 54 true,8,cpu.cpu_f.cpu_trm,true,8,cpu.cpu_f.cpu_rec, 4 55 true,8,cpu.cpu_f.cpu_data, 4 56 case cpu.cpu_f.cpu_state+1 of(<:free :>), 4 57 true,8,cpu.cpu_f.cpu_reserver, 4 58 << dd>,cpu.cpu_f.cpu_free_channels); 4 59 end for cpu; 3 60 end list_cpu_table; 2 61 2 61 begin 3 62 <*initialize cpu_table*> 3 63 zone z(128,1,stderror); 3 64 long array txt(1:3); 3 65 array field f; 3 66 integer cpu_c,char,nr,size; 3 67 integer array field cpu_f; 3 68 3 68 f:=0; 3 69 open(z,4,<:muxdef:>,0); 3 70 repeat readstring(z,txt,1) until txt(1)=long <:defin:> add 'e'; 3 71 repeat readstring(z,txt,1) until txt(1)=long <:data:>; 3 72 cleararray(cpu); 3 73 repeatchar(z); 3 74 cpu_f:=-cpu_rec_size; 3 75 for cpu_c:=1 step 1 until no_of_cpu do 3 76 begin 4 77 nr:=0; 4 78 cpu_f:=cpu_f+cpu_rec_size; 4 79 read(z,nr); repeatchar(z); 4 80 read_char(z,char); 4 81 cpu.cpu_f.cpu_nr:=nr; 4 82 txt(2):=0; 4 83 readstring(z,txt.f,1); 4 84 for i:=1,2 do cpu.cpu_f.cpu_ps(i):=txt(i); 4 85 read(z,size); 4 86 cpu.cpu_f.cpu_size:=size; 4 87 txt(2):=0; readstring(z,txt,1); 4 88 for i:=1,2 do cpu.cpu_f.cpu_trm(i):=txt(i); 4 89 txt(2):=0; readstring(z,txt,1); 4 90 for i:=1,2 do cpu.cpu_f.cpu_rec(i):=txt(i); 4 91 txt(2):=0; readstring(z,txt,1); 4 92 for i:=1,2 do cpu.cpu_f.cpu_data(i):=txt(i); 4 93 end for cpu; 3 94 close(z,true); 3 95 if true then list_cpu_table(out); 3 96 end initialize cpu_table; 2 97 end; 1 98 end; algol end 31 *if warning.yes *if warning.no *c=message ok *o c ▶EOF◀