diff options
Diffstat (limited to '')
| -rw-r--r-- | kernel/generate_vectors.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/kernel/generate_vectors.py b/kernel/generate_vectors.py new file mode 100644 index 0000000..8471ef8 --- /dev/null +++ b/kernel/generate_vectors.py @@ -0,0 +1,19 @@ +if __name__ == "__main__": + with open("interrupts/vectors.s", "w") as f: + for i in range(256): + f.write("global vector" + '{}'.format(i) + "\n") + f.write("extern s_trap_start\n") + f.write("extern s_trap_end\n") + f.write("\n") + f.write("section .text\n") + f.write("align 4\n") + f.write("\n") + for i in range(256): + upper = '{0:02X}'.format((i >> 16) & 0xFF) + lower = '{0:02X}'.format(i & 0xFF) + f.write("vector" + '{}'.format(i) + ":\n") + f.write(" push 0x" + upper + "\n") + f.write(" push 0x" + lower + "\n") + f.write(" jmp s_trap_start\n") + f.write("\n") + f.write("\n") |
