/* * NORTi_interrupt.c * * Created on: Jun 24, 2022 * Author: NoMaY * License: MIT */ #include "NORTi_interrupt.h" #include static void (* const Int_Hook_Vectors[])(void); void NORTi_INT_HOOK_init(void) { set_intb((void *)Int_Hook_Vectors); } #pragma inline_asm INT_COMMON_nonOS static void INT_COMMON_nonOS(void) { XCHG [SP], R15 ADD #(- (__$hook_entry___0 + 3) + TOPOF C$VECT), R15 // 3 = size of BSR.W MOV.L [R15], R15 XCHG [SP], R15 RTS // i.e. JMP [SP+] } #pragma inline_asm INT_COMMON_NORTi static void INT_COMMON_NORTi(void) { XCHG [SP], R15 PUSH.L R14 PUSHM R1-R5 BSR.W _NORTi_INT_enter PUSHC PSW MOV.L #?+, R14 PUSH.L R14 ADD #(- (__$hook_entry___0 + 3) + TOPOF C$VECT), R15 // 3 = size of BSR.W MOV.L [R15], R15 JMP R15 ?: BSR.W _NORTi_INT_exit POPM R1-R5 POPM R14-R15 RTE } extern void NORTi_INT_enter(void); extern void NORTi_INT_exit(void); static void INT_COMMON_nonOS(void); static void INT_COMMON_NORTi(void); // To prevent the section name symbol `C$VECT` from being optimized out. void * const dummy_VECTTBL = (void *)__sectop("C$VECT"); // To prevent the symbol from being optimized out. void * const dummy_NORTi_INT_enter = (void *)NORTi_INT_enter; void * const dummy_NORTi_INT_exit = (void *)NORTi_INT_exit; void * const dummy_INT_COMMON_nonOS = (void *)INT_COMMON_nonOS; void * const dummy_INT_COMMON_NORTi = (void *)INT_COMMON_NORTi; //#pragma inline_asm hook_entry____ #pragma inline_asm hook_entry___0 #pragma inline_asm hook_entry___1 #pragma inline_asm hook_entry___2 #pragma inline_asm hook_entry___3 #pragma inline_asm hook_entry___4 #pragma inline_asm hook_entry___5 #pragma inline_asm hook_entry___6 #pragma inline_asm hook_entry___7 #pragma inline_asm hook_entry___8 #pragma inline_asm hook_entry___9 #pragma inline_asm hook_entry__10 #pragma inline_asm hook_entry__11 #pragma inline_asm hook_entry__12 #pragma inline_asm hook_entry__13 #pragma inline_asm hook_entry__14 #pragma inline_asm hook_entry__15 #pragma inline_asm hook_entry__16 #pragma inline_asm hook_entry__17 #pragma inline_asm hook_entry__18 #pragma inline_asm hook_entry__19 #pragma inline_asm hook_entry__20 #pragma inline_asm hook_entry__21 #pragma inline_asm hook_entry__22 #pragma inline_asm hook_entry__23 #pragma inline_asm hook_entry__24 #pragma inline_asm hook_entry__25 #pragma inline_asm hook_entry__26 #pragma inline_asm hook_entry__27 #pragma inline_asm hook_entry__28 #pragma inline_asm hook_entry__29 #pragma inline_asm hook_entry__30 #pragma inline_asm hook_entry__31 #pragma inline_asm hook_entry__32 #pragma inline_asm hook_entry__33 #pragma inline_asm hook_entry__34 #pragma inline_asm hook_entry__35 #pragma inline_asm hook_entry__36 #pragma inline_asm hook_entry__37 #pragma inline_asm hook_entry__38 #pragma inline_asm hook_entry__39 #pragma inline_asm hook_entry__40 #pragma inline_asm hook_entry__41 #pragma inline_asm hook_entry__42 #pragma inline_asm hook_entry__43 #pragma inline_asm hook_entry__44 #pragma inline_asm hook_entry__45 #pragma inline_asm hook_entry__46 #pragma inline_asm hook_entry__47 #pragma inline_asm hook_entry__48 #pragma inline_asm hook_entry__49 #pragma inline_asm hook_entry__50 #pragma inline_asm hook_entry__51 #pragma inline_asm hook_entry__52 #pragma inline_asm hook_entry__53 #pragma inline_asm hook_entry__54 #pragma inline_asm hook_entry__55 #pragma inline_asm hook_entry__56 #pragma inline_asm hook_entry__57 #pragma inline_asm hook_entry__58 #pragma inline_asm hook_entry__59 #pragma inline_asm hook_entry__60 #pragma inline_asm hook_entry__61 #pragma inline_asm hook_entry__62 #pragma inline_asm hook_entry__63 #pragma inline_asm hook_entry__64 #pragma inline_asm hook_entry__65 #pragma inline_asm hook_entry__66 #pragma inline_asm hook_entry__67 #pragma inline_asm hook_entry__68 #pragma inline_asm hook_entry__69 #pragma inline_asm hook_entry__70 #pragma inline_asm hook_entry__71 #pragma inline_asm hook_entry__72 #pragma inline_asm hook_entry__73 #pragma inline_asm hook_entry__74 #pragma inline_asm hook_entry__75 #pragma inline_asm hook_entry__76 #pragma inline_asm hook_entry__77 #pragma inline_asm hook_entry__78 #pragma inline_asm hook_entry__79 #pragma inline_asm hook_entry__80 #pragma inline_asm hook_entry__81 #pragma inline_asm hook_entry__82 #pragma inline_asm hook_entry__83 #pragma inline_asm hook_entry__84 #pragma inline_asm hook_entry__85 #pragma inline_asm hook_entry__86 #pragma inline_asm hook_entry__87 #pragma inline_asm hook_entry__88 #pragma inline_asm hook_entry__89 #pragma inline_asm hook_entry__90 #pragma inline_asm hook_entry__91 #pragma inline_asm hook_entry__92 #pragma inline_asm hook_entry__93 #pragma inline_asm hook_entry__94 #pragma inline_asm hook_entry__95 #pragma inline_asm hook_entry__96 #pragma inline_asm hook_entry__97 #pragma inline_asm hook_entry__98 #pragma inline_asm hook_entry__99 #pragma inline_asm hook_entry_100 #pragma inline_asm hook_entry_101 #pragma inline_asm hook_entry_102 #pragma inline_asm hook_entry_103 #pragma inline_asm hook_entry_104 #pragma inline_asm hook_entry_105 #pragma inline_asm hook_entry_106 #pragma inline_asm hook_entry_107 #pragma inline_asm hook_entry_108 #pragma inline_asm hook_entry_109 #pragma inline_asm hook_entry_110 #pragma inline_asm hook_entry_111 #pragma inline_asm hook_entry_112 #pragma inline_asm hook_entry_113 #pragma inline_asm hook_entry_114 #pragma inline_asm hook_entry_115 #pragma inline_asm hook_entry_116 #pragma inline_asm hook_entry_117 #pragma inline_asm hook_entry_118 #pragma inline_asm hook_entry_119 #pragma inline_asm hook_entry_120 #pragma inline_asm hook_entry_121 #pragma inline_asm hook_entry_122 #pragma inline_asm hook_entry_123 #pragma inline_asm hook_entry_124 #pragma inline_asm hook_entry_125 #pragma inline_asm hook_entry_126 #pragma inline_asm hook_entry_127 #pragma inline_asm hook_entry_128 #pragma inline_asm hook_entry_129 #pragma inline_asm hook_entry_130 #pragma inline_asm hook_entry_131 #pragma inline_asm hook_entry_132 #pragma inline_asm hook_entry_133 #pragma inline_asm hook_entry_134 #pragma inline_asm hook_entry_135 #pragma inline_asm hook_entry_136 #pragma inline_asm hook_entry_137 #pragma inline_asm hook_entry_138 #pragma inline_asm hook_entry_139 #pragma inline_asm hook_entry_140 #pragma inline_asm hook_entry_141 #pragma inline_asm hook_entry_142 #pragma inline_asm hook_entry_143 #pragma inline_asm hook_entry_144 #pragma inline_asm hook_entry_145 #pragma inline_asm hook_entry_146 #pragma inline_asm hook_entry_147 #pragma inline_asm hook_entry_148 #pragma inline_asm hook_entry_149 #pragma inline_asm hook_entry_150 #pragma inline_asm hook_entry_151 #pragma inline_asm hook_entry_152 #pragma inline_asm hook_entry_153 #pragma inline_asm hook_entry_154 #pragma inline_asm hook_entry_155 #pragma inline_asm hook_entry_156 #pragma inline_asm hook_entry_157 #pragma inline_asm hook_entry_158 #pragma inline_asm hook_entry_159 #pragma inline_asm hook_entry_160 #pragma inline_asm hook_entry_161 #pragma inline_asm hook_entry_162 #pragma inline_asm hook_entry_163 #pragma inline_asm hook_entry_164 #pragma inline_asm hook_entry_165 #pragma inline_asm hook_entry_166 #pragma inline_asm hook_entry_167 #pragma inline_asm hook_entry_168 #pragma inline_asm hook_entry_169 #pragma inline_asm hook_entry_170 #pragma inline_asm hook_entry_171 #pragma inline_asm hook_entry_172 #pragma inline_asm hook_entry_173 #pragma inline_asm hook_entry_174 #pragma inline_asm hook_entry_175 #pragma inline_asm hook_entry_176 #pragma inline_asm hook_entry_177 #pragma inline_asm hook_entry_178 #pragma inline_asm hook_entry_179 #pragma inline_asm hook_entry_180 #pragma inline_asm hook_entry_181 #pragma inline_asm hook_entry_182 #pragma inline_asm hook_entry_183 #pragma inline_asm hook_entry_184 #pragma inline_asm hook_entry_185 #pragma inline_asm hook_entry_186 #pragma inline_asm hook_entry_187 #pragma inline_asm hook_entry_188 #pragma inline_asm hook_entry_189 #pragma inline_asm hook_entry_190 #pragma inline_asm hook_entry_191 #pragma inline_asm hook_entry_192 #pragma inline_asm hook_entry_193 #pragma inline_asm hook_entry_194 #pragma inline_asm hook_entry_195 #pragma inline_asm hook_entry_196 #pragma inline_asm hook_entry_197 #pragma inline_asm hook_entry_198 #pragma inline_asm hook_entry_199 #pragma inline_asm hook_entry_200 #pragma inline_asm hook_entry_201 #pragma inline_asm hook_entry_202 #pragma inline_asm hook_entry_203 #pragma inline_asm hook_entry_204 #pragma inline_asm hook_entry_205 #pragma inline_asm hook_entry_206 #pragma inline_asm hook_entry_207 #pragma inline_asm hook_entry_208 #pragma inline_asm hook_entry_209 #pragma inline_asm hook_entry_210 #pragma inline_asm hook_entry_211 #pragma inline_asm hook_entry_212 #pragma inline_asm hook_entry_213 #pragma inline_asm hook_entry_214 #pragma inline_asm hook_entry_215 #pragma inline_asm hook_entry_216 #pragma inline_asm hook_entry_217 #pragma inline_asm hook_entry_218 #pragma inline_asm hook_entry_219 #pragma inline_asm hook_entry_220 #pragma inline_asm hook_entry_221 #pragma inline_asm hook_entry_222 #pragma inline_asm hook_entry_223 #pragma inline_asm hook_entry_224 #pragma inline_asm hook_entry_225 #pragma inline_asm hook_entry_226 #pragma inline_asm hook_entry_227 #pragma inline_asm hook_entry_228 #pragma inline_asm hook_entry_229 #pragma inline_asm hook_entry_230 #pragma inline_asm hook_entry_231 #pragma inline_asm hook_entry_232 #pragma inline_asm hook_entry_233 #pragma inline_asm hook_entry_234 #pragma inline_asm hook_entry_235 #pragma inline_asm hook_entry_236 #pragma inline_asm hook_entry_237 #pragma inline_asm hook_entry_238 #pragma inline_asm hook_entry_239 #pragma inline_asm hook_entry_240 #pragma inline_asm hook_entry_241 #pragma inline_asm hook_entry_242 #pragma inline_asm hook_entry_243 #pragma inline_asm hook_entry_244 #pragma inline_asm hook_entry_245 #pragma inline_asm hook_entry_246 #pragma inline_asm hook_entry_247 #pragma inline_asm hook_entry_248 #pragma inline_asm hook_entry_249 #pragma inline_asm hook_entry_250 #pragma inline_asm hook_entry_251 #pragma inline_asm hook_entry_252 #pragma inline_asm hook_entry_253 #pragma inline_asm hook_entry_254 #pragma inline_asm hook_entry_255 #define _INT_COMMON(sel) __$INT_COMMON_##sel #define INT_COMMON(sel) _INT_COMMON(sel) // The code size of the following functions is just four bytes. // 00000000 39rrrr W BRA.W __$XXX // 00000003 02 RTS // Not used. static void hook_entry___0(void) { BSR.W INT_COMMON(INTERRUPT___0) } static void hook_entry___1(void) { BSR.W INT_COMMON(INTERRUPT___1) } static void hook_entry___2(void) { BSR.W INT_COMMON(INTERRUPT___2) } static void hook_entry___3(void) { BSR.W INT_COMMON(INTERRUPT___3) } static void hook_entry___4(void) { BSR.W INT_COMMON(INTERRUPT___4) } static void hook_entry___5(void) { BSR.W INT_COMMON(INTERRUPT___5) } static void hook_entry___6(void) { BSR.W INT_COMMON(INTERRUPT___6) } static void hook_entry___7(void) { BSR.W INT_COMMON(INTERRUPT___7) } static void hook_entry___8(void) { BSR.W INT_COMMON(INTERRUPT___8) } static void hook_entry___9(void) { BSR.W INT_COMMON(INTERRUPT___9) } static void hook_entry__10(void) { BSR.W INT_COMMON(INTERRUPT__10) } static void hook_entry__11(void) { BSR.W INT_COMMON(INTERRUPT__11) } static void hook_entry__12(void) { BSR.W INT_COMMON(INTERRUPT__12) } static void hook_entry__13(void) { BSR.W INT_COMMON(INTERRUPT__13) } static void hook_entry__14(void) { BSR.W INT_COMMON(INTERRUPT__14) } static void hook_entry__15(void) { BSR.W INT_COMMON(INTERRUPT__15) } static void hook_entry__16(void) { BSR.W INT_COMMON(INTERRUPT__16) } static void hook_entry__17(void) { BSR.W INT_COMMON(INTERRUPT__17) } static void hook_entry__18(void) { BSR.W INT_COMMON(INTERRUPT__18) } static void hook_entry__19(void) { BSR.W INT_COMMON(INTERRUPT__19) } static void hook_entry__20(void) { BSR.W INT_COMMON(INTERRUPT__20) } static void hook_entry__21(void) { BSR.W INT_COMMON(INTERRUPT__21) } static void hook_entry__22(void) { BSR.W INT_COMMON(INTERRUPT__22) } static void hook_entry__23(void) { BSR.W INT_COMMON(INTERRUPT__23) } static void hook_entry__24(void) { BSR.W INT_COMMON(INTERRUPT__24) } static void hook_entry__25(void) { BSR.W INT_COMMON(INTERRUPT__25) } static void hook_entry__26(void) { BSR.W INT_COMMON(INTERRUPT__26) } static void hook_entry__27(void) { BSR.W INT_COMMON(INTERRUPT__27) } static void hook_entry__28(void) { BSR.W INT_COMMON(INTERRUPT__28) } static void hook_entry__29(void) { BSR.W INT_COMMON(INTERRUPT__29) } static void hook_entry__30(void) { BSR.W INT_COMMON(INTERRUPT__30) } static void hook_entry__31(void) { BSR.W INT_COMMON(INTERRUPT__31) } static void hook_entry__32(void) { BSR.W INT_COMMON(INTERRUPT__32) } static void hook_entry__33(void) { BSR.W INT_COMMON(INTERRUPT__33) } static void hook_entry__34(void) { BSR.W INT_COMMON(INTERRUPT__34) } static void hook_entry__35(void) { BSR.W INT_COMMON(INTERRUPT__35) } static void hook_entry__36(void) { BSR.W INT_COMMON(INTERRUPT__36) } static void hook_entry__37(void) { BSR.W INT_COMMON(INTERRUPT__37) } static void hook_entry__38(void) { BSR.W INT_COMMON(INTERRUPT__38) } static void hook_entry__39(void) { BSR.W INT_COMMON(INTERRUPT__39) } static void hook_entry__40(void) { BSR.W INT_COMMON(INTERRUPT__40) } static void hook_entry__41(void) { BSR.W INT_COMMON(INTERRUPT__41) } static void hook_entry__42(void) { BSR.W INT_COMMON(INTERRUPT__42) } static void hook_entry__43(void) { BSR.W INT_COMMON(INTERRUPT__43) } static void hook_entry__44(void) { BSR.W INT_COMMON(INTERRUPT__44) } static void hook_entry__45(void) { BSR.W INT_COMMON(INTERRUPT__45) } static void hook_entry__46(void) { BSR.W INT_COMMON(INTERRUPT__46) } static void hook_entry__47(void) { BSR.W INT_COMMON(INTERRUPT__47) } static void hook_entry__48(void) { BSR.W INT_COMMON(INTERRUPT__48) } static void hook_entry__49(void) { BSR.W INT_COMMON(INTERRUPT__49) } static void hook_entry__50(void) { BSR.W INT_COMMON(INTERRUPT__50) } static void hook_entry__51(void) { BSR.W INT_COMMON(INTERRUPT__51) } static void hook_entry__52(void) { BSR.W INT_COMMON(INTERRUPT__52) } static void hook_entry__53(void) { BSR.W INT_COMMON(INTERRUPT__53) } static void hook_entry__54(void) { BSR.W INT_COMMON(INTERRUPT__54) } static void hook_entry__55(void) { BSR.W INT_COMMON(INTERRUPT__55) } static void hook_entry__56(void) { BSR.W INT_COMMON(INTERRUPT__56) } static void hook_entry__57(void) { BSR.W INT_COMMON(INTERRUPT__57) } static void hook_entry__58(void) { BSR.W INT_COMMON(INTERRUPT__58) } static void hook_entry__59(void) { BSR.W INT_COMMON(INTERRUPT__59) } static void hook_entry__60(void) { BSR.W INT_COMMON(INTERRUPT__60) } static void hook_entry__61(void) { BSR.W INT_COMMON(INTERRUPT__61) } static void hook_entry__62(void) { BSR.W INT_COMMON(INTERRUPT__62) } static void hook_entry__63(void) { BSR.W INT_COMMON(INTERRUPT__63) } static void hook_entry__64(void) { BSR.W INT_COMMON(INTERRUPT__64) } static void hook_entry__65(void) { BSR.W INT_COMMON(INTERRUPT__65) } static void hook_entry__66(void) { BSR.W INT_COMMON(INTERRUPT__66) } static void hook_entry__67(void) { BSR.W INT_COMMON(INTERRUPT__67) } static void hook_entry__68(void) { BSR.W INT_COMMON(INTERRUPT__68) } static void hook_entry__69(void) { BSR.W INT_COMMON(INTERRUPT__69) } static void hook_entry__70(void) { BSR.W INT_COMMON(INTERRUPT__70) } static void hook_entry__71(void) { BSR.W INT_COMMON(INTERRUPT__71) } static void hook_entry__72(void) { BSR.W INT_COMMON(INTERRUPT__72) } static void hook_entry__73(void) { BSR.W INT_COMMON(INTERRUPT__73) } static void hook_entry__74(void) { BSR.W INT_COMMON(INTERRUPT__74) } static void hook_entry__75(void) { BSR.W INT_COMMON(INTERRUPT__75) } static void hook_entry__76(void) { BSR.W INT_COMMON(INTERRUPT__76) } static void hook_entry__77(void) { BSR.W INT_COMMON(INTERRUPT__77) } static void hook_entry__78(void) { BSR.W INT_COMMON(INTERRUPT__78) } static void hook_entry__79(void) { BSR.W INT_COMMON(INTERRUPT__79) } static void hook_entry__80(void) { BSR.W INT_COMMON(INTERRUPT__80) } static void hook_entry__81(void) { BSR.W INT_COMMON(INTERRUPT__81) } static void hook_entry__82(void) { BSR.W INT_COMMON(INTERRUPT__82) } static void hook_entry__83(void) { BSR.W INT_COMMON(INTERRUPT__83) } static void hook_entry__84(void) { BSR.W INT_COMMON(INTERRUPT__84) } static void hook_entry__85(void) { BSR.W INT_COMMON(INTERRUPT__85) } static void hook_entry__86(void) { BSR.W INT_COMMON(INTERRUPT__86) } static void hook_entry__87(void) { BSR.W INT_COMMON(INTERRUPT__87) } static void hook_entry__88(void) { BSR.W INT_COMMON(INTERRUPT__88) } static void hook_entry__89(void) { BSR.W INT_COMMON(INTERRUPT__89) } static void hook_entry__90(void) { BSR.W INT_COMMON(INTERRUPT__90) } static void hook_entry__91(void) { BSR.W INT_COMMON(INTERRUPT__91) } static void hook_entry__92(void) { BSR.W INT_COMMON(INTERRUPT__92) } static void hook_entry__93(void) { BSR.W INT_COMMON(INTERRUPT__93) } static void hook_entry__94(void) { BSR.W INT_COMMON(INTERRUPT__94) } static void hook_entry__95(void) { BSR.W INT_COMMON(INTERRUPT__95) } static void hook_entry__96(void) { BSR.W INT_COMMON(INTERRUPT__96) } static void hook_entry__97(void) { BSR.W INT_COMMON(INTERRUPT__97) } static void hook_entry__98(void) { BSR.W INT_COMMON(INTERRUPT__98) } static void hook_entry__99(void) { BSR.W INT_COMMON(INTERRUPT__99) } static void hook_entry_100(void) { BSR.W INT_COMMON(INTERRUPT_100) } static void hook_entry_101(void) { BSR.W INT_COMMON(INTERRUPT_101) } static void hook_entry_102(void) { BSR.W INT_COMMON(INTERRUPT_102) } static void hook_entry_103(void) { BSR.W INT_COMMON(INTERRUPT_103) } static void hook_entry_104(void) { BSR.W INT_COMMON(INTERRUPT_104) } static void hook_entry_105(void) { BSR.W INT_COMMON(INTERRUPT_105) } static void hook_entry_106(void) { BSR.W INT_COMMON(INTERRUPT_106) } static void hook_entry_107(void) { BSR.W INT_COMMON(INTERRUPT_107) } static void hook_entry_108(void) { BSR.W INT_COMMON(INTERRUPT_108) } static void hook_entry_109(void) { BSR.W INT_COMMON(INTERRUPT_109) } static void hook_entry_110(void) { BSR.W INT_COMMON(INTERRUPT_110) } static void hook_entry_111(void) { BSR.W INT_COMMON(INTERRUPT_111) } static void hook_entry_112(void) { BSR.W INT_COMMON(INTERRUPT_112) } static void hook_entry_113(void) { BSR.W INT_COMMON(INTERRUPT_113) } static void hook_entry_114(void) { BSR.W INT_COMMON(INTERRUPT_114) } static void hook_entry_115(void) { BSR.W INT_COMMON(INTERRUPT_115) } static void hook_entry_116(void) { BSR.W INT_COMMON(INTERRUPT_116) } static void hook_entry_117(void) { BSR.W INT_COMMON(INTERRUPT_117) } static void hook_entry_118(void) { BSR.W INT_COMMON(INTERRUPT_118) } static void hook_entry_119(void) { BSR.W INT_COMMON(INTERRUPT_119) } static void hook_entry_120(void) { BSR.W INT_COMMON(INTERRUPT_120) } static void hook_entry_121(void) { BSR.W INT_COMMON(INTERRUPT_121) } static void hook_entry_122(void) { BSR.W INT_COMMON(INTERRUPT_122) } static void hook_entry_123(void) { BSR.W INT_COMMON(INTERRUPT_123) } static void hook_entry_124(void) { BSR.W INT_COMMON(INTERRUPT_124) } static void hook_entry_125(void) { BSR.W INT_COMMON(INTERRUPT_125) } static void hook_entry_126(void) { BSR.W INT_COMMON(INTERRUPT_126) } static void hook_entry_127(void) { BSR.W INT_COMMON(INTERRUPT_127) } static void hook_entry_128(void) { BSR.W INT_COMMON(INTERRUPT_128) } static void hook_entry_129(void) { BSR.W INT_COMMON(INTERRUPT_129) } static void hook_entry_130(void) { BSR.W INT_COMMON(INTERRUPT_130) } static void hook_entry_131(void) { BSR.W INT_COMMON(INTERRUPT_131) } static void hook_entry_132(void) { BSR.W INT_COMMON(INTERRUPT_132) } static void hook_entry_133(void) { BSR.W INT_COMMON(INTERRUPT_133) } static void hook_entry_134(void) { BSR.W INT_COMMON(INTERRUPT_134) } static void hook_entry_135(void) { BSR.W INT_COMMON(INTERRUPT_135) } static void hook_entry_136(void) { BSR.W INT_COMMON(INTERRUPT_136) } static void hook_entry_137(void) { BSR.W INT_COMMON(INTERRUPT_137) } static void hook_entry_138(void) { BSR.W INT_COMMON(INTERRUPT_138) } static void hook_entry_139(void) { BSR.W INT_COMMON(INTERRUPT_139) } static void hook_entry_140(void) { BSR.W INT_COMMON(INTERRUPT_140) } static void hook_entry_141(void) { BSR.W INT_COMMON(INTERRUPT_141) } static void hook_entry_142(void) { BSR.W INT_COMMON(INTERRUPT_142) } static void hook_entry_143(void) { BSR.W INT_COMMON(INTERRUPT_143) } static void hook_entry_144(void) { BSR.W INT_COMMON(INTERRUPT_144) } static void hook_entry_145(void) { BSR.W INT_COMMON(INTERRUPT_145) } static void hook_entry_146(void) { BSR.W INT_COMMON(INTERRUPT_146) } static void hook_entry_147(void) { BSR.W INT_COMMON(INTERRUPT_147) } static void hook_entry_148(void) { BSR.W INT_COMMON(INTERRUPT_148) } static void hook_entry_149(void) { BSR.W INT_COMMON(INTERRUPT_149) } static void hook_entry_150(void) { BSR.W INT_COMMON(INTERRUPT_150) } static void hook_entry_151(void) { BSR.W INT_COMMON(INTERRUPT_151) } static void hook_entry_152(void) { BSR.W INT_COMMON(INTERRUPT_152) } static void hook_entry_153(void) { BSR.W INT_COMMON(INTERRUPT_153) } static void hook_entry_154(void) { BSR.W INT_COMMON(INTERRUPT_154) } static void hook_entry_155(void) { BSR.W INT_COMMON(INTERRUPT_155) } static void hook_entry_156(void) { BSR.W INT_COMMON(INTERRUPT_156) } static void hook_entry_157(void) { BSR.W INT_COMMON(INTERRUPT_157) } static void hook_entry_158(void) { BSR.W INT_COMMON(INTERRUPT_158) } static void hook_entry_159(void) { BSR.W INT_COMMON(INTERRUPT_159) } static void hook_entry_160(void) { BSR.W INT_COMMON(INTERRUPT_160) } static void hook_entry_161(void) { BSR.W INT_COMMON(INTERRUPT_161) } static void hook_entry_162(void) { BSR.W INT_COMMON(INTERRUPT_162) } static void hook_entry_163(void) { BSR.W INT_COMMON(INTERRUPT_163) } static void hook_entry_164(void) { BSR.W INT_COMMON(INTERRUPT_164) } static void hook_entry_165(void) { BSR.W INT_COMMON(INTERRUPT_165) } static void hook_entry_166(void) { BSR.W INT_COMMON(INTERRUPT_166) } static void hook_entry_167(void) { BSR.W INT_COMMON(INTERRUPT_167) } static void hook_entry_168(void) { BSR.W INT_COMMON(INTERRUPT_168) } static void hook_entry_169(void) { BSR.W INT_COMMON(INTERRUPT_169) } static void hook_entry_170(void) { BSR.W INT_COMMON(INTERRUPT_170) } static void hook_entry_171(void) { BSR.W INT_COMMON(INTERRUPT_171) } static void hook_entry_172(void) { BSR.W INT_COMMON(INTERRUPT_172) } static void hook_entry_173(void) { BSR.W INT_COMMON(INTERRUPT_173) } static void hook_entry_174(void) { BSR.W INT_COMMON(INTERRUPT_174) } static void hook_entry_175(void) { BSR.W INT_COMMON(INTERRUPT_175) } static void hook_entry_176(void) { BSR.W INT_COMMON(INTERRUPT_176) } static void hook_entry_177(void) { BSR.W INT_COMMON(INTERRUPT_177) } static void hook_entry_178(void) { BSR.W INT_COMMON(INTERRUPT_178) } static void hook_entry_179(void) { BSR.W INT_COMMON(INTERRUPT_179) } static void hook_entry_180(void) { BSR.W INT_COMMON(INTERRUPT_180) } static void hook_entry_181(void) { BSR.W INT_COMMON(INTERRUPT_181) } static void hook_entry_182(void) { BSR.W INT_COMMON(INTERRUPT_182) } static void hook_entry_183(void) { BSR.W INT_COMMON(INTERRUPT_183) } static void hook_entry_184(void) { BSR.W INT_COMMON(INTERRUPT_184) } static void hook_entry_185(void) { BSR.W INT_COMMON(INTERRUPT_185) } static void hook_entry_186(void) { BSR.W INT_COMMON(INTERRUPT_186) } static void hook_entry_187(void) { BSR.W INT_COMMON(INTERRUPT_187) } static void hook_entry_188(void) { BSR.W INT_COMMON(INTERRUPT_188) } static void hook_entry_189(void) { BSR.W INT_COMMON(INTERRUPT_189) } static void hook_entry_190(void) { BSR.W INT_COMMON(INTERRUPT_190) } static void hook_entry_191(void) { BSR.W INT_COMMON(INTERRUPT_191) } static void hook_entry_192(void) { BSR.W INT_COMMON(INTERRUPT_192) } static void hook_entry_193(void) { BSR.W INT_COMMON(INTERRUPT_193) } static void hook_entry_194(void) { BSR.W INT_COMMON(INTERRUPT_194) } static void hook_entry_195(void) { BSR.W INT_COMMON(INTERRUPT_195) } static void hook_entry_196(void) { BSR.W INT_COMMON(INTERRUPT_196) } static void hook_entry_197(void) { BSR.W INT_COMMON(INTERRUPT_197) } static void hook_entry_198(void) { BSR.W INT_COMMON(INTERRUPT_198) } static void hook_entry_199(void) { BSR.W INT_COMMON(INTERRUPT_199) } static void hook_entry_200(void) { BSR.W INT_COMMON(INTERRUPT_200) } static void hook_entry_201(void) { BSR.W INT_COMMON(INTERRUPT_201) } static void hook_entry_202(void) { BSR.W INT_COMMON(INTERRUPT_202) } static void hook_entry_203(void) { BSR.W INT_COMMON(INTERRUPT_203) } static void hook_entry_204(void) { BSR.W INT_COMMON(INTERRUPT_204) } static void hook_entry_205(void) { BSR.W INT_COMMON(INTERRUPT_205) } static void hook_entry_206(void) { BSR.W INT_COMMON(INTERRUPT_206) } static void hook_entry_207(void) { BSR.W INT_COMMON(INTERRUPT_207) } static void hook_entry_208(void) { BSR.W INT_COMMON(INTERRUPT_208) } static void hook_entry_209(void) { BSR.W INT_COMMON(INTERRUPT_209) } static void hook_entry_210(void) { BSR.W INT_COMMON(INTERRUPT_210) } static void hook_entry_211(void) { BSR.W INT_COMMON(INTERRUPT_211) } static void hook_entry_212(void) { BSR.W INT_COMMON(INTERRUPT_212) } static void hook_entry_213(void) { BSR.W INT_COMMON(INTERRUPT_213) } static void hook_entry_214(void) { BSR.W INT_COMMON(INTERRUPT_214) } static void hook_entry_215(void) { BSR.W INT_COMMON(INTERRUPT_215) } static void hook_entry_216(void) { BSR.W INT_COMMON(INTERRUPT_216) } static void hook_entry_217(void) { BSR.W INT_COMMON(INTERRUPT_217) } static void hook_entry_218(void) { BSR.W INT_COMMON(INTERRUPT_218) } static void hook_entry_219(void) { BSR.W INT_COMMON(INTERRUPT_219) } static void hook_entry_220(void) { BSR.W INT_COMMON(INTERRUPT_220) } static void hook_entry_221(void) { BSR.W INT_COMMON(INTERRUPT_221) } static void hook_entry_222(void) { BSR.W INT_COMMON(INTERRUPT_222) } static void hook_entry_223(void) { BSR.W INT_COMMON(INTERRUPT_223) } static void hook_entry_224(void) { BSR.W INT_COMMON(INTERRUPT_224) } static void hook_entry_225(void) { BSR.W INT_COMMON(INTERRUPT_225) } static void hook_entry_226(void) { BSR.W INT_COMMON(INTERRUPT_226) } static void hook_entry_227(void) { BSR.W INT_COMMON(INTERRUPT_227) } static void hook_entry_228(void) { BSR.W INT_COMMON(INTERRUPT_228) } static void hook_entry_229(void) { BSR.W INT_COMMON(INTERRUPT_229) } static void hook_entry_230(void) { BSR.W INT_COMMON(INTERRUPT_230) } static void hook_entry_231(void) { BSR.W INT_COMMON(INTERRUPT_231) } static void hook_entry_232(void) { BSR.W INT_COMMON(INTERRUPT_232) } static void hook_entry_233(void) { BSR.W INT_COMMON(INTERRUPT_233) } static void hook_entry_234(void) { BSR.W INT_COMMON(INTERRUPT_234) } static void hook_entry_235(void) { BSR.W INT_COMMON(INTERRUPT_235) } static void hook_entry_236(void) { BSR.W INT_COMMON(INTERRUPT_236) } static void hook_entry_237(void) { BSR.W INT_COMMON(INTERRUPT_237) } static void hook_entry_238(void) { BSR.W INT_COMMON(INTERRUPT_238) } static void hook_entry_239(void) { BSR.W INT_COMMON(INTERRUPT_239) } static void hook_entry_240(void) { BSR.W INT_COMMON(INTERRUPT_240) } static void hook_entry_241(void) { BSR.W INT_COMMON(INTERRUPT_241) } static void hook_entry_242(void) { BSR.W INT_COMMON(INTERRUPT_242) } static void hook_entry_243(void) { BSR.W INT_COMMON(INTERRUPT_243) } static void hook_entry_244(void) { BSR.W INT_COMMON(INTERRUPT_244) } static void hook_entry_245(void) { BSR.W INT_COMMON(INTERRUPT_245) } static void hook_entry_246(void) { BSR.W INT_COMMON(INTERRUPT_246) } static void hook_entry_247(void) { BSR.W INT_COMMON(INTERRUPT_247) } static void hook_entry_248(void) { BSR.W INT_COMMON(INTERRUPT_248) } static void hook_entry_249(void) { BSR.W INT_COMMON(INTERRUPT_249) } static void hook_entry_250(void) { BSR.W INT_COMMON(INTERRUPT_250) } static void hook_entry_251(void) { BSR.W INT_COMMON(INTERRUPT_251) } static void hook_entry_252(void) { BSR.W INT_COMMON(INTERRUPT_252) } static void hook_entry_253(void) { BSR.W INT_COMMON(INTERRUPT_253) } static void hook_entry_254(void) { BSR.W INT_COMMON(INTERRUPT_254) } static void hook_entry_255(void) { BSR.W INT_COMMON(INTERRUPT_255) } static void (* const Int_Hook_Vectors[])(void) = { (void (*)(void))hook_entry___0, (void (*)(void))hook_entry___1, (void (*)(void))hook_entry___2, (void (*)(void))hook_entry___3, (void (*)(void))hook_entry___4, (void (*)(void))hook_entry___5, (void (*)(void))hook_entry___6, (void (*)(void))hook_entry___7, (void (*)(void))hook_entry___8, (void (*)(void))hook_entry___9, (void (*)(void))hook_entry__10, (void (*)(void))hook_entry__11, (void (*)(void))hook_entry__12, (void (*)(void))hook_entry__13, (void (*)(void))hook_entry__14, (void (*)(void))hook_entry__15, (void (*)(void))hook_entry__16, (void (*)(void))hook_entry__17, (void (*)(void))hook_entry__18, (void (*)(void))hook_entry__19, (void (*)(void))hook_entry__20, (void (*)(void))hook_entry__21, (void (*)(void))hook_entry__22, (void (*)(void))hook_entry__23, (void (*)(void))hook_entry__24, (void (*)(void))hook_entry__25, (void (*)(void))hook_entry__26, (void (*)(void))hook_entry__27, (void (*)(void))hook_entry__28, (void (*)(void))hook_entry__29, (void (*)(void))hook_entry__30, (void (*)(void))hook_entry__31, (void (*)(void))hook_entry__32, (void (*)(void))hook_entry__33, (void (*)(void))hook_entry__34, (void (*)(void))hook_entry__35, (void (*)(void))hook_entry__36, (void (*)(void))hook_entry__37, (void (*)(void))hook_entry__38, (void (*)(void))hook_entry__39, (void (*)(void))hook_entry__40, (void (*)(void))hook_entry__41, (void (*)(void))hook_entry__42, (void (*)(void))hook_entry__43, (void (*)(void))hook_entry__44, (void (*)(void))hook_entry__45, (void (*)(void))hook_entry__46, (void (*)(void))hook_entry__47, (void (*)(void))hook_entry__48, (void (*)(void))hook_entry__49, (void (*)(void))hook_entry__50, (void (*)(void))hook_entry__51, (void (*)(void))hook_entry__52, (void (*)(void))hook_entry__53, (void (*)(void))hook_entry__54, (void (*)(void))hook_entry__55, (void (*)(void))hook_entry__56, (void (*)(void))hook_entry__57, (void (*)(void))hook_entry__58, (void (*)(void))hook_entry__59, (void (*)(void))hook_entry__60, (void (*)(void))hook_entry__61, (void (*)(void))hook_entry__62, (void (*)(void))hook_entry__63, (void (*)(void))hook_entry__64, (void (*)(void))hook_entry__65, (void (*)(void))hook_entry__66, (void (*)(void))hook_entry__67, (void (*)(void))hook_entry__68, (void (*)(void))hook_entry__69, (void (*)(void))hook_entry__70, (void (*)(void))hook_entry__71, (void (*)(void))hook_entry__72, (void (*)(void))hook_entry__73, (void (*)(void))hook_entry__74, (void (*)(void))hook_entry__75, (void (*)(void))hook_entry__76, (void (*)(void))hook_entry__77, (void (*)(void))hook_entry__78, (void (*)(void))hook_entry__79, (void (*)(void))hook_entry__80, (void (*)(void))hook_entry__81, (void (*)(void))hook_entry__82, (void (*)(void))hook_entry__83, (void (*)(void))hook_entry__84, (void (*)(void))hook_entry__85, (void (*)(void))hook_entry__86, (void (*)(void))hook_entry__87, (void (*)(void))hook_entry__88, (void (*)(void))hook_entry__89, (void (*)(void))hook_entry__90, (void (*)(void))hook_entry__91, (void (*)(void))hook_entry__92, (void (*)(void))hook_entry__93, (void (*)(void))hook_entry__94, (void (*)(void))hook_entry__95, (void (*)(void))hook_entry__96, (void (*)(void))hook_entry__97, (void (*)(void))hook_entry__98, (void (*)(void))hook_entry__99, (void (*)(void))hook_entry_100, (void (*)(void))hook_entry_101, (void (*)(void))hook_entry_102, (void (*)(void))hook_entry_103, (void (*)(void))hook_entry_104, (void (*)(void))hook_entry_105, (void (*)(void))hook_entry_106, (void (*)(void))hook_entry_107, (void (*)(void))hook_entry_108, (void (*)(void))hook_entry_109, (void (*)(void))hook_entry_110, (void (*)(void))hook_entry_111, (void (*)(void))hook_entry_112, (void (*)(void))hook_entry_113, (void (*)(void))hook_entry_114, (void (*)(void))hook_entry_115, (void (*)(void))hook_entry_116, (void (*)(void))hook_entry_117, (void (*)(void))hook_entry_118, (void (*)(void))hook_entry_119, (void (*)(void))hook_entry_120, (void (*)(void))hook_entry_121, (void (*)(void))hook_entry_122, (void (*)(void))hook_entry_123, (void (*)(void))hook_entry_124, (void (*)(void))hook_entry_125, (void (*)(void))hook_entry_126, (void (*)(void))hook_entry_127, (void (*)(void))hook_entry_128, (void (*)(void))hook_entry_129, (void (*)(void))hook_entry_130, (void (*)(void))hook_entry_131, (void (*)(void))hook_entry_132, (void (*)(void))hook_entry_133, (void (*)(void))hook_entry_134, (void (*)(void))hook_entry_135, (void (*)(void))hook_entry_136, (void (*)(void))hook_entry_137, (void (*)(void))hook_entry_138, (void (*)(void))hook_entry_139, (void (*)(void))hook_entry_140, (void (*)(void))hook_entry_141, (void (*)(void))hook_entry_142, (void (*)(void))hook_entry_143, (void (*)(void))hook_entry_144, (void (*)(void))hook_entry_145, (void (*)(void))hook_entry_146, (void (*)(void))hook_entry_147, (void (*)(void))hook_entry_148, (void (*)(void))hook_entry_149, (void (*)(void))hook_entry_150, (void (*)(void))hook_entry_151, (void (*)(void))hook_entry_152, (void (*)(void))hook_entry_153, (void (*)(void))hook_entry_154, (void (*)(void))hook_entry_155, (void (*)(void))hook_entry_156, (void (*)(void))hook_entry_157, (void (*)(void))hook_entry_158, (void (*)(void))hook_entry_159, (void (*)(void))hook_entry_160, (void (*)(void))hook_entry_161, (void (*)(void))hook_entry_162, (void (*)(void))hook_entry_163, (void (*)(void))hook_entry_164, (void (*)(void))hook_entry_165, (void (*)(void))hook_entry_166, (void (*)(void))hook_entry_167, (void (*)(void))hook_entry_168, (void (*)(void))hook_entry_169, (void (*)(void))hook_entry_170, (void (*)(void))hook_entry_171, (void (*)(void))hook_entry_172, (void (*)(void))hook_entry_173, (void (*)(void))hook_entry_174, (void (*)(void))hook_entry_175, (void (*)(void))hook_entry_176, (void (*)(void))hook_entry_177, (void (*)(void))hook_entry_178, (void (*)(void))hook_entry_179, (void (*)(void))hook_entry_180, (void (*)(void))hook_entry_181, (void (*)(void))hook_entry_182, (void (*)(void))hook_entry_183, (void (*)(void))hook_entry_184, (void (*)(void))hook_entry_185, (void (*)(void))hook_entry_186, (void (*)(void))hook_entry_187, (void (*)(void))hook_entry_188, (void (*)(void))hook_entry_189, (void (*)(void))hook_entry_190, (void (*)(void))hook_entry_191, (void (*)(void))hook_entry_192, (void (*)(void))hook_entry_193, (void (*)(void))hook_entry_194, (void (*)(void))hook_entry_195, (void (*)(void))hook_entry_196, (void (*)(void))hook_entry_197, (void (*)(void))hook_entry_198, (void (*)(void))hook_entry_199, (void (*)(void))hook_entry_200, (void (*)(void))hook_entry_201, (void (*)(void))hook_entry_202, (void (*)(void))hook_entry_203, (void (*)(void))hook_entry_204, (void (*)(void))hook_entry_205, (void (*)(void))hook_entry_206, (void (*)(void))hook_entry_207, (void (*)(void))hook_entry_208, (void (*)(void))hook_entry_209, (void (*)(void))hook_entry_210, (void (*)(void))hook_entry_211, (void (*)(void))hook_entry_212, (void (*)(void))hook_entry_213, (void (*)(void))hook_entry_214, (void (*)(void))hook_entry_215, (void (*)(void))hook_entry_216, (void (*)(void))hook_entry_217, (void (*)(void))hook_entry_218, (void (*)(void))hook_entry_219, (void (*)(void))hook_entry_220, (void (*)(void))hook_entry_221, (void (*)(void))hook_entry_222, (void (*)(void))hook_entry_223, (void (*)(void))hook_entry_224, (void (*)(void))hook_entry_225, (void (*)(void))hook_entry_226, (void (*)(void))hook_entry_227, (void (*)(void))hook_entry_228, (void (*)(void))hook_entry_229, (void (*)(void))hook_entry_230, (void (*)(void))hook_entry_231, (void (*)(void))hook_entry_232, (void (*)(void))hook_entry_233, (void (*)(void))hook_entry_234, (void (*)(void))hook_entry_235, (void (*)(void))hook_entry_236, (void (*)(void))hook_entry_237, (void (*)(void))hook_entry_238, (void (*)(void))hook_entry_239, (void (*)(void))hook_entry_240, (void (*)(void))hook_entry_241, (void (*)(void))hook_entry_242, (void (*)(void))hook_entry_243, (void (*)(void))hook_entry_244, (void (*)(void))hook_entry_245, (void (*)(void))hook_entry_246, (void (*)(void))hook_entry_247, (void (*)(void))hook_entry_248, (void (*)(void))hook_entry_249, (void (*)(void))hook_entry_250, (void (*)(void))hook_entry_251, (void (*)(void))hook_entry_252, (void (*)(void))hook_entry_253, (void (*)(void))hook_entry_254, (void (*)(void))hook_entry_255 };