OpenCores
URL https://opencores.org/ocsvn/or2k/or2k/trunk

Subversion Repositories or2k

[/] [or2k/] [trunk/] [analysis-bin/] [insnanalysis/] [insnanalysis.c] - Diff between revs 16 and 17

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 16 Rev 17
Line 34... Line 34...
                 instruction_properties *insn_props)
                 instruction_properties *insn_props)
{
{
  or1k_32_collect_stats(insn, insn_props);
  or1k_32_collect_stats(insn, insn_props);
}
}
 
 
 
 
 
void generate_stats(FILE * stream)
 
{
 
  or1k_32_generate_stats(stream);
 
}
 
 
int main(int argc, char *argv[])
int main(int argc, char *argv[])
{
{
  FILE *fp;
  FILE *fp;
 
 
  char insn_buff[INSN_SIZE_BYTES]; // Buffer for instruction data
  char insn_buff[INSN_SIZE_BYTES]; // Buffer for instruction data
Line 65... Line 71...
 
 
    // Endianness is little when read in from binary file created with 
    // Endianness is little when read in from binary file created with 
    // or32-elf-objcopy, so swap;
    // or32-elf-objcopy, so swap;
    *insn = htonl(*insn);
    *insn = htonl(*insn);
 
 
    reset_instruction_properties(&insn_props);
    if (*insn == 0) // most probably dead space in binary, skip
 
      continue;
 
 
    analyse_insn(*insn, &insn_props);
    reset_instruction_properties(&insn_props);
 
 
    print_insn(&insn_props);
 
    printf("\n");
 
 
 
 
    if (analyse_insn(*insn, &insn_props) == 0)
 
      {
 
        /*
 
        print_insn(&insn_props);
 
        printf("\n");
 
        */
    insns_seen_total++;
    insns_seen_total++;
 
 
    collect_stats(*insn, &insn_props);
    collect_stats(*insn, &insn_props);
 
      }
 
    else
 
      {
 
        printf("\n");
  }
  }
 
 
  insn_lists_free();
  }
 
 
  fclose(fp);
  fclose(fp);
 
 
  printf("Saw %d instructions\n", insns_seen_total);
  printf("Saw %d instructions\n", insns_seen_total);
 
 
 
  generate_stats(stdout);
 
 
 
  insn_lists_free();
 
 
  return 0;
  return 0;
 
 
}
}
 
 
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.