token.pl 436 B

123456789101112131415161718192021222324
  1. #!/usr/bin/perl
  2. #
  3. # Generate a test case for token lookup performance
  4. #
  5. @insns = qw(add sub adc sbb and or xor mov);
  6. @regs = qw(eax ebx ecx edx esp ebp esi edi);
  7. srand(0);
  8. sub pickone(@) {
  9. return $_[int(rand(scalar @_))];
  10. }
  11. ($len) = @ARGV;
  12. $len = 1000000 unless ($len);
  13. print "\tbits 32\n";
  14. print "\n";
  15. for ($i = 0; $i < $len; $i++) {
  16. print "\t", pickone(@insns), " ",
  17. pickone(@regs), ",", pickone(@regs), "\n";
  18. }