#!/usr/bin/perl

open IN,"gier.debug";

$started=0;
$lasttd=-1;
$strange=0;

print "         AC                   MQ                   H                    MD                  Adder\n";
while($l = <IN>)
{
  chomp($l);
# print "$l\n";

  if($l =~ /^Mode 2 opcode: /)
  {
    $started=1;
  }
# elsif($l =~ /^\s+(.*?):\s*?\d/)
# {
#   print "$1\n";
# }
  elsif($l =~ /Gm_MQ0_H39strange: (\d)/)
  {
    $strange = $1;
  }
  elsif($l =~ /^\s+(.*?):\s*?\d \d{10} \d{10} \d{10} \d{10} \d\d +[0123456789-]+ (\d+)\/(\d+)\/(\d+)\/(\d+)$/)
  {
    $reg = $1;
    $reg = "Adder" if($reg eq "H+MD");
    $reg = "Adder" if($reg eq "H-MD");
    $r1 = $2;
    $r2 = $3;
    $r3 = $4;
    $r4 = $5;
#   print "$reg: $r1 $r2 $r3 $r4\n";
    $regs->{$reg} = sprintf "%4d %4d %4d %4d",$r1,$r2,$r3,$r4;
  }
  elsif($l =~ /^Mode(\d): MA=(\d+).*?TD: (\d+)$/)
  {
    if($started)
    {
      $mode = $1;
      $ma = $2;
      $TD = $3;
      if($TD != $lasttd)
      {
print "         AC                   MQ                   H                    MD                  Adder\n";
	$lasttd = $TD;
      }
      printf "%d/%2s %2d ",$mode,$ma,$TD;
      print $regs->{"AC"}."  ";
      print $regs->{"MQ"}."  ";
      print $regs->{"H"}."  ";
      print $regs->{"MD"}."  ";
      print $regs->{"Adder"}."  ";
      if($strange>=0)
      {
	print "strange $strange";
      }
      print "\n";
      $strange=-1
    }
  }
}



