Initial Upload
This commit is contained in:
47
vectors.pl
Normal file
47
vectors.pl
Normal file
@ -0,0 +1,47 @@
|
||||
#!/usr/bin/perl -w
|
||||
|
||||
# Generate vectors.S, the trap/interrupt entry points.
|
||||
# There has to be one entry point per interrupt number
|
||||
# since otherwise there's no way for trap() to discover
|
||||
# the interrupt number.
|
||||
|
||||
print "# generated by vectors.pl - do not edit\n";
|
||||
print "# handlers\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 >= 10 && $i <= 14) || $i == 17)){
|
||||
print " pushl \$0\n";
|
||||
}
|
||||
print " pushl \$$i\n";
|
||||
print " jmp alltraps\n";
|
||||
}
|
||||
|
||||
print "\n# vector table\n";
|
||||
print ".data\n";
|
||||
print ".globl vectors\n";
|
||||
print "vectors:\n";
|
||||
for(my $i = 0; $i < 256; $i++){
|
||||
print " .long vector$i\n";
|
||||
}
|
||||
|
||||
# sample output:
|
||||
# # handlers
|
||||
# .globl alltraps
|
||||
# .globl vector0
|
||||
# vector0:
|
||||
# pushl $0
|
||||
# pushl $0
|
||||
# jmp alltraps
|
||||
# ...
|
||||
#
|
||||
# # vector table
|
||||
# .data
|
||||
# .globl vectors
|
||||
# vectors:
|
||||
# .long vector0
|
||||
# .long vector1
|
||||
# .long vector2
|
||||
# ...
|
||||
|
Reference in New Issue
Block a user