~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Bochs x86 Emulator
bochs/bios/makesym.perl

Version: ~ [ 2.3.5 ] ~ [ 2.3 ] ~

  1 #!/usr/bin/perl
  2 #
  3 # $Id: makesym.perl,v 1.1 2002/11/24 22:45:40 bdenney Exp $
  4 #
  5 # Read output file from as86 (e.g. rombios.txt) and write out a symbol 
  6 # table suitable for the Bochs debugger.
  7 #
  8 
  9 $WHERE_BEFORE_SYM_TABLE = 0;
 10 $WHERE_IN_SYM_TABLE = 1;
 11 $WHERE_AFTER_SYM_TABLE = 2;
 12 
 13 $where = $WHERE_BEFORE_SYM_TABLE;
 14 while (<STDIN>) {
 15   chop;
 16   if ($where == WHERE_BEFORE_SYM_TABLE && /^Symbols:/) {
 17     $where = $WHERE_IN_SYM_TABLE;
 18   } elsif ($where == $WHERE_IN_SYM_TABLE && /^$/) {
 19     $where = $WHERE_AFTER_SYM_TABLE;
 20   }
 21   if ($where == $WHERE_IN_SYM_TABLE) {
 22     @F = split (/\s+/);
 23     ($name[0], $junk, $addr[0], $junk, $name[1], $junk, $addr[1]) = @F;
 24     foreach $col (0,1) {
 25       next if length $addr[$col] < 1;
 26       $addr[$col] =~ tr/A-Z/a-z/;
 27       $addr[$col] = "000f" . $addr[$col];
 28       print "$addr[$col] $name[$col]\n";
 29     }
 30   }
 31 }

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.