45 lines
690 B
Perl
45 lines
690 B
Perl
#!/usr/bin/perl
|
|
use warnings;
|
|
use strict;
|
|
|
|
my $filename = shift || die;
|
|
|
|
open(FH, "$filename");
|
|
|
|
my @activity_counter;
|
|
|
|
for(my $i = 0; $i < 32; $i++)
|
|
{
|
|
$activity_counter[$i] = 0;
|
|
}
|
|
|
|
my $old_address = "00000000000000000000000000000000";
|
|
|
|
while(<FH>)
|
|
{
|
|
# Get the adress:
|
|
$_ =~ /\d+:\s+\w+\s+0x([\w\d]+)/;
|
|
my $address = $1;
|
|
$address = sprintf( "%032b", hex( $address ) );
|
|
|
|
# $i = 0 :: most significant bit
|
|
for(my $i = 0; $i < 32; $i++)
|
|
{
|
|
my $new = substr($address, $i, 1);
|
|
my $old = substr($old_address, $i, 1);
|
|
|
|
if($new ne $old)
|
|
{
|
|
$activity_counter[31-$i]++;
|
|
}
|
|
}
|
|
|
|
$old_address = $address;
|
|
}
|
|
|
|
for(my $i = 0; $i < 32; $i++)
|
|
{
|
|
print $i.":".$activity_counter[$i]."\n";
|
|
}
|
|
|