--- /dev/null
+#define __ASM__
+.macro isr_template vector, no_error_code=1
+ .global _asm_isr\vector
+ .type _asm_isr\vector, @function
+ _asm_isr\vector:
+ .if \no_error_code
+ pushl $0x0
+ .endif
+ pushl $\vector
+ jmp interrupt_wrapper
+.endm
+.section .text
+{% for isrdef in data["exception"] %}
+{% if isrdef["has_errcode"] %}
+ isr_template {{ isrdef["index"] }}, no_error_code=0
+{% else %}
+ isr_template {{ isrdef["index"] }}, no_error_code=1
+{% endif %}
+{% endfor %}