diff options
| author | 2026-08-18 12:15:05 +0200 | |
|---|---|---|
| committer | 2026-08-18 12:15:05 +0200 | |
| commit | 132d3236bb884433bf94e961f6d32264e0334aec (patch) | |
| tree | 06638976b06f019ea4037175ff228f8271057c44 /kernel/interrupts | |
Diffstat (limited to '')
| -rw-r--r-- | kernel/interrupts/common.s | 94 | ||||
| -rw-r--r-- | kernel/interrupts/generic.c | 95 | ||||
| -rw-r--r-- | kernel/interrupts/generic.h | 33 | ||||
| -rw-r--r-- | kernel/interrupts/vectors.s | 1543 |
4 files changed, 1765 insertions, 0 deletions
diff --git a/kernel/interrupts/common.s b/kernel/interrupts/common.s new file mode 100644 index 0000000..a03fb1c --- /dev/null +++ b/kernel/interrupts/common.s @@ -0,0 +1,94 @@ +extern generic_interrupt +global asm_generic_interrupt +global s_trap_start +global s_trap_end + +section .text +align 4 + +s_trap_start: + push r15 + push r14 + push r13 + push r12 + push r11 + push r10 + push r9 + push r8 + push rdi + push rsi + push rbp + push rdx + push rcx + push rbx + push rax + + mov rdi, rsp + call generic_interrupt + +s_trap_end: + pop rax + pop rbx + pop rcx + pop rdx + pop rbp + pop rsi + pop rdi + pop r8 + pop r9 + pop r10 + pop r11 + pop r12 + pop r13 + pop r14 + pop r15 + + add rsp, 16 + + iretq + +asm_generic_interrupt: + ;push 0x0 ; + ;push 0xE ; <- need to create the individual interrupts pushing the specific values to the stack (how to pop them?) + push r15 + push r14 + push r13 + push r12 + push r11 + push r10 + push r9 + push r8 + push rdi + push rsi + push rbp + push rdx + push rcx + push rbx + push rax + + ; ?? + ; cld + mov rdi, rsp + call generic_interrupt + + pop rax + pop rbx + pop rcx + pop rdx + pop rbp + pop rsi + pop rdi + pop r8 + pop r9 + pop r10 + pop r11 + pop r12 + pop r13 + pop r14 + pop r15 + ;pop + ;pop + + add rsp, 16 + + iretq diff --git a/kernel/interrupts/generic.c b/kernel/interrupts/generic.c new file mode 100644 index 0000000..900c7e3 --- /dev/null +++ b/kernel/interrupts/generic.c @@ -0,0 +1,95 @@ +#include "generic.h" +#include "../kprintf.h" +#include "../asm_inline.h" + +void generic_interrupt(trapframe* f) +{ + + kprintf("!!!! INTERRUPT !!!!\n"); + kprintf("ARG: %p\n", f); + switch(f->trapno) + { + case 0x0: + kprintf("NO: %s | ERR_ %lX\n", "Division Error", f->err); + break; + case 0x1: + kprintf("NO: %s | ERR_ %lX\n", "Debug", f->err); + break; + case 0x2: + kprintf("NO: %s | ERR_ %lX\n", "Non-Maskable", f->err); + break; + case 0x3: + kprintf("NO: %s | ERR_ %lX\n", "Breakpoint", f->err); + break; + case 0x4: + kprintf("NO: %s | ERR_ %lX\n", "Overflow", f->err); + break; + case 0x5: + kprintf("NO: %s | ERR_ %lX\n", "Bound Range Exceeded", f->err); + break; + case 0x6: + kprintf("NO: %s | ERR_ %lX\n", "Invalid Opcode", f->err); + break; + case 0x7: + kprintf("NO: %s | ERR_ %lX\n", "Device Not Available", f->err); + break; + case 0x8: + kprintf("NO: %s | ERR_ %lX\n", "Double Fault", f->err); + break; + case 0xA: + kprintf("NO: %s | ERR_ %lX\n", "Invalid TSS", f->err); + break; + case 0xB: + kprintf("NO: %s | ERR_ %lX\n", "Segment Not Present", f->err); + break; + case 0xC: + kprintf("NO: %s | ERR_ %lX\n", "Stack-Segment fault", f->err); + break; + case 0xD: + kprintf("NO: %s | ERR_ %lX\n", "General Protection Fault", f->err); + break; + case 0xE: + kprintf("NO: %s | ERR_ %lX\n", "Page Fault", f->err); + break; + case 0x10: + kprintf("NO: %s | ERR_ %lX\n", "x87 Floating Point Exception", f->err); + break; + case 0x11: + kprintf("NO: %s | ERR_ %lX\n", "Alignment Check", f->err); + break; + case 0x12: + kprintf("NO: %s | ERR_ %lX\n", "Machine Check", f->err); + break; + case 0x13: + kprintf("NO: %s | ERR_ %lX\n", "SIMD Floating Point Exception", f->err); + break; + case 0x14: + kprintf("NO: %s | ERR_ %lX\n", "Virtualization Exception", f->err); + break; + case 0x15: + kprintf("NO: %s | ERR_ %lX\n", "Control Protection Exception", f->err); + break; + case 0x1C: + kprintf("NO: %s | ERR_ %lX\n", "Hypervisor Injection Exception", f->err); + break; + case 0x1D: + kprintf("NO: %s | ERR_ %lX\n", "VMM Communication Exception", f->err); + break; + case 0x1E: + kprintf("NO: %s | ERR_ %lX\n", "Security Exception", f->err); + break; + default: + kprintf("NO: %lX | ERR: %lX\n", f->trapno, f->err); + } + kprintf("RAX: %lX | RBX: %lX | RCX: %lX | RDX: %lX\n", f->rax, f->rbx, f->rcx, f->rdx); + kprintf("RSI: %lX | RDI: %lX | RBP: %lX\n", f->rsi, f->rdi, f->rbp); + kprintf("R8: %lX | R9: %lX | R10: %lX | R11: %lX\n", f->r8, f->r9, f->r10, f->r11); + kprintf("R12: %lX | R13: %lX | R14: %lX | R15: %lX\n", f->r12, f->r13, f->r14, f->r15); + kprintf("===================\n"); + hlt(); + + //if(f->err == 0xE) + //{ + // hlt(); + //} +} diff --git a/kernel/interrupts/generic.h b/kernel/interrupts/generic.h new file mode 100644 index 0000000..aee4dde --- /dev/null +++ b/kernel/interrupts/generic.h @@ -0,0 +1,33 @@ +#pragma once + +#include <stdint.h> + +typedef struct { + uint64_t rax; // rax + uint64_t rbx; + uint64_t rcx; + uint64_t rdx; + uint64_t rbp; + uint64_t rsi; + uint64_t rdi; + uint64_t r8; + uint64_t r9; + uint64_t r10; + uint64_t r11; + uint64_t r12; + uint64_t r13; + uint64_t r14; + uint64_t r15; + + uint64_t trapno; + uint64_t err; + + uint64_t rip; // rip + uint64_t cs; + uint64_t eflags; // rflags + uint64_t esp; // rsp + uint64_t ds; // ss +} trapframe; + +void generic_interrupt(trapframe* frame); + diff --git a/kernel/interrupts/vectors.s b/kernel/interrupts/vectors.s new file mode 100644 index 0000000..17f05d7 --- /dev/null +++ b/kernel/interrupts/vectors.s @@ -0,0 +1,1543 @@ +global vector0 +global vector1 +global vector2 +global vector3 +global vector4 +global vector5 +global vector6 +global vector7 +global vector8 +global vector9 +global vector10 +global vector11 +global vector12 +global vector13 +global vector14 +global vector15 +global vector16 +global vector17 +global vector18 +global vector19 +global vector20 +global vector21 +global vector22 +global vector23 +global vector24 +global vector25 +global vector26 +global vector27 +global vector28 +global vector29 +global vector30 +global vector31 +global vector32 +global vector33 +global vector34 +global vector35 +global vector36 +global vector37 +global vector38 +global vector39 +global vector40 +global vector41 +global vector42 +global vector43 +global vector44 +global vector45 +global vector46 +global vector47 +global vector48 +global vector49 +global vector50 +global vector51 +global vector52 +global vector53 +global vector54 +global vector55 +global vector56 +global vector57 +global vector58 +global vector59 +global vector60 +global vector61 +global vector62 +global vector63 +global vector64 +global vector65 +global vector66 +global vector67 +global vector68 +global vector69 +global vector70 +global vector71 +global vector72 +global vector73 +global vector74 +global vector75 +global vector76 +global vector77 +global vector78 +global vector79 +global vector80 +global vector81 +global vector82 +global vector83 +global vector84 +global vector85 +global vector86 +global vector87 +global vector88 +global vector89 +global vector90 +global vector91 +global vector92 +global vector93 +global vector94 +global vector95 +global vector96 +global vector97 +global vector98 +global vector99 +global vector100 +global vector101 +global vector102 +global vector103 +global vector104 +global vector105 +global vector106 +global vector107 +global vector108 +global vector109 +global vector110 +global vector111 +global vector112 +global vector113 +global vector114 +global vector115 +global vector116 +global vector117 +global vector118 +global vector119 +global vector120 +global vector121 +global vector122 +global vector123 +global vector124 +global vector125 +global vector126 +global vector127 +global vector128 +global vector129 +global vector130 +global vector131 +global vector132 +global vector133 +global vector134 +global vector135 +global vector136 +global vector137 +global vector138 +global vector139 +global vector140 +global vector141 +global vector142 +global vector143 +global vector144 +global vector145 +global vector146 +global vector147 +global vector148 +global vector149 +global vector150 +global vector151 +global vector152 +global vector153 +global vector154 +global vector155 +global vector156 +global vector157 +global vector158 +global vector159 +global vector160 +global vector161 +global vector162 +global vector163 +global vector164 +global vector165 +global vector166 +global vector167 +global vector168 +global vector169 +global vector170 +global vector171 +global vector172 +global vector173 +global vector174 +global vector175 +global vector176 +global vector177 +global vector178 +global vector179 +global vector180 +global vector181 +global vector182 +global vector183 +global vector184 +global vector185 +global vector186 +global vector187 +global vector188 +global vector189 +global vector190 +global vector191 +global vector192 +global vector193 +global vector194 +global vector195 +global vector196 +global vector197 +global vector198 +global vector199 +global vector200 +global vector201 +global vector202 +global vector203 +global vector204 +global vector205 +global vector206 +global vector207 +global vector208 +global vector209 +global vector210 +global vector211 +global vector212 +global vector213 +global vector214 +global vector215 +global vector216 +global vector217 +global vector218 +global vector219 +global vector220 +global vector221 +global vector222 +global vector223 +global vector224 +global vector225 +global vector226 +global vector227 +global vector228 +global vector229 +global vector230 +global vector231 +global vector232 +global vector233 +global vector234 +global vector235 +global vector236 +global vector237 +global vector238 +global vector239 +global vector240 +global vector241 +global vector242 +global vector243 +global vector244 +global vector245 +global vector246 +global vector247 +global vector248 +global vector249 +global vector250 +global vector251 +global vector252 +global vector253 +global vector254 +global vector255 +extern s_trap_start +extern s_trap_end + +section .text +align 4 + +vector0: + push 0x00 + push 0x00 + jmp s_trap_start + +vector1: + push 0x00 + push 0x01 + jmp s_trap_start + +vector2: + push 0x00 + push 0x02 + jmp s_trap_start + +vector3: + push 0x00 + push 0x03 + jmp s_trap_start + +vector4: + push 0x00 + push 0x04 + jmp s_trap_start + +vector5: + push 0x00 + push 0x05 + jmp s_trap_start + +vector6: + push 0x00 + push 0x06 + jmp s_trap_start + +vector7: + push 0x00 + push 0x07 + jmp s_trap_start + +vector8: + push 0x00 + push 0x08 + jmp s_trap_start + +vector9: + push 0x00 + push 0x09 + jmp s_trap_start + +vector10: + push 0x00 + push 0x0A + jmp s_trap_start + +vector11: + push 0x00 + push 0x0B + jmp s_trap_start + +vector12: + push 0x00 + push 0x0C + jmp s_trap_start + +vector13: + push 0x00 + push 0x0D + jmp s_trap_start + +vector14: + push 0x00 + push 0x0E + jmp s_trap_start + +vector15: + push 0x00 + push 0x0F + jmp s_trap_start + +vector16: + push 0x00 + push 0x10 + jmp s_trap_start + +vector17: + push 0x00 + push 0x11 + jmp s_trap_start + +vector18: + push 0x00 + push 0x12 + jmp s_trap_start + +vector19: + push 0x00 + push 0x13 + jmp s_trap_start + +vector20: + push 0x00 + push 0x14 + jmp s_trap_start + +vector21: + push 0x00 + push 0x15 + jmp s_trap_start + +vector22: + push 0x00 + push 0x16 + jmp s_trap_start + +vector23: + push 0x00 + push 0x17 + jmp s_trap_start + +vector24: + push 0x00 + push 0x18 + jmp s_trap_start + +vector25: + push 0x00 + push 0x19 + jmp s_trap_start + +vector26: + push 0x00 + push 0x1A + jmp s_trap_start + +vector27: + push 0x00 + push 0x1B + jmp s_trap_start + +vector28: + push 0x00 + push 0x1C + jmp s_trap_start + +vector29: + push 0x00 + push 0x1D + jmp s_trap_start + +vector30: + push 0x00 + push 0x1E + jmp s_trap_start + +vector31: + push 0x00 + push 0x1F + jmp s_trap_start + +vector32: + push 0x00 + push 0x20 + jmp s_trap_start + +vector33: + push 0x00 + push 0x21 + jmp s_trap_start + +vector34: + push 0x00 + push 0x22 + jmp s_trap_start + +vector35: + push 0x00 + push 0x23 + jmp s_trap_start + +vector36: + push 0x00 + push 0x24 + jmp s_trap_start + +vector37: + push 0x00 + push 0x25 + jmp s_trap_start + +vector38: + push 0x00 + push 0x26 + jmp s_trap_start + +vector39: + push 0x00 + push 0x27 + jmp s_trap_start + +vector40: + push 0x00 + push 0x28 + jmp s_trap_start + +vector41: + push 0x00 + push 0x29 + jmp s_trap_start + +vector42: + push 0x00 + push 0x2A + jmp s_trap_start + +vector43: + push 0x00 + push 0x2B + jmp s_trap_start + +vector44: + push 0x00 + push 0x2C + jmp s_trap_start + +vector45: + push 0x00 + push 0x2D + jmp s_trap_start + +vector46: + push 0x00 + push 0x2E + jmp s_trap_start + +vector47: + push 0x00 + push 0x2F + jmp s_trap_start + +vector48: + push 0x00 + push 0x30 + jmp s_trap_start + +vector49: + push 0x00 + push 0x31 + jmp s_trap_start + +vector50: + push 0x00 + push 0x32 + jmp s_trap_start + +vector51: + push 0x00 + push 0x33 + jmp s_trap_start + +vector52: + push 0x00 + push 0x34 + jmp s_trap_start + +vector53: + push 0x00 + push 0x35 + jmp s_trap_start + +vector54: + push 0x00 + push 0x36 + jmp s_trap_start + +vector55: + push 0x00 + push 0x37 + jmp s_trap_start + +vector56: + push 0x00 + push 0x38 + jmp s_trap_start + +vector57: + push 0x00 + push 0x39 + jmp s_trap_start + +vector58: + push 0x00 + push 0x3A + jmp s_trap_start + +vector59: + push 0x00 + push 0x3B + jmp s_trap_start + +vector60: + push 0x00 + push 0x3C + jmp s_trap_start + +vector61: + push 0x00 + push 0x3D + jmp s_trap_start + +vector62: + push 0x00 + push 0x3E + jmp s_trap_start + +vector63: + push 0x00 + push 0x3F + jmp s_trap_start + +vector64: + push 0x00 + push 0x40 + jmp s_trap_start + +vector65: + push 0x00 + push 0x41 + jmp s_trap_start + +vector66: + push 0x00 + push 0x42 + jmp s_trap_start + +vector67: + push 0x00 + push 0x43 + jmp s_trap_start + +vector68: + push 0x00 + push 0x44 + jmp s_trap_start + +vector69: + push 0x00 + push 0x45 + jmp s_trap_start + +vector70: + push 0x00 + push 0x46 + jmp s_trap_start + +vector71: + push 0x00 + push 0x47 + jmp s_trap_start + +vector72: + push 0x00 + push 0x48 + jmp s_trap_start + +vector73: + push 0x00 + push 0x49 + jmp s_trap_start + +vector74: + push 0x00 + push 0x4A + jmp s_trap_start + +vector75: + push 0x00 + push 0x4B + jmp s_trap_start + +vector76: + push 0x00 + push 0x4C + jmp s_trap_start + +vector77: + push 0x00 + push 0x4D + jmp s_trap_start + +vector78: + push 0x00 + push 0x4E + jmp s_trap_start + +vector79: + push 0x00 + push 0x4F + jmp s_trap_start + +vector80: + push 0x00 + push 0x50 + jmp s_trap_start + +vector81: + push 0x00 + push 0x51 + jmp s_trap_start + +vector82: + push 0x00 + push 0x52 + jmp s_trap_start + +vector83: + push 0x00 + push 0x53 + jmp s_trap_start + +vector84: + push 0x00 + push 0x54 + jmp s_trap_start + +vector85: + push 0x00 + push 0x55 + jmp s_trap_start + +vector86: + push 0x00 + push 0x56 + jmp s_trap_start + +vector87: + push 0x00 + push 0x57 + jmp s_trap_start + +vector88: + push 0x00 + push 0x58 + jmp s_trap_start + +vector89: + push 0x00 + push 0x59 + jmp s_trap_start + +vector90: + push 0x00 + push 0x5A + jmp s_trap_start + +vector91: + push 0x00 + push 0x5B + jmp s_trap_start + +vector92: + push 0x00 + push 0x5C + jmp s_trap_start + +vector93: + push 0x00 + push 0x5D + jmp s_trap_start + +vector94: + push 0x00 + push 0x5E + jmp s_trap_start + +vector95: + push 0x00 + push 0x5F + jmp s_trap_start + +vector96: + push 0x00 + push 0x60 + jmp s_trap_start + +vector97: + push 0x00 + push 0x61 + jmp s_trap_start + +vector98: + push 0x00 + push 0x62 + jmp s_trap_start + +vector99: + push 0x00 + push 0x63 + jmp s_trap_start + +vector100: + push 0x00 + push 0x64 + jmp s_trap_start + +vector101: + push 0x00 + push 0x65 + jmp s_trap_start + +vector102: + push 0x00 + push 0x66 + jmp s_trap_start + +vector103: + push 0x00 + push 0x67 + jmp s_trap_start + +vector104: + push 0x00 + push 0x68 + jmp s_trap_start + +vector105: + push 0x00 + push 0x69 + jmp s_trap_start + +vector106: + push 0x00 + push 0x6A + jmp s_trap_start + +vector107: + push 0x00 + push 0x6B + jmp s_trap_start + +vector108: + push 0x00 + push 0x6C + jmp s_trap_start + +vector109: + push 0x00 + push 0x6D + jmp s_trap_start + +vector110: + push 0x00 + push 0x6E + jmp s_trap_start + +vector111: + push 0x00 + push 0x6F + jmp s_trap_start + +vector112: + push 0x00 + push 0x70 + jmp s_trap_start + +vector113: + push 0x00 + push 0x71 + jmp s_trap_start + +vector114: + push 0x00 + push 0x72 + jmp s_trap_start + +vector115: + push 0x00 + push 0x73 + jmp s_trap_start + +vector116: + push 0x00 + push 0x74 + jmp s_trap_start + +vector117: + push 0x00 + push 0x75 + jmp s_trap_start + +vector118: + push 0x00 + push 0x76 + jmp s_trap_start + +vector119: + push 0x00 + push 0x77 + jmp s_trap_start + +vector120: + push 0x00 + push 0x78 + jmp s_trap_start + +vector121: + push 0x00 + push 0x79 + jmp s_trap_start + +vector122: + push 0x00 + push 0x7A + jmp s_trap_start + +vector123: + push 0x00 + push 0x7B + jmp s_trap_start + +vector124: + push 0x00 + push 0x7C + jmp s_trap_start + +vector125: + push 0x00 + push 0x7D + jmp s_trap_start + +vector126: + push 0x00 + push 0x7E + jmp s_trap_start + +vector127: + push 0x00 + push 0x7F + jmp s_trap_start + +vector128: + push 0x00 + push 0x80 + jmp s_trap_start + +vector129: + push 0x00 + push 0x81 + jmp s_trap_start + +vector130: + push 0x00 + push 0x82 + jmp s_trap_start + +vector131: + push 0x00 + push 0x83 + jmp s_trap_start + +vector132: + push 0x00 + push 0x84 + jmp s_trap_start + +vector133: + push 0x00 + push 0x85 + jmp s_trap_start + +vector134: + push 0x00 + push 0x86 + jmp s_trap_start + +vector135: + push 0x00 + push 0x87 + jmp s_trap_start + +vector136: + push 0x00 + push 0x88 + jmp s_trap_start + +vector137: + push 0x00 + push 0x89 + jmp s_trap_start + +vector138: + push 0x00 + push 0x8A + jmp s_trap_start + +vector139: + push 0x00 + push 0x8B + jmp s_trap_start + +vector140: + push 0x00 + push 0x8C + jmp s_trap_start + +vector141: + push 0x00 + push 0x8D + jmp s_trap_start + +vector142: + push 0x00 + push 0x8E + jmp s_trap_start + +vector143: + push 0x00 + push 0x8F + jmp s_trap_start + +vector144: + push 0x00 + push 0x90 + jmp s_trap_start + +vector145: + push 0x00 + push 0x91 + jmp s_trap_start + +vector146: + push 0x00 + push 0x92 + jmp s_trap_start + +vector147: + push 0x00 + push 0x93 + jmp s_trap_start + +vector148: + push 0x00 + push 0x94 + jmp s_trap_start + +vector149: + push 0x00 + push 0x95 + jmp s_trap_start + +vector150: + push 0x00 + push 0x96 + jmp s_trap_start + +vector151: + push 0x00 + push 0x97 + jmp s_trap_start + +vector152: + push 0x00 + push 0x98 + jmp s_trap_start + +vector153: + push 0x00 + push 0x99 + jmp s_trap_start + +vector154: + push 0x00 + push 0x9A + jmp s_trap_start + +vector155: + push 0x00 + push 0x9B + jmp s_trap_start + +vector156: + push 0x00 + push 0x9C + jmp s_trap_start + +vector157: + push 0x00 + push 0x9D + jmp s_trap_start + +vector158: + push 0x00 + push 0x9E + jmp s_trap_start + +vector159: + push 0x00 + push 0x9F + jmp s_trap_start + +vector160: + push 0x00 + push 0xA0 + jmp s_trap_start + +vector161: + push 0x00 + push 0xA1 + jmp s_trap_start + +vector162: + push 0x00 + push 0xA2 + jmp s_trap_start + +vector163: + push 0x00 + push 0xA3 + jmp s_trap_start + +vector164: + push 0x00 + push 0xA4 + jmp s_trap_start + +vector165: + push 0x00 + push 0xA5 + jmp s_trap_start + +vector166: + push 0x00 + push 0xA6 + jmp s_trap_start + +vector167: + push 0x00 + push 0xA7 + jmp s_trap_start + +vector168: + push 0x00 + push 0xA8 + jmp s_trap_start + +vector169: + push 0x00 + push 0xA9 + jmp s_trap_start + +vector170: + push 0x00 + push 0xAA + jmp s_trap_start + +vector171: + push 0x00 + push 0xAB + jmp s_trap_start + +vector172: + push 0x00 + push 0xAC + jmp s_trap_start + +vector173: + push 0x00 + push 0xAD + jmp s_trap_start + +vector174: + push 0x00 + push 0xAE + jmp s_trap_start + +vector175: + push 0x00 + push 0xAF + jmp s_trap_start + +vector176: + push 0x00 + push 0xB0 + jmp s_trap_start + +vector177: + push 0x00 + push 0xB1 + jmp s_trap_start + +vector178: + push 0x00 + push 0xB2 + jmp s_trap_start + +vector179: + push 0x00 + push 0xB3 + jmp s_trap_start + +vector180: + push 0x00 + push 0xB4 + jmp s_trap_start + +vector181: + push 0x00 + push 0xB5 + jmp s_trap_start + +vector182: + push 0x00 + push 0xB6 + jmp s_trap_start + +vector183: + push 0x00 + push 0xB7 + jmp s_trap_start + +vector184: + push 0x00 + push 0xB8 + jmp s_trap_start + +vector185: + push 0x00 + push 0xB9 + jmp s_trap_start + +vector186: + push 0x00 + push 0xBA + jmp s_trap_start + +vector187: + push 0x00 + push 0xBB + jmp s_trap_start + +vector188: + push 0x00 + push 0xBC + jmp s_trap_start + +vector189: + push 0x00 + push 0xBD + jmp s_trap_start + +vector190: + push 0x00 + push 0xBE + jmp s_trap_start + +vector191: + push 0x00 + push 0xBF + jmp s_trap_start + +vector192: + push 0x00 + push 0xC0 + jmp s_trap_start + +vector193: + push 0x00 + push 0xC1 + jmp s_trap_start + +vector194: + push 0x00 + push 0xC2 + jmp s_trap_start + +vector195: + push 0x00 + push 0xC3 + jmp s_trap_start + +vector196: + push 0x00 + push 0xC4 + jmp s_trap_start + +vector197: + push 0x00 + push 0xC5 + jmp s_trap_start + +vector198: + push 0x00 + push 0xC6 + jmp s_trap_start + +vector199: + push 0x00 + push 0xC7 + jmp s_trap_start + +vector200: + push 0x00 + push 0xC8 + jmp s_trap_start + +vector201: + push 0x00 + push 0xC9 + jmp s_trap_start + +vector202: + push 0x00 + push 0xCA + jmp s_trap_start + +vector203: + push 0x00 + push 0xCB + jmp s_trap_start + +vector204: + push 0x00 + push 0xCC + jmp s_trap_start + +vector205: + push 0x00 + push 0xCD + jmp s_trap_start + +vector206: + push 0x00 + push 0xCE + jmp s_trap_start + +vector207: + push 0x00 + push 0xCF + jmp s_trap_start + +vector208: + push 0x00 + push 0xD0 + jmp s_trap_start + +vector209: + push 0x00 + push 0xD1 + jmp s_trap_start + +vector210: + push 0x00 + push 0xD2 + jmp s_trap_start + +vector211: + push 0x00 + push 0xD3 + jmp s_trap_start + +vector212: + push 0x00 + push 0xD4 + jmp s_trap_start + +vector213: + push 0x00 + push 0xD5 + jmp s_trap_start + +vector214: + push 0x00 + push 0xD6 + jmp s_trap_start + +vector215: + push 0x00 + push 0xD7 + jmp s_trap_start + +vector216: + push 0x00 + push 0xD8 + jmp s_trap_start + +vector217: + push 0x00 + push 0xD9 + jmp s_trap_start + +vector218: + push 0x00 + push 0xDA + jmp s_trap_start + +vector219: + push 0x00 + push 0xDB + jmp s_trap_start + +vector220: + push 0x00 + push 0xDC + jmp s_trap_start + +vector221: + push 0x00 + push 0xDD + jmp s_trap_start + +vector222: + push 0x00 + push 0xDE + jmp s_trap_start + +vector223: + push 0x00 + push 0xDF + jmp s_trap_start + +vector224: + push 0x00 + push 0xE0 + jmp s_trap_start + +vector225: + push 0x00 + push 0xE1 + jmp s_trap_start + +vector226: + push 0x00 + push 0xE2 + jmp s_trap_start + +vector227: + push 0x00 + push 0xE3 + jmp s_trap_start + +vector228: + push 0x00 + push 0xE4 + jmp s_trap_start + +vector229: + push 0x00 + push 0xE5 + jmp s_trap_start + +vector230: + push 0x00 + push 0xE6 + jmp s_trap_start + +vector231: + push 0x00 + push 0xE7 + jmp s_trap_start + +vector232: + push 0x00 + push 0xE8 + jmp s_trap_start + +vector233: + push 0x00 + push 0xE9 + jmp s_trap_start + +vector234: + push 0x00 + push 0xEA + jmp s_trap_start + +vector235: + push 0x00 + push 0xEB + jmp s_trap_start + +vector236: + push 0x00 + push 0xEC + jmp s_trap_start + +vector237: + push 0x00 + push 0xED + jmp s_trap_start + +vector238: + push 0x00 + push 0xEE + jmp s_trap_start + +vector239: + push 0x00 + push 0xEF + jmp s_trap_start + +vector240: + push 0x00 + push 0xF0 + jmp s_trap_start + +vector241: + push 0x00 + push 0xF1 + jmp s_trap_start + +vector242: + push 0x00 + push 0xF2 + jmp s_trap_start + +vector243: + push 0x00 + push 0xF3 + jmp s_trap_start + +vector244: + push 0x00 + push 0xF4 + jmp s_trap_start + +vector245: + push 0x00 + push 0xF5 + jmp s_trap_start + +vector246: + push 0x00 + push 0xF6 + jmp s_trap_start + +vector247: + push 0x00 + push 0xF7 + jmp s_trap_start + +vector248: + push 0x00 + push 0xF8 + jmp s_trap_start + +vector249: + push 0x00 + push 0xF9 + jmp s_trap_start + +vector250: + push 0x00 + push 0xFA + jmp s_trap_start + +vector251: + push 0x00 + push 0xFB + jmp s_trap_start + +vector252: + push 0x00 + push 0xFC + jmp s_trap_start + +vector253: + push 0x00 + push 0xFD + jmp s_trap_start + +vector254: + push 0x00 + push 0xFE + jmp s_trap_start + +vector255: + push 0x00 + push 0xFF + jmp s_trap_start + + |
