Skip to content
Snippets Groups Projects
vectors.pl 710 B
Newer Older
rtm's avatar
rtm committed
#!/usr/bin/perl -w

# Generate vectors.S, the trap/interrupt entry points.
# There has to be one entry point per interrupt number
rtm's avatar
rtm committed
# since otherwise there's no way for trap() to discover
# the interrupt number.
rtm's avatar
rtm committed

print "/* generated by vectors.pl */\n";
print "/* handlers */\n";
rtm's avatar
rtm committed
print ".text\n";
print ".globl alltraps\n";
for(my $i = 0; $i < 256; $i++){
    print ".globl vector$i\n";
    print "vector$i:\n";
    if(($i < 8 || $i > 14) && $i != 17){
        print "  pushl \$0\n";
    print "  pushl \$$i\n";
    print "  jmp alltraps\n";

print "\n/* vector table */\n";
rtm's avatar
rtm committed
print ".data\n";
print ".globl vectors\n";
print "vectors:\n";
for(my $i = 0; $i < 256; $i++){
    print "  .long vector$i\n";