aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/generate_vectors.py
blob: 8471ef8aa88815b7af947ed6cf66d32e1aacf218 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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")