DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

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

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦54c25400e⟧ TextFile

    Length: 8448 (0x2100)
    Types: TextFile
    Names: »qwerty«

Derivation

└─⟦a41ae585a⟧ Bits:30001842 SW-save af projekt 1000, Alarm-system
    └─⟦72244f0ef⟧ 
        └─⟦this⟧ »qwerty« 

TextFile


printlogtx d.810305.1608
     1 begin
     2    integer segm_pr_block,max_block;
     3    segm_pr_block := læs_fp_tal(<:segm:>);
     4    max_block := læs_fp_tal(<:maxblock:>);
     5    begin
     6       zone z_in(128 * segm_pr_block,1,tapeerror),
     7       _    z_out(128,1,stderror),
     8       _    block_descr(max_block,1,tape_error);
     9       
     9       real array doc_name(1:2);
    10       real array field mess;
    11       long field time;
    12       long from_time,to_time,sender,receiver;
    13       integer array field data;
    14       integer op_code,i,block_count,line_no,old_left,new_left,mess_lgh;
    15       boolean tape_mode,block_change;
    16       
    16       procedure header(z);
    17       zone z;
    18       begin
    19          own integer page_no;
    20          own long print_date;
    21          own boolean called_before;
    22          
    22          if -, called_before then
    23          begin
    24             print_date := convtime(getclock);
    25             called_before := true;
    26          end;
    27          
    27          page_no := page_no + 1;
    28          
    28          write(z,"ff",1,<:UDSKRIFT AF LOG:>,"sp",10,<:19:>,<<dd dd dd>,
    29          print_date shift (-24),<:-:>,print_date extract 24,"sp",17,<:Side :>,
    30          <<ddd>,page_no,"nl",1,"-",69,"nl",2,
    31          <:DATO:>,"sp",7,<:KLOKKEN:>,"sp",3,<:MODTAGER:>,"sp",6,
    32          <:AFSENDER:>,"sp",6,<:KODE:>,"sp",3,<:DATA:>,"nl",1);
    33       end header;
    34       
    34       procedure tape_error(z,s,b);
    35       zone z;
    36       integer s,b;
    37       begin
    38          if -, tape_mode then stderror(z,s,b);
    39          
    39          if s shift (-22) extract 1 = 1 then error(1) else
    40          if s shift (-7) extract 1 = 1 then error(2) else stderror(z,s,b);
    41          close(z,true);
    42          goto after_tape_error;
    43       end tape_error;
    44       
    44       procedure error(no);
    45       integer no;
    46       begin
    47          write(out,"nl",1,case no of (
    48          <:paritetsfejl på bånd:>,
    49          <:"worddefect" på bånd:>),
    50          "sp",4,<:print ikke udført:>,"nl",1);
    51       end error;
    52       
    52       readstring(in,doc_name,1);
    53       read(in,from_time,to_time,sender,receiver,op_code);
    54       
    54       if to_time = 0 then to_time := extend (-1) shift (-1);
    55       line_no := 80;
    56       mess := time := 8;
    57       data := 0;
    58       tape_mode := doc_name(1) <> real <:discl:> add 'o';
    59       i := 1;
    60       open(block_descr,if tape_mode then 18 else 4,
    61       string doc_name(increase(i)),0);
    62       
    62       setposition(block_descr,1,0);
    63       inrec6(block_descr,max_block * 4);
    64       
    64       open(z_out,4,<:logprintfil:>,0);
    65       i := 1;
    66       
    66       open(z_in,if tape_mode then 18 else 4,
    67       string doc_name(increase(i)),0);
    68       
    68       replacechar(1 <* space in number *>, '.');
    69       
    69       for block_count := 1 step 1 until max_block do
    70       begin
    71          if block_descr(block_count) <> real (extend (-1)) then
    72          begin
    73             if to_time >= long block_descr(block_count) then
    74             begin
    75                setposition(z_in,1,block_count * (if tape_mode then
    76                1 else segm_pr_block));
    77                
    77                old_left := segm_pr_block * 4;
    78                
    78                repeat
    79                   new_left := invar(z_in);
    80                   block_change := new_left > old_left;
    81                   if -, block_change then
    82                   begin
    83                      old_left := new_left;
    84                      
    84                      if z_in.time >= from_time and z_in.time <= to_time then
    85                      begin
    86                         unpack_mess(z_in.mess);
    87                         mess_lgh := (z_in.mess.data(1) + 2) // 2;
    88                         if sender = 0 or sender = extend
    89                         z_in.mess.data(4) shift 24 add z_in.mess.data(5) then
    90                         begin
    91                            if receiver = 0 or receiver = extend
    92                            z_in.mess.data(2) shift 24 add
    93                            z_in.mess.data(3) then
    94                            begin
    95                               if op_code = 0 or op_code =
    96                               z_in.mess.data(6) shift (-8) then
    97                               begin
    98                                  line_no := line_no + 1;
    99                                  if line_no > 39 then
   100                                  begin
   101                                     header(z_out);
   102                                     line_no := 0;
   103                                  end;
   104                                  write(z_out,"nl",1,<: 19:>,<<zd dd dd>,
   105                                  convtime(z_in.time) shift (-24),"sp",1,
   106                                  convtime(z_in.time) extract 24,"sp",2,<<z>,
   107                                  z_in.mess.data(2) shift (-12),"-",1,<<zd>,
   108                                  z_in.mess.data(2) shift (-6) extract 6,"-",1,
   109                                  z_in.mess.data(2) extract 6,"-",1,<<zddd>,
   110                                  z_in.mess.data(3),"sp",2,<<z>,
   111                                  z_in.mess.data(4) shift (-12),"-",1,<<zd>,
   112                                  z_in.mess.data(4) shift (-6) extract 6,"-",1,
   113                                  z_in.mess.data(4) extract 6,"-",1,<<zddd>,
   114                                  z_in.mess.data(5),"sp",2,<<zd>,
   115                                  z_in.mess.data(6) shift (-12),".",1,
   116                                  z_in.mess.data(6) shift (-8) extract 4,"sp",2);
   117                                  
   117                                  i := 9;
   118                                  
   118                                  for i := i + 1 while i <= mess_lgh do
   119                                  begin
   120                                     write(zout,<<ddddd>,z_in.mess.data(i),
   121                                     "sp",2,<<dd>,z_in.mess.data(i) shift (-8)
   122                                     extract 8,"sp",1,z_in.mess.data(i) extract 8);
   123                                     if i < mess_lgh then
   124                                     begin
   125                                        line_no := line_no + 1;
   126                                        if line_no > 39 then
   127                                        begin
   128                                           header(zout);
   129                                           line_no := 0;
   130                                        end;
   131                                        write(z_out,"nl",1,"sp"57);
   132                                     end;
   133                                  end;
   134                               end;
   135                            end;
   136                         end;
   137                      end;
   138                   end
   139                until block_change;
   140             end;
   141          end;
   142       end;
   143       setposition(z_in,-1,0);
   144 after_tape_error:
   145       close(z_in,true);
   146       close(block_descr,true);
   147       write(z_out,"ff",1,"em",3);
   148       close(z_out,true);
   149       
   149       <* convert(<:logprintfil:>); *>
   150    end;
   151 end

algol end 42
▶EOF◀